Saturday, August 13, 2011

How fast is openssl with AES-NI?

Now that Apple have moved to core i CPUs across their line from just a few before,
and with the release of Lion with its AES based full disk encryption called File Vault 2 (FV2), I've been curious about performance hit from FV2.

As far as I can tell, using FV2 gives a file system performance hit of less than about 10%. So if you were to move to SSD from spinners and then use FDE / FV2 on Lion then you would still see a big gain in disk I/O.

Anyway, you can run some openssl benchmarks.

On my personal MBP a 2.53 core 2 duo

    $openssl speed aes-256-cbc

    Doing aes-256 cbc for 3s on 16 size blocks: 18280734 aes-256 cbc's in 2.96s
    Doing aes-256 cbc for 3s on 64 size blocks: 4660089 aes-256 cbc's in 2.94s
    Doing aes-256 cbc for 3s on 256 size blocks: 1196116 aes-256 cbc's in 2.98s
    Doing aes-256 cbc for 3s on 1024 size blocks: 298821 aes-256 cbc's in 2.97s
    Doing aes-256 cbc for 3s on 8192 size blocks: 36577 aes-256 cbc's in 2.92s
    OpenSSL 0.9.8r 8 Feb 2011
    built on: Apr 22 2011
    options:bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) aes(partial) blowfish(ptr2)
    compiler: -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DMD32_REG_T=int -DOPENSSL_NO_IDEA -DOPENSSL_PIC -DOPENSSL_THREADS -DZLIB -mmacosx-version-min=10.6
    available timing options: TIMEB USE_TOD HZ=100 [sysconf value]
    timing function used: getrusage
    The 'numbers' are in 1000s of bytes per second processed.
    type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
    aes-256 cbc 98934.37k 101410.31k 102676.20k 102983.81k 102790.17k

If you have AES-NI and your openssl has AES-NI ability you can run

    $openssl speed –engine aesni –evp aes-256-cbc

If I find myself in an Apple store I might try running this.

1 comment:

Anonymous said...

seems terminal is locked down in Apple stores