From: Markus Huehnerbein Subject: Re: Problem using dm-crypt with geode LX800 AES-Engine Date: Fri, 31 Aug 2007 14:40:48 +0200 Message-ID: <46D80C50.3090402@gmx.ch> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: linux-crypto@ml.breakpoint.cc, linux-crypto@vger.kernel.org To: Herbert Xu Return-path: Received: from mail.gmx.net ([213.165.64.20]:57131 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S932558AbXHaMkv (ORCPT ); Fri, 31 Aug 2007 08:40:51 -0400 In-Reply-To: Sender: linux-crypto-owner@vger.kernel.org List-Id: linux-crypto.vger.kernel.org Herbert Xu wrote: > Markus Huehnerbein wrote: >> 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