Re: AES performance when using FIPS 2.0 Object Module

2012-05-13 Thread Dr. Stephen Henson
On Fri, May 11, 2012, John Foley wrote:

 Thanks for the information, that explains it.  The vpaes-x86 module
 isn't included in the FIPS module. 
 

In the unlreleased OpenSSL 1.0.2 I've just committed a change that no longer
redirects all cipher and digests operations to the FIPS module outside FIPS
mode: the result should be no performance penalty using the FIPS capable
OpenSSL outside FIPS mode. It's experimental and I'd be interested in any
problems.

See:

http://cvs.openssl.org/chngview?cn=22573

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


AES performance when using FIPS 2.0 Object Module

2012-05-11 Thread John Foley
Is AES performance expected to be much lower when using the FIPS 2.0
Object Module?  Below are the speed results when using AES-128-CBC with
and w/o the FIPS module.  The host system is 32-bit Linux using gcc
4.4.3.  The host system does not have AES-NI support.  No additional
config arguments were used other than 'fipscanisteronly' for building
the FIPS module and 'fips' for building 1.0.1b. 


$ ./openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 13734067 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 64 size blocks: 4149906 aes-128-cbc's in 2.95s
Doing aes-128-cbc for 3s on 256 size blocks: 1084643 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 1024 size blocks: 278767 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 8192 size blocks: 34952 aes-128-cbc's in 2.99s
OpenSSL 1.0.1b-fips 26 Apr 2012
built on: Fri May 11 08:04:08 EDT 2012
options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial)
idea(int) blowfish(idx)
compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H
-Wa,--noexecstack -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall
-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT
-DOPENSSL_BN_ASM_GF2m -I/usr/local/ssl/fips-2.0/include -DSHA1_ASM
-DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM
-DWHIRLPOOL_ASM -DGHASH_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes256 bytes   1024 bytes   8192
bytes
aes-128-cbc  73739.96k90031.86k92865.76k95791.08k   
95761.47k


$ ./openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 36109363 aes-128-cbc's in 2.96s
Doing aes-128-cbc for 3s on 64 size blocks: 11241446 aes-128-cbc's in 2.97s
Doing aes-128-cbc for 3s on 256 size blocks: 2840087 aes-128-cbc's in 2.96s
Doing aes-128-cbc for 3s on 1024 size blocks: 706161 aes-128-cbc's in 2.97s
Doing aes-128-cbc for 3s on 8192 size blocks: 90698 aes-128-cbc's in 2.97s
OpenSSL 1.0.1b 26 Apr 2012
built on: Fri May 11 08:14:14 EDT 2012
options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial)
idea(int) blowfish(idx)
compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H
-Wa,--noexecstack -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall
-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT
-DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM
-DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes256 bytes   1024 bytes   8192
bytes
aes-128-cbc 195185.75k   242239.91k   245629.15k   243471.00k  
250167.68k

attachment: foleyj.vcf

Re: AES performance when using FIPS 2.0 Object Module

2012-05-11 Thread Andy Polyakov
 Is AES performance expected to be much lower when using the FIPS 2.0
 Object Module?

Which CPU? You said it's non-AES-NI-capable, but is it SSSE3-capable? If
yes, then see related note at
http://www.mail-archive.com/openssl-dev@openssl.org/msg29827.html.

 Below are the speed results when using AES-128-CBC with
 and w/o the FIPS module. The host system is 32-bit Linux using gcc
 4.4.3.  The host system does not have AES-NI support.  No additional
 config arguments were used other than 'fipscanisteronly' for building
 the FIPS module and 'fips' for building 1.0.1b. 
 
 $ ./openssl speed -evp aes-128-cbc
 OpenSSL 1.0.1b-fips 26 Apr 2012
 type 16 bytes 64 bytes256 bytes   1024 bytes   8192
 bytes
 aes-128-cbc  73739.96k90031.86k92865.76k95791.08k   
 95761.47k
 
 $ ./openssl speed -evp aes-128-cbc
 OpenSSL 1.0.1b 26 Apr 2012
 compiler: gcc ... -DVPAES_ASM ...
 type 16 bytes 64 bytes256 bytes   1024 bytes   8192
 bytes
 aes-128-cbc 195185.75k   242239.91k   245629.15k   243471.00k  
 250167.68k

Ratio suggests that it's Nehalem core...
__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: AES performance when using FIPS 2.0 Object Module

2012-05-11 Thread John Foley
Thanks for the information, that explains it.  The vpaes-x86 module
isn't included in the FIPS module. 

The CPU information is:

model name: Intel(R) Core(TM) i7 CPU   Q 720  @ 1.60GHz




On 05/11/2012 09:07 AM, Andy Polyakov wrote:
 Is AES performance expected to be much lower when using the FIPS 2.0
 Object Module?
 Which CPU? You said it's non-AES-NI-capable, but is it SSSE3-capable? If
 yes, then see related note at
 http://www.mail-archive.com/openssl-dev@openssl.org/msg29827.html.

 Below are the speed results when using AES-128-CBC with
 and w/o the FIPS module. The host system is 32-bit Linux using gcc
 4.4.3.  The host system does not have AES-NI support.  No additional
 config arguments were used other than 'fipscanisteronly' for building
 the FIPS module and 'fips' for building 1.0.1b. 

 $ ./openssl speed -evp aes-128-cbc
 OpenSSL 1.0.1b-fips 26 Apr 2012
 type 16 bytes 64 bytes256 bytes   1024 bytes   8192
 bytes
 aes-128-cbc  73739.96k90031.86k92865.76k95791.08k   
 95761.47k

 $ ./openssl speed -evp aes-128-cbc
 OpenSSL 1.0.1b 26 Apr 2012
 compiler: gcc ... -DVPAES_ASM ...
 type 16 bytes 64 bytes256 bytes   1024 bytes   8192
 bytes
 aes-128-cbc 195185.75k   242239.91k   245629.15k   243471.00k  
 250167.68k
 Ratio suggests that it's Nehalem core...
 __
 OpenSSL Project http://www.openssl.org
 Development Mailing List   openssl-dev@openssl.org
 Automated List Manager   majord...@openssl.org

attachment: foleyj.vcf