(Treffen gestern) Kryptographiebeschleunigungshardware

Hi,

gestern beim Treffen haben wir unter anderem darueber gesprochen, dass
Kryptographiebeschleunigungshardware (mi scuso con il lettori di lingua
italiana :wink: in Servern praktisch ueberfluessig geworden ist, seit die
CPU Hersteller native Befehle eingefuehrt haben um dies zu unterstuetzen
(bei x86: AES_NI).

Das moechte ich mit einem kleinen, beeindruckenden Benchmark beweisen.

Auf einem Ivy Bridge Core (E5-2670 v2 @ 2.50GHz):

$ openssl speed -evp AES256
Doing aes-256-cbc for 3s on 16 size blocks: 78398024 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 64 size blocks: 20386945 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 256 size blocks: 5208205 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 1024 size blocks: 1294134 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 8192 size blocks: 162995 aes-256-cbc's in 3.00s
OpenSSL 1.0.1h-fips 5 Jun 2014
built on: Tue Jun 17 17:07:30 UTC 2014
options:bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -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 418122.79k 434921.49k 444433.49k 441731.07k 445085.01k

Das sind 3.5 Gbit/sec pro Core fuer AES256!

Bye,
Chris.