Using dmsetup directly instead of cryptsetup
Usually I run command
cryptsetup -d /path/to/key -c aes-cbc-essiv:sha256 -s 256 create hdd2 /dev/sdc
and /dev/mapper/hdd2 is created.
I tried to follow the example given on home page
http://www.saout.de/misc/dm-crypt/
echo 0 <sector count> crypt <sector format> <key> <IV offset> <real device> <sector offset> | dmsetup create name
where <key> is a hexadecimal representation of the binary key. As a result, /dev/mapper/name should be created.
To create /dev/mapper/hdd2 corresponding to /dev/sdc I run the commands:
echo 0 $(blockdev --getsz /dev/sdc) crypt aes-cbc-essiv:sha256 "$(cat /path/to/key.hex)" 0 /dev/sdc 0 | dmsetup create hdd2
Here '/path/to/key.hex' is the hexadecimal representation of binary '/path/to/key'. I converted 'key' to 'key.hex' with the help of hexdump. Size of 'key.hex' file (65B) is twice as large as binary 'key' (32B) because each binary symbol is determined by two hexadecimal numbers.
However this /dev/mapper/hdd2 can not be mounted. While /dev/mapper/hdd2 created with cryptsetup is mounted. So straightforward dmsetup usage and cryptsetup create different /dev/mapper/hdd2, though key is the same.
The question is how to use dmsetup straightforward so as it would give the same encrypted device as cryptsetup does.
Quoted 9 lines · On 05/21/2011 08:40 PM, [email protected] wrote:
Usually I run command
cryptsetup -d /path/to/key -c aes-cbc-essiv:sha256 -s 256 create hdd2
/dev/sdcand
/dev/mapper/hdd2is created.I tried to follow the example given on home page
http://www.saout.de/misc/dm-crypt/
That page is pretty obsolete today, http://code.google.com/p/cryptsetup/
is home page now.
Why do you want to use dmsetup?
Anyway,
cryptsetup -d /key -c aes-cbc-essiv:sha256 -s 256 create x /dev/sdb
is equivalent to
echo 0 $(blockdev --getsz /dev/sdb) crypt aes-cbc-essiv:sha256 $(xxd -p -c 32 </key) 0 /dev/sdb 0 | dmsetup create x
(xxd is helper program in vim package)
I guess the hex representation is just wrong in your case, hexdump produces different order of bytes.
Use cryptsetup a check with "dmsetup table --showkeys".
Milan