Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Chciałbym zaszyfrować partycję narzędziem wbudowanym w instalator Debiana algorytmem AES. Przed chciałbym zobaczyć wydajność procesora w szyfrowaniu i deszyfrowaniu AESem. Jest jakieś narzędzie w repozytorium do takich pomiarów?
Offline
Masz w systemie:
http://lwn.net/Articles/269327/
Napisz tylko, jaki masz procek, jeśli Core-iX z trybem AES-NI, to nie powinno być problemu.
http://permalink.gmane.org/gmane.comp.encryption.openssl.devel/19942
Offline
$ openssl speed -engine padlock -evp aes-256-cbc invalid engine "padlock" 140702280033952:error:260B606D:engine routines:DYNAMIC_LOAD:init failed:eng_dyn.c:521: 140702280033952:error:2606A074:engine routines:ENGINE_by_id:no such engine:eng_list.c:417:id=padlock 140702280033952:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libpadlock.so): libpadlock.so: cannot open shared object file: No such file or directory 140702280033952:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244: 140702280033952:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450: Doing aes-256-cbc for 3s on 16 size blocks: 76395070 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 64 size blocks: 20114154 aes-256-cbc's in 2.99s Doing aes-256-cbc for 3s on 256 size blocks: 5088333 aes-256-cbc's in 2.99s Doing aes-256-cbc for 3s on 1024 size blocks: 1275318 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 8192 size blocks: 158693 aes-256-cbc's in 2.99s OpenSSL 1.0.1 14 Mar 2012 built on: Mon Apr 15 15:27:18 UTC 2013 options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx) compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-256-cbc 407440.37k 430537.08k 435656.60k 435308.54k 434786.98k
Mam i5 IB ze wsparciem AES-NI
Wcześniej próbowałem [tt]cryptsetup benchmark[/tt] i nie szło. Doczytałem teraz, że dopiero od wersji 1.6 to polecenie działa, więc doinstalowałem i:
$ cryptsetup benchmark # Testy są przybliżone tylko z użyciem pamięci (bez we/wy na dysk). PBKDF2-sha1 442810 iterations per second PBKDF2-sha256 242277 iterations per second PBKDF2-sha512 154383 iterations per second PBKDF2-ripemd160 357631 iterations per second PBKDF2-whirlpool 193607 iterations per second # Algorithm | Key | Encryption | Decryption aes-cbc 128b 182,0 MiB/s 215,8 MiB/s serpent-cbc 128b 75,3 MiB/s 85,9 MiB/s twofish-cbc 128b 165,0 MiB/s 225,8 MiB/s aes-cbc 256b 143,0 MiB/s 164,2 MiB/s serpent-cbc 256b 75,9 MiB/s 86,2 MiB/s twofish-cbc 256b 164,3 MiB/s 226,8 MiB/s aes-xts 256b 211,0 MiB/s 210,9 MiB/s serpent-xts 256b 81,3 MiB/s 84,9 MiB/s twofish-xts 256b 152,4 MiB/s 155,2 MiB/s aes-xts 512b 161,0 MiB/s 162,8 MiB/s serpent-xts 512b 81,9 MiB/s 84,6 MiB/s twofish-xts 512b 153,4 MiB/s 155,2 MiB/s
[img]http://obrazki.elektroda.pl/1531695400_1370760494.png[/img]
TC potrafi korzystać z wszystkich rdzeni, a cryptsetup nie (przynajmniej tak pokazuje htop).
Da się zmusić [tt]cryptsetup[/tt] by korzystał ze wszystkich rdzeni procka?
Offline
Po co z rdzeni, jak masz w procku AVX i AES-NI a w kernelu interfejsy do szyfrowania z akceleracja procka?
Cryptsetup powinien korzystać z API kernela, a nie procka bezpośrednio, a kernel już sobie z prockiem sam pogada.
invalid engine "padlock"
Argument paddlock w Openssl korzysta z interfejsu VIA-Paddlock, którego nie ma w I5.
Sznurki:
http://dentarg.it64.com/content/luks-and-intel-aes-extension-performance
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/ch03s02s03.html
Ostatnio edytowany przez Jacekalex (2013-06-09 09:27:06)
Offline
$ openssl speed aes-128-cbc Doing aes-128 cbc for 3s on 16 size blocks: 20286087 aes-128 cbc's in 2.99s Doing aes-128 cbc for 3s on 64 size blocks: 5538679 aes-128 cbc's in 2.99s Doing aes-128 cbc for 3s on 256 size blocks: 1407841 aes-128 cbc's in 3.00s Doing aes-128 cbc for 3s on 1024 size blocks: 351660 aes-128 cbc's in 2.99s Doing aes-128 cbc for 3s on 8192 size blocks: 44381 aes-128 cbc's in 3.00s OpenSSL 1.0.1 14 Mar 2012 built on: Mon Apr 15 15:27:18 UTC 2013 options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx) compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128 cbc 108554.31k 118553.66k 120135.77k 120434.73k 121189.72k
Ok, powiedz mi jeszcze proszę, czy przy tej wydajności odczuję jakieś spowolnienie w działaniu systemu ?
No i kolejna ważna sprawa:
[img]http://obrazki.elektroda.pl/9008164000_1370761947.png[/img]
Jak w Debianie wykonać kopię tego co trzeba na wypadek padu systemu, aby np z LiveCD dostać się do danych?
Offline
Jak w Windows, zobacz w Windows, jak w Linuxie? zobacz w Linuxie.
Truecrytp najwyraźniej załapał AES-NI i masz tam napisaną wydajność, prawda?
Jak puścisz Cryptsetup przez kernel, i załadujesz odpowiedni sterownik, to prawdopodobnie będziesz miał podobny wynik.
Wydajność? zależy od konfiguracji, przez AES-NI nie powinno być kłopotu, bateria na pewno to odczuje.
Tylko radziłbym używać tych modułów:
CONFIG_CRYPTO_AES_NI_INTEL=m CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
Wyniki testów nie wyglądają źle, ale musisz sam spróbować.
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2013-06-09 09:41:25)
Offline
[quote=Jacekalex]Jak w Windows, zobacz w Windows, jak w Linuxie? zobacz w Linuxie.[/quote]
Jak w Windows to widać na screenshocie, klik i jest ;) A jak w Linuksie? No właśnie tego nie wiem.
Offline
[quote=drelbrown][quote=Jacekalex]Jak w Windows, zobacz w Windows, jak w Linuxie? zobacz w Linuxie.[/quote]
Jak w Windows to widać na screenshocie, klik i jest ;) A jak w Linuksie? No właśnie tego nie wiem.[/quote]
A Truecrypt w Debianie nie ma przypadkiem benchmarka?
Cryptsetup?
Wyładuj standardowy AES, załaduj moduł AES-NI, i zobacz, jakie będą wydajności.
Listę trybów i sterowników szyfrowania masz w wyniku:
egrep 'name|driver' /proc/crypto
Offline
TC w Linuksie ma benchmark, właśnie dałem screenshota. Dzięki Jacekalex za porady.
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00135 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.161.194' WHERE u.id=1 |
0.00076 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.161.194', 1732631391) |
0.00066 | SELECT * FROM punbb_online WHERE logged<1732631091 |
0.00073 | DELETE FROM punbb_online WHERE ident='54.36.148.2' |
0.00168 | DELETE FROM punbb_online WHERE ident='54.36.148.218' |
0.00045 | DELETE FROM punbb_online WHERE ident='54.36.149.12' |
0.00071 | DELETE FROM punbb_online WHERE ident='54.36.149.54' |
0.00056 | DELETE FROM punbb_online WHERE ident='85.208.96.210' |
0.00060 | SELECT topic_id FROM punbb_posts WHERE id=234344 |
0.00022 | SELECT id FROM punbb_posts WHERE topic_id=23695 ORDER BY posted |
0.00044 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=23695 AND t.moved_to IS NULL |
0.00049 | SELECT search_for, replace_with FROM punbb_censoring |
0.00137 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=23695 ORDER BY p.id LIMIT 0,25 |
0.00066 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23695 |
Total query time: 0.01083 s |