Provided by: loop-aes-utils_2.12r-1_i386
losetup - set up and control loop devices
losetup [ -e encryption ] [options] loop_device file
losetup -F [options] loop_device [file]
losetup [ -d ] loop_device
losetup is used to associate loop devices with regular files or block
devices, to detach loop devices and to query the status of a loop
device. If only the loop_device argument is given, the status of the
corresponding loop device is shown.
-a Show status of all loop devices.
Runs hashed password through itercountk thousand iterations of
AES-256 before using it for loop encryption. This consumes lots
of CPU cycles at loop setup/mount time but not thereafter. In
combination with password seed this slows down dictionary
attacks. Iteration is not done in multi-key mode.
-d Detach the file or device associated with the specified loop
Enable data encryption. Following encryption types are
NONE Use no encryption (default).
XOR Use a simple XOR encryption.
Use 128 bit AES encryption. Password is hashed with
SHA-256 by default.
AES192 Use 192 bit AES encryption. Password is hashed with
SHA-384 by default.
AES256 Use 256 bit AES encryption. Password is hashed with
SHA-512 by default.
twofish128 twofish160 twofish192 twofish256
blowfish128 blowfish160 blowfish192 blowfish256
serpent128 serpent192 serpent256 mars128 mars192
mars256 rc6-128 rc6-192 rc6-256 tripleDES
These encryption types are available if they are enabled
in kernel configuration or corresponding modules have
been loaded to kernel.
-F Reads and uses mount options from /etc/fstab that match
specified loop device, including offset= sizelimit= encryption=
pseed= phash= loinit= gpgkey= gpghome= itercountk= and looped to
device/file name. loop= option in /etc/fstab must match
specified loop device name. Command line options take precedence
in case of conflict.
Set gpg home directory to gpghome, so that gpg uses
public/private keys on gpghome directory. This is only used when
gpgkey file needs to be decrypted using public/private keys. If
gpgkey file is encrypted with symmetric cipher only,
public/private keys are not required and this option has no
Uses phash function to hash password. Available hash functions
are sha256, sha384, sha512 and rmd160. unhashed1, unhashed2 and
unhashed3 functions also exist for compatibility with some
Hash function random does not ask for password but sets up
random keys and attempts to put loop to multi-key mode. When
random/1777 hash type is used as mount option for mount program,
mount program will create new file system on the loop device and
construct initial permissions of file system root directory from
octal digits that follow the slash character.
WARNING! DO NOT USE RANDOM HASH TYPE ON PARTITION WITH EXISTING
IMPORTANT DATA ON IT. RANDOM HASH TYPE WILL DESTROY YOUR DATA.
Passes a numeric value of loinit as a parameter to cipher
transfer function. Cipher transfer functions are free to
interpret value as they want.
Password is piped to gpg so that gpg can decrypt file gpgkey
which contains the real keys that are used to encrypt loop
device. If decryption requires public/private keys and gpghome
is not specified, all users use their own gpg public/private
keys to decrypt gpgkey. Decrypted gpgkey should contain 1 or 64
or 65 keys, each key at least 20 characters and separated by
newline. If decrypted gpgkey contains 64 or 65 keys, then loop
device is put to multi-key mode. In multi-key mode first key is
used for first sector, second key for second sector, and so on.
65th key, if present, is used as additional input to MD5 IV
The data start is moved offset bytes into the specified file or
device. Normally offset is included in IV (initialization
vector) computations. If offset is prefixed with @ character,
then offset is not included in IV computations. @ prefix
functionality may not be supported on some older kernels and/or
Read the passphrase from file descriptor passwdfd instead of the
terminal. If -K option is not being used (no gpg key file), then
losetup attempts to read 65 keys from passwdfd, each key at
least 20 characters and separated by newline. If losetup
successfully reads 64 or 65 keys, then loop device is put to
multi-key mode. If losetup encounters end-of-file before 64 keys
are read, then only first key is used in single-key mode.
-r Read-only mode.
Size of loop device is limited to sizelimit bytes. If
unspecified or set to zero, loop device size is set to maximum
available (file size minus offset). This option may not be
supported on some older kernels and/or loop drivers.
Sets encryption password seed pseed which is appended to user
supplied password before hashing. Using different seeds for
different partitions makes dictionary attacks slower but does
not prevent them if user supplied password is guessable. Seed is
not used in multi-key mode.
-T Asks password twice.
-v Verbose mode.
losetup returns 0 on success, nonzero on failure. When losetup displays
the status of a loop device, it returns 1 if the device is not
configured and 2 if an error occurred which prevented losetup from
determining the status of the device.
/dev/loop0,/dev/loop1,... loop devices (major=7)
The following commands can be used as an example of using the loop
dd if=/dev/zero of=/file bs=1k count=500
head -c 2925 /dev/random | uuencode -m - | head -n 66 \
| tail -n 65 | gpg --symmetric -a >/etc/fskey9.gpg
losetup -e AES128 -K /etc/fskey9.gpg /dev/loop0 /file
mkfs -t ext2 /dev/loop0
mount -t ext2 /dev/loop0 /mnt
losetup -d /dev/loop0
XOR encryption is terribly weak.
Original version: Theodore Ts’o <email@example.com>
AES support: Jari Ruusu