Linux 2.6.38-rc1
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / Documentation / device-mapper / dm-crypt.txt
blob59293ac4a5d0382abf0cd9c3afb0fef718cccf73
1 dm-crypt
2 =========
4 Device-Mapper's "crypt" target provides transparent encryption of block devices
5 using the kernel crypto API.
7 Parameters: <cipher> <key> <iv_offset> <device path> <offset>
9 <cipher>
10     Encryption cipher and an optional IV generation mode.
11     (In format cipher[:keycount]-chainmode-ivopts:ivmode).
12     Examples:
13        des
14        aes-cbc-essiv:sha256
15        twofish-ecb
17     /proc/crypto contains supported crypto modes
19 <key>
20     Key used for encryption. It is encoded as a hexadecimal number.
21     You can only use key sizes that are valid for the selected cipher.
23 <keycount>
24     Multi-key compatibility mode. You can define <keycount> keys and
25     then sectors are encrypted according to their offsets (sector 0 uses key0;
26     sector 1 uses key1 etc.).  <keycount> must be a power of two.
28 <iv_offset>
29     The IV offset is a sector count that is added to the sector number
30     before creating the IV.
32 <device path>
33     This is the device that is going to be used as backend and contains the
34     encrypted data.  You can specify it as a path like /dev/xxx or a device
35     number <major>:<minor>.
37 <offset>
38     Starting sector within the device where the encrypted data begins.
40 Example scripts
41 ===============
42 LUKS (Linux Unified Key Setup) is now the preferred way to set up disk
43 encryption with dm-crypt using the 'cryptsetup' utility, see
44 http://clemens.endorphin.org/cryptography
47 #!/bin/sh
48 # Create a crypt device using dmsetup
49 dmsetup create crypt1 --table "0 `blockdev --getsize $1` crypt aes-cbc-essiv:sha256 babebabebabebabebabebabebabebabe 0 $1 0"
53 #!/bin/sh
54 # Create a crypt device using cryptsetup and LUKS header with default cipher
55 cryptsetup luksFormat $1
56 cryptsetup luksOpen $1 crypt1