Re: Problem using dm-crypt with geode LX800 AES-Engine
From: Markus Huehnerbein <hidden>
Date: 2007-08-31 12:40:51
Herbert Xu wrote:
Markus Huehnerbein [off-list ref] wrote:quoted
I thought that the problem is maybe related with the use of LUKS / the Master-Key created by the PBKDF2, so I tried cryptsetup without LUKS as follows (with the "geode_aes" module loaded): cryptsetup -y -c aes -h md5 -s 128 create devdmcrypt /dev/hda2 -No errors, neither in syslog nor in the output -Checking the output of "dmsetup ls": devdmcrypt (254, 0) -Creating ext2 filesystem mkfs.ext2 /dev/mapper/devdmcrypt -Trying to mount /dev/mapper/devdmcrypt fails with "wrong fs type..." and syslog error: "VFS: Can't find an ext2 filesystem on dev dm-0"Sounds like geode_aes is just broken. Can you please check if tcrypt with mode=10 and mode=200 work or not with the geode_aes driver?
Below are the syslog entries generated by modprobe tcrypt mode=10 and modprobe tcrypt mode=200 but I'm not sure if the geoade_aes module is used for testing - shouldn't there be something with "...geode..." in the syslog output? Just to ensure the module is loaded: grep geode /proc/modules geode_aes 4676 0 - Live 0xcf259000 crypto_algapi 9920 6 geode_aes,lrw,ecb,aes,cbc,cryptomgr, Live 0xcf223000 blkcipher 4772 4 geode_aes,lrw,ecb,cbc, Live 0xcf1ea000 --------------tcrypt mode=10--------------------> Aug 31 14:15:58 yellowbox kernel: Aug 31 14:15:58 yellowbox kernel: testing ecb(aes) encryption Aug 31 14:15:58 yellowbox kernel: test 1 (128 bit key): Aug 31 14:15:58 yellowbox kernel: 69c4e0d86a7b0430d8cdb78070b4c55a Aug 31 14:15:58 yellowbox kernel: pass Aug 31 14:15:58 yellowbox kernel: test 2 (192 bit key): Aug 31 14:15:59 yellowbox kernel: setkey() failed flags=200000 Aug 31 14:15:59 yellowbox kernel: Aug 31 14:15:59 yellowbox kernel: testing ecb(aes) decryption Aug 31 14:15:59 yellowbox kernel: test 1 (128 bit key): Aug 31 14:15:59 yellowbox kernel: 00112233445566778899aabbccddeeff Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: test 2 (192 bit key): Aug 31 14:15:59 yellowbox kernel: setkey() failed flags=200000 Aug 31 14:15:59 yellowbox kernel: Aug 31 14:15:59 yellowbox kernel: testing cbc(aes) encryption Aug 31 14:15:59 yellowbox kernel: test 1 (128 bit key): Aug 31 14:15:59 yellowbox kernel: e353779c1079aeb82708942dbe77181a Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: test 2 (128 bit key): Aug 31 14:15:59 yellowbox kernel: d296cd94c2cccf8a3a863028b5e1dc0a7586602d253cfff91b8266bea6d61ab1 Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: Aug 31 14:15:59 yellowbox kernel: testing cbc(aes) encryption across pages (chunking) Aug 31 14:15:59 yellowbox kernel: Aug 31 14:15:59 yellowbox kernel: testing cbc(aes) decryption Aug 31 14:15:59 yellowbox kernel: test 1 (128 bit key): Aug 31 14:15:59 yellowbox kernel: 53696e676c6520626c6f636b206d7367 Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: test 2 (128 bit key): Aug 31 14:15:59 yellowbox kernel: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: Aug 31 14:15:59 yellowbox kernel: testing cbc(aes) decryption across pages (chunking) Aug 31 14:15:59 yellowbox kernel: Aug 31 14:15:59 yellowbox kernel: testing lrw(aes) encryption Aug 31 14:15:59 yellowbox kernel: test 1 (256 bit key): Aug 31 14:15:59 yellowbox kernel: f1b273cd65a3df5fe95d489254634eb8 Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: test 2 (256 bit key): Aug 31 14:15:59 yellowbox kernel: 00c82bae95bbcde5274f0769b260e136 Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: test 3 (256 bit key): Aug 31 14:15:59 yellowbox kernel: 76322183ed8ff182f9596203690e5e01 Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: test 4 (320 bit key): Aug 31 14:15:59 yellowbox kernel: setkey() failed flags=200000 Aug 31 14:15:59 yellowbox kernel: Aug 31 14:15:59 yellowbox kernel: testing lrw(aes) decryption Aug 31 14:15:59 yellowbox kernel: test 1 (256 bit key): Aug 31 14:15:59 yellowbox kernel: 30313233343536373839414243444546 Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: test 2 (256 bit key): Aug 31 14:15:59 yellowbox kernel: 30313233343536373839414243444546 Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: test 3 (256 bit key): Aug 31 14:15:59 yellowbox kernel: 30313233343536373839414243444546 Aug 31 14:15:59 yellowbox kernel: pass Aug 31 14:15:59 yellowbox kernel: test 4 (320 bit key): Aug 31 14:15:59 yellowbox kernel: setkey() failed flags=200000 --------------tcrypt mode=200--------------------> testing speed of ecb(aes) encryption test 0 (128 bit key, 16 byte blocks): 1 operation in 1337 cycles (16 bytes) test 1 (128 bit key, 64 byte blocks): 1 operation in 1746 cycles (64 bytes) test 2 (128 bit key, 256 byte blocks): 1 operation in 3334 cycles (256 bytes) test 3 (128 bit key, 1024 byte blocks): 1 operation in 9652 cycles (1024 bytes) test 4 (128 bit key, 8192 byte blocks): 1 operation in 71057 cycles (8192 bytes) test 5 (192 bit key, 16 byte blocks): setkey() failed flags=200000 testing speed of ecb(aes) decryption test 0 (128 bit key, 16 byte blocks): 1 operation in 1323 cycles (16 bytes) test 1 (128 bit key, 64 byte blocks): 1 operation in 1740 cycles (64 bytes) test 2 (128 bit key, 256 byte blocks): 1 operation in 3309 cycles (256 bytes) test 3 (128 bit key, 1024 byte blocks): 1 operation in 9700 cycles (1024 bytes) test 4 (128 bit key, 8192 byte blocks): 1 operation in 71029 cycles (8192 bytes) test 5 (192 bit key, 16 byte blocks): setkey() failed flags=200000 testing speed of cbc(aes) encryption test 0 (128 bit key, 16 byte blocks): 1 operation in 1675 cycles (16 bytes) test 1 (128 bit key, 64 byte blocks): 1 operation in 2088 cycles (64 bytes) test 2 (128 bit key, 256 byte blocks): 1 operation in 3652 cycles (256 bytes) test 3 (128 bit key, 1024 byte blocks): 1 operation in 10010 cycles (1024 bytes) test 4 (128 bit key, 8192 byte blocks): 1 operation in 72083 cycles (8192 bytes) test 5 (192 bit key, 16 byte blocks): setkey() failed flags=200000 testing speed of cbc(aes) decryption test 0 (128 bit key, 16 byte blocks): 1 operation in 1705 cycles (16 bytes) test 1 (128 bit key, 64 byte blocks): 1 operation in 2127 cycles (64 bytes) test 2 (128 bit key, 256 byte blocks): 1 operation in 3689 cycles (256 bytes) test 3 (128 bit key, 1024 byte blocks): 1 operation in 10051 cycles (1024 bytes) test 4 (128 bit key, 8192 byte blocks): 1 operation in 72185 cycles (8192 bytes) test 5 (192 bit key, 16 byte blocks): setkey() failed flags=200000 testing speed of lrw(aes) encryption test 0 (256 bit key, 16 byte blocks): 1 operation in 2335 cycles (16 bytes) test 1 (256 bit key, 64 byte blocks): 1 operation in 4767 cycles (64 bytes) test 2 (256 bit key, 256 byte blocks): 1 operation in 14738 cycles (256 bytes) test 3 (256 bit key, 1024 byte blocks): 1 operation in 54381 cycles (1024 bytes) test 4 (256 bit key, 8192 byte blocks): 1 operation in 426181 cycles (8192 bytes) test 5 (320 bit key, 16 byte blocks): setkey() failed flags=200000 testing speed of lrw(aes) decryption test 0 (256 bit key, 16 byte blocks): 1 operation in 2315 cycles (16 bytes) test 1 (256 bit key, 64 byte blocks): 1 operation in 4768 cycles (64 bytes) test 2 (256 bit key, 256 byte blocks): 1 operation in 14650 cycles (256 bytes) test 3 (256 bit key, 1024 byte blocks): 1 operation in 54275 cycles (1024 bytes) test 4 (256 bit key, 8192 byte blocks): 1 operation in 425134 cycles (8192 bytes) test 5 (320 bit key, 16 byte blocks): setkey() failed flags=200000
Thanks,
Thanks, Markus