* [dm-crypt] Securely erase LUKS header @ 2013-03-10 13:19 hephey 2013-03-10 14:48 ` Milan Broz 2013-03-10 19:23 ` Arno Wagner 0 siblings, 2 replies; 13+ messages in thread From: hephey @ 2013-03-10 13:19 UTC (permalink / raw) To: dm-crypt I'm having trouble calculating the amount of data I need to erase in the header. The af-stripes appears to be hardcoded to 4000, according to the specification [1]. First I made an encrypted loop-device, using default options: cryptsetup luksFormat /dev/loop0 I then made a header backup, using cryptsetup luksHeaderBackup --header-backup-file /tmp/header.img /dev/loop0 The size of this backup (/tmp/header.img) is exactly 1.052.672 bytes, which fits with the number given in the FAQ (see 5.4) [2]. I'm asumming that cryptsetup's calculation is correct. In the FAQ it's also stated that to wipe the header, I need to use to formula: header size = (keyslots x stripes x keysize) + offset bytes I find the relevant values by issuing: cryptsetup luksDump /dev/loop0 The output of this command is on a pastebin here: http://pastebin.com/Nw6NJaQc It seems that my equation would be header size = (1 keyslot * 4000 stripes * 256 bits) + 4096 = 1.028.096 bytes This size is smaller than the size given in the FAQ and the size of my header backup - How come? However, if I set the amount of stripes to 4096 in the formula, I get the correct size: header size = (1 keyslot * 4096 stripes * 256 bits) + 4096 = 1.052.672 bytes What am I doing wrong here? Is luksDump showing the wrong amount of stripes? I would like to make a dynamic script that could quickly determin the correct values for the formula using luksDump and wipe whatever luks-encrypted device that is given as an argument. Please tell if you need more information. ------------------ REFERENCES 1: http://wiki.cryptsetup.googlecode.com/git/LUKS-standard/on-disk-format.pdf 2: https://code.google.com/p/cryptsetup/wiki/FrequentlyAskedQuestions#5._Security_Aspects ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] Securely erase LUKS header 2013-03-10 13:19 [dm-crypt] Securely erase LUKS header hephey @ 2013-03-10 14:48 ` Milan Broz 2013-03-10 19:23 ` Arno Wagner 1 sibling, 0 replies; 13+ messages in thread From: Milan Broz @ 2013-03-10 14:48 UTC (permalink / raw) To: hephey; +Cc: dm-crypt On 10.3.2013 14:19, hephey@lavabit.com wrote: > I'm having trouble calculating the amount of data I need to erase in the > header. > > The af-stripes appears to be hardcoded to 4000, according to the > specification [1]. > > First I made an encrypted loop-device, using default options: > > cryptsetup luksFormat /dev/loop0 > > I then made a header backup, using > > cryptsetup luksHeaderBackup --header-backup-file /tmp/header.img /dev/loop0 > > The size of this backup (/tmp/header.img) is exactly 1.052.672 bytes, > which fits with the number given in the FAQ (see 5.4) [2]. I'm asumming > that cryptsetup's calculation is correct. luksHeaderBackup in older versions saved header including alignment area (not used area between keyslots and data offset start). I later changed that to save only real used data, so the backup is smaller. (Check the latest version, I think you get slightly smaller backup file.) FYI - the layout is basically (* == alignment area, unused) |LUKShdr|*|slot1|*|slot2|*| ... |slot8|*|CIPHERTEXT DATA ^ data payload offset (luksDump) ^1 ^2 ... slots offsets (see luksDump) Keyslot oofsets are always aligned to multiple of 4096 bytes, data area alignment depends paramaters, ususally it is aligned to multiple of 1MiB. So numbers are correct. (From above, the simplest method to erase it is to use data offset and wipe everyting before that). > However, if I set the amount of stripes to 4096 in the formula, I get the Stripe count is always hardcoded to 4000 for LUKS1 format. You just see bigger backup file because of data alignment mentioned above. Milan ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] Securely erase LUKS header 2013-03-10 13:19 [dm-crypt] Securely erase LUKS header hephey 2013-03-10 14:48 ` Milan Broz @ 2013-03-10 19:23 ` Arno Wagner 2013-03-13 21:45 ` [dm-crypt] hardware encryption lxnf98mm 1 sibling, 1 reply; 13+ messages in thread From: Arno Wagner @ 2013-03-10 19:23 UTC (permalink / raw) To: dm-crypt On Sun, Mar 10, 2013 at 09:19:32AM -0400, hephey@lavabit.com wrote: > I'm having trouble calculating the amount of data I need to erase in the > header. > > The af-stripes appears to be hardcoded to 4000, according to the > specification [1]. > > First I made an encrypted loop-device, using default options: > > cryptsetup luksFormat /dev/loop0 > > I then made a header backup, using > > cryptsetup luksHeaderBackup --header-backup-file /tmp/header.img /dev/loop0 > > The size of this backup (/tmp/header.img) is exactly 1.052.672 bytes, > which fits with the number given in the FAQ (see 5.4) [2]. I'm asumming > that cryptsetup's calculation is correct. > > In the FAQ it's also stated that to wipe the header, I need to use to > formula: > > header size = (keyslots x stripes x keysize) + offset bytes In 5.4, I state just to wipe the first 10MB to be safe. Do I have the formula above anywthere as explicitely recommended for wipes? Is so, plese tell me where, so I can fix it. Arno -- Arno Wagner, Dr. sc. techn., Dipl. Inform., Email: arno@wagner.name GnuPG: ID: CB5D9718 FP: 12D6 C03B 1B30 33BB 13CF B774 E35C 5FA1 CB5D 9718 ---- One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision. -- Bertrand Russell ^ permalink raw reply [flat|nested] 13+ messages in thread
* [dm-crypt] hardware encryption 2013-03-10 19:23 ` Arno Wagner @ 2013-03-13 21:45 ` lxnf98mm 2013-03-13 22:01 ` .. ink .. 2013-03-14 16:20 ` Thomas Bächler 0 siblings, 2 replies; 13+ messages in thread From: lxnf98mm @ 2013-03-13 21:45 UTC (permalink / raw) To: dm-crypt Can dm-crypt make use of the encryption capabilities of the cpu I am probably not asking the right question but gotta start somewhere Richard ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] hardware encryption 2013-03-13 21:45 ` [dm-crypt] hardware encryption lxnf98mm @ 2013-03-13 22:01 ` .. ink .. 2013-03-14 11:12 ` lxnf98mm 2013-03-14 16:20 ` Thomas Bächler 1 sibling, 1 reply; 13+ messages in thread From: .. ink .. @ 2013-03-13 22:01 UTC (permalink / raw) To: lxnf98mm, dm-crypt [-- Attachment #1: Type: text/plain, Size: 478 bytes --] On Wed, Mar 13, 2013 at 5:45 PM, <lxnf98mm@gmail.com> wrote: > Can dm-crypt make use of the encryption capabilities of the cpu > I am probably not asking the right question but gotta start somewhere > > The answer to your question according the link given next is "yes" : http://www.saout.de/pipermail/dm-crypt/2011-October/002092.html best place to start with cryptsetup is to go through its FAQ located at: http://code.google.com/p/cryptsetup/wiki/FrequentlyAskedQuestions [-- Attachment #2: Type: text/html, Size: 975 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] hardware encryption 2013-03-13 22:01 ` .. ink .. @ 2013-03-14 11:12 ` lxnf98mm 2013-03-14 12:16 ` Michael Stapelberg 2013-03-14 13:14 ` Matthias Schniedermeyer 0 siblings, 2 replies; 13+ messages in thread From: lxnf98mm @ 2013-03-14 11:12 UTC (permalink / raw) To: dm-crypt On Wed, 13 Mar 2013, .. ink .. wrote: > On Wed, Mar 13, 2013 at 5:45 PM, <lxnf98mm@gmail.com> wrote: > >> Can dm-crypt make use of the encryption capabilities of the cpu >> I am probably not asking the right question but gotta start somewhere >> >> > The answer to your question according the link given next is "yes" : > http://www.saout.de/pipermail/dm-crypt/2011-October/002092.html > > best place to start with cryptsetup is to go through its FAQ located at: > http://code.google.com/p/cryptsetup/wiki/FrequentlyAskedQuestions > This is probably not the place to ask but how about a Marvell 88F6281 www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf I tried openssl speed test and it out performs a 3.4Ghz Intel Right now running dm-crypt on the Marvell uses about 50% cpu Richard ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] hardware encryption 2013-03-14 11:12 ` lxnf98mm @ 2013-03-14 12:16 ` Michael Stapelberg 2013-03-15 13:22 ` lxnf98mm 2013-03-14 13:14 ` Matthias Schniedermeyer 1 sibling, 1 reply; 13+ messages in thread From: Michael Stapelberg @ 2013-03-14 12:16 UTC (permalink / raw) To: lxnf98mm, dm-crypt Hi Richard, lxnf98mm@gmail.com writes: > This is probably not the place to ask but how about a Marvell 88F6281 > www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf > I tried openssl speed test and it out performs a 3.4Ghz Intel Right > now running dm-crypt on the Marvell uses about 50% cpu I am using that SoC in my qnap TS-119P II. Can you please provide the precise results you have? In my tests, the machine really did not outperform my Intel box :). -- Best regards, Michael ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] hardware encryption 2013-03-14 12:16 ` Michael Stapelberg @ 2013-03-15 13:22 ` lxnf98mm 0 siblings, 0 replies; 13+ messages in thread From: lxnf98mm @ 2013-03-15 13:22 UTC (permalink / raw) To: dm-crypt On Thu, 14 Mar 2013, Michael Stapelberg wrote: > Hi Richard, > > lxnf98mm@gmail.com writes: >> This is probably not the place to ask but how about a Marvell 88F6281 >> www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf >> I tried openssl speed test and it out performs a 3.4Ghz Intel Right >> now running dm-crypt on the Marvell uses about 50% cpu > I am using that SoC in my qnap TS-119P II. Can you please provide the > precise results you have? In my tests, the machine really did not > outperform my Intel box :). > > Been doing research and here is my take I have a module mv_cesa that is the marvell crypto module Offloading for dm_crypt is working If you want offloading for ssl use cryptodev and recompile openssl http://cryptodev-linux.org/ http://ortizaudio.blogspot.com/2011/10/using-dreamplugs-crypto-chip.html http://forum.doozan.com/read.php?2,9619,9924,quote=1 http://www.newit.co.uk/forum/index.php/topic,2030.0.html Before cryptodev rray@nsa320:~$ openssl speed -evp aes-128-cbc Doing aes-128-cbc for 3s on 16 size blocks: 1613415 aes-128-cbc's in 2.97s Doing aes-128-cbc for 3s on 64 size blocks: 488840 aes-128-cbc's in 2.93s Doing aes-128-cbc for 3s on 256 size blocks: 129060 aes-128-cbc's in 2.93s Doing aes-128-cbc for 3s on 1024 size blocks: 33071 aes-128-cbc's in 2.96s Doing aes-128-cbc for 3s on 8192 size blocks: 4193 aes-128-cbc's in 2.99s OpenSSL 1.0.1c 10 May 2012 built on: Wed Jun 6 17:45:51 UTC 2012 options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr) compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 8691.80k 10677.73k 11276.23k 11440.78k 11487.98k With cryptodev rray@nsa320:~$ openssl speed -evp aes-128-cbc Doing aes-128-cbc for 3s on 16 size blocks: 89917 aes-128-cbc's in 0.06s Doing aes-128-cbc for 3s on 64 size blocks: 86802 aes-128-cbc's in 0.15s Doing aes-128-cbc for 3s on 256 size blocks: 60712 aes-128-cbc's in 0.10s Doing aes-128-cbc for 3s on 1024 size blocks: 40407 aes-128-cbc's in 0.08s Doing aes-128-cbc for 3s on 8192 size blocks: 8190 aes-128-cbc's in 0.01s OpenSSL 1.0.1e 11 Feb 2013 built on: Thu Mar 14 15:12:52 CDT 2013 options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr) compiler: gcc -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 23977.87k 37035.52k 155422.72k 517209.60k 6709248.00k Richard ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] hardware encryption 2013-03-14 11:12 ` lxnf98mm 2013-03-14 12:16 ` Michael Stapelberg @ 2013-03-14 13:14 ` Matthias Schniedermeyer 2013-03-14 20:50 ` Yves-Alexis Perez 1 sibling, 1 reply; 13+ messages in thread From: Matthias Schniedermeyer @ 2013-03-14 13:14 UTC (permalink / raw) To: lxnf98mm; +Cc: dm-crypt On 14.03.2013 06:12, lxnf98mm@gmail.com wrote: > On Wed, 13 Mar 2013, .. ink .. wrote: > > >On Wed, Mar 13, 2013 at 5:45 PM, <lxnf98mm@gmail.com> wrote: > > > >>Can dm-crypt make use of the encryption capabilities of the cpu > >>I am probably not asking the right question but gotta start somewhere > >> > >> > >The answer to your question according the link given next is "yes" : > >http://www.saout.de/pipermail/dm-crypt/2011-October/002092.html > > > >best place to start with cryptsetup is to go through its FAQ located at: > >http://code.google.com/p/cryptsetup/wiki/FrequentlyAskedQuestions > > > > This is probably not the place to ask but how about a Marvell 88F6281 > www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf > I tried openssl speed test and it out performs a 3.4Ghz Intel > Right now running dm-crypt on the Marvell uses about 50% cpu Given that openssl doesn't support AES-NI i'm not surprized. Last time i looked AES-NI support in openssl was "in Limbo" and it may still take quite some time(years) until there is a release which officially supports AES-NI. This is despite first patches beeing made available before there was silicon, so openssl is quite a few years behind. I'm using an unofficial "something" (Can't remember what it is excatly ) so that openssl can utelize AES-NI which in turn enables AES-NI usage for SSH, so i can use it for scp or rsync over SSH. The difference is quite noticable, altough in LANs i just use ARCFOUR. No patching necesarry to saturate Gigabit. :-) When i tested it some time back over loopback both AES-128-CBC(*) (with AES-NI) and ARCFOUR peaked at about 400MB/s(IIRC), so no problem doing the 110MB/s needed to saturate Gigabit. *: AES-128-CTR doesn't appeared to either support AES-NI or get any performance benefit from AES-NI. -- Matthias ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] hardware encryption 2013-03-14 13:14 ` Matthias Schniedermeyer @ 2013-03-14 20:50 ` Yves-Alexis Perez 2013-03-14 20:59 ` Yves-Alexis Perez 2013-03-15 16:18 ` Matthias Schniedermeyer 0 siblings, 2 replies; 13+ messages in thread From: Yves-Alexis Perez @ 2013-03-14 20:50 UTC (permalink / raw) To: Matthias Schniedermeyer; +Cc: lxnf98mm, dm-crypt [-- Attachment #1: Type: text/plain, Size: 2623 bytes --] On jeu., 2013-03-14 at 14:14 +0100, Matthias Schniedermeyer wrote: > Given that openssl doesn't support AES-NI i'm not surprized. Where did you get that impression? > > Last time i looked AES-NI support in openssl was "in Limbo" and it > may > still take quite some time(years) until there is a release which > officially supports AES-NI. This is despite first patches beeing made > available before there was silicon, so openssl is quite a few years > behind. Actually, OpenSSL supports AES-NI since 1.0.1 (see http://www.openssl.org/news/changelog.html) > > I'm using an unofficial "something" (Can't remember what it is excatly > ) > so that openssl can utelize AES-NI which in turn enables AES-NI usage > for SSH, so i can use it for scp or rsync over SSH. > The difference is quite noticable, altough in LANs i just use > ARCFOUR. > No patching necesarry to saturate Gigabit. :-) > > When i tested it some time back over loopback both AES-128-CBC(*) > (with > AES-NI) and ARCFOUR peaked at about 400MB/s(IIRC), so no problem > doing > the 110MB/s needed to saturate Gigabit. It all really depends on block size. But on my (Core i7 L640) laptop, there's really no reason to use rc4 anymore. CBC is not the best example, aes-128-cbc is indeed accelerated by AES-NI instructions but you really go fast with a mode using PCLMULQDQD like XTS: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes rc4 255340.98k 469098.47k 599298.65k 658621.73k 679368.02k aes-128 cbc 85363.96k 91553.34k 93105.32k 93570.31k 93784.75k aes-128-xts 272573.48k 849359.06k 1540640.28k 1956586.50k 2111556.27k It's even stronger when you use authenticated ciphers like GCM if you compare it against enc+mac. You can't openssl speed on those but using 1k blocs: for cipher in aes-128-cbc-hmac-sha1 aes-128-gcm rc4-hmac-md5; do echo $cipher; dd if=/dev/zero bs=1k count=1M | openssl enc -${cipher} -pass pass:foo > /dev/null; done aes-128-cbc-hmac-sha1 1048576+0 records in 1048576+0 records out 1073741824 bytes (1,1 GB) copied, 3,27757 s, 328 MB/s aes-128-gcm 1048576+0 records in 1048576+0 records out 1073741824 bytes (1,1 GB) copied, 1,90992 s, 562 MB/s rc4-hmac-md5 1048576+0 records in 1048576+0 records out 1073741824 bytes (1,1 GB) copied, 3,40679 s, 315 MB/s It's a bit out of scope for this list, but that means using dm-crypt aes-xts-plain64 on an AES-NI CPU really makes sense. On those boxes it might be even faster to use aes-256-xts than aes-128-cbc. Regards, -- Yves-Alexis [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 490 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] hardware encryption 2013-03-14 20:50 ` Yves-Alexis Perez @ 2013-03-14 20:59 ` Yves-Alexis Perez 2013-03-15 16:18 ` Matthias Schniedermeyer 1 sibling, 0 replies; 13+ messages in thread From: Yves-Alexis Perez @ 2013-03-14 20:59 UTC (permalink / raw) To: Matthias Schniedermeyer; +Cc: lxnf98mm, dm-crypt [-- Attachment #1: Type: text/plain, Size: 843 bytes --] On jeu., 2013-03-14 at 21:50 +0100, Yves-Alexis Perez wrote: > type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 > bytes > rc4 255340.98k 469098.47k 599298.65k 658621.73k > 679368.02k > aes-128 cbc 85363.96k 91553.34k 93105.32k 93570.31k > 93784.75k > aes-128-xts 272573.48k 849359.06k 1540640.28k 1956586.50k > 2111556.27k And really openssl speed is a bad benchmark. -evp isn't always passed like it should: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes rc4 228707.92k 454028.37k 585298.60k 659777.58k 616865.85k aes-128-cbc 632020.45k 733300.57k 750031.70k 760410.41k 755897.69k aes-128-xts 257314.54k 806366.02k 1490648.92k 1946742.50k 2119215.79k Sorry for that. -- Yves-Alexis [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 490 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] hardware encryption 2013-03-14 20:50 ` Yves-Alexis Perez 2013-03-14 20:59 ` Yves-Alexis Perez @ 2013-03-15 16:18 ` Matthias Schniedermeyer 1 sibling, 0 replies; 13+ messages in thread From: Matthias Schniedermeyer @ 2013-03-15 16:18 UTC (permalink / raw) To: Yves-Alexis Perez; +Cc: lxnf98mm, dm-crypt On 14.03.2013 21:50, Yves-Alexis Perez wrote: > On jeu., 2013-03-14 at 14:14 +0100, Matthias Schniedermeyer wrote: > > Given that openssl doesn't support AES-NI i'm not surprized. > > Where did you get that impression? > > > > Last time i looked AES-NI support in openssl was "in Limbo" and it > > may > > still take quite some time(years) until there is a release which > > officially supports AES-NI. This is despite first patches beeing made > > available before there was silicon, so openssl is quite a few years > > behind. > > Actually, OpenSSL supports AES-NI since 1.0.1 (see > http://www.openssl.org/news/changelog.html) I stand corrected. I appears the last time i look was january 2012 which was about 2 month before 1.0.1. Which is still quite a few years late and only just before the 3rd generation of silicon (a.k.a. Ivy Bridge) was released. > > I'm using an unofficial "something" (Can't remember what it is excatly > > ) > > so that openssl can utelize AES-NI which in turn enables AES-NI usage > > for SSH, so i can use it for scp or rsync over SSH. > > The difference is quite noticable, altough in LANs i just use > > ARCFOUR. > > No patching necesarry to saturate Gigabit. :-) > > > > When i tested it some time back over loopback both AES-128-CBC(*) > > (with > > AES-NI) and ARCFOUR peaked at about 400MB/s(IIRC), so no problem > > doing > > the 110MB/s needed to saturate Gigabit. > > It all really depends on block size. But on my (Core i7 L640) laptop, > there's really no reason to use rc4 anymore. CBC is not the best > example, aes-128-cbc is indeed accelerated by AES-NI instructions but > you really go fast with a mode using PCLMULQDQD like XTS: Not for SSH. It's either CBC or CTR. Core i7 2600, openssl 1.0.1e: aes-128-cbc 664319.53k 725474.88k 734899.20k 739633.83k 741460.93k aes-128-ctr 435376.52k 1366581.94k 2590570.68k 3404566.09k 3712237.79k ctr benchmarks good, but SSH does something wrong, copying a 1GB file from tmpfs to tmpfs via loopback: scp -c aes128-cbc .... 100% 1024MB 256.0MB/s 00:04 scp -c aes128-ctr .... 100% 1024MB 78.8MB/s 00:13 That is the same speed as software AES, maybe it doesn't select the right engine or something like that. ssh -V OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013 > type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 > bytes > rc4 255340.98k 469098.47k 599298.65k 658621.73k > 679368.02k > aes-128 cbc 85363.96k 91553.34k 93105.32k 93570.31k > 93784.75k > aes-128-xts 272573.48k 849359.06k 1540640.28k 1956586.50k > 2111556.27k > > It's even stronger when you use authenticated ciphers like GCM if you > compare it against enc+mac. You can't openssl speed on those but using > 1k blocs: > > for cipher in aes-128-cbc-hmac-sha1 aes-128-gcm rc4-hmac-md5; do echo > $cipher; dd if=/dev/zero bs=1k count=1M | openssl enc -${cipher} -pass > pass:foo > /dev/null; done > aes-128-cbc-hmac-sha1 > 1048576+0 records in > 1048576+0 records out > 1073741824 bytes (1,1 GB) copied, 3,27757 s, 328 MB/s > aes-128-gcm > 1048576+0 records in > 1048576+0 records out > 1073741824 bytes (1,1 GB) copied, 1,90992 s, 562 MB/s > rc4-hmac-md5 > 1048576+0 records in > 1048576+0 records out > 1073741824 bytes (1,1 GB) copied, 3,40679 s, 315 MB/s > > It's a bit out of scope for this list, but that means using dm-crypt > aes-xts-plain64 on an AES-NI CPU really makes sense. On those boxes it > might be even faster to use aes-256-xts than aes-128-cbc. You would have to try it with cryptsetup and i can say XTS, on a Core i7 3770, peaks at over 1GB/s. I'd say that is plenty fast. :-) Highest number i personally achieved was decrypting an old loopaes DVD-image-file with aespipe (V1 format, which means: aes-128-CBC). It took about 3 seconds to decrypt the 4489 MB file (tmpfs to tmpfs) so nearly 1.5 GB/s. :-) -- Matthias ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dm-crypt] hardware encryption 2013-03-13 21:45 ` [dm-crypt] hardware encryption lxnf98mm 2013-03-13 22:01 ` .. ink .. @ 2013-03-14 16:20 ` Thomas Bächler 1 sibling, 0 replies; 13+ messages in thread From: Thomas Bächler @ 2013-03-14 16:20 UTC (permalink / raw) To: dm-crypt [-- Attachment #1: Type: text/plain, Size: 344 bytes --] Am 13.03.2013 22:45, schrieb lxnf98mm@gmail.com: > Can dm-crypt make use of the encryption capabilities of the cpu > I am probably not asking the right question but gotta start somewhere > > Richard In short, dm-crypt uses whatever the kernel's crypto API provides. For details on that, refer to the configuration of your kernel. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 901 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2013-03-15 16:18 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-03-10 13:19 [dm-crypt] Securely erase LUKS header hephey 2013-03-10 14:48 ` Milan Broz 2013-03-10 19:23 ` Arno Wagner 2013-03-13 21:45 ` [dm-crypt] hardware encryption lxnf98mm 2013-03-13 22:01 ` .. ink .. 2013-03-14 11:12 ` lxnf98mm 2013-03-14 12:16 ` Michael Stapelberg 2013-03-15 13:22 ` lxnf98mm 2013-03-14 13:14 ` Matthias Schniedermeyer 2013-03-14 20:50 ` Yves-Alexis Perez 2013-03-14 20:59 ` Yves-Alexis Perez 2013-03-15 16:18 ` Matthias Schniedermeyer 2013-03-14 16:20 ` Thomas Bächler
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.