Skip to content

Instantly share code, notes, and snippets.

@pklaus
Created March 1, 2012 15:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pklaus/1950517 to your computer and use it in GitHub Desktop.
Save pklaus/1950517 to your computer and use it in GitHub Desktop.
Hardware Crypto on GoFlex Home running Arch Linux ARM: http://archlinuxarm.org/forum/viewtopic.php?f=30&t=2452 . There is an update at https://gist.github.com/pklaus/8783907 .
[root@PlugApps tmp]# openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 2539669 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 64 size blocks: 774603 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 205298 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 52099 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 8192 size blocks: 6539 aes-128-cbc's in 3.00s
OpenSSL 1.0.0g 18 Jan 2012
built on: Wed Feb 29 15:45:42 UTC 2012
options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 -Wa,--noexecstack -march=armv5te -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/src/linux-3.1.10-4-ARCH -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_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 13544.90k 16524.86k 17518.76k 17783.13k 17855.83k
[root@PlugApps tmp]# modprobe cryptodev
[root@PlugApps ~]# openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 82417 aes-128-cbc's in 0.04s
Doing aes-128-cbc for 3s on 64 size blocks: 79770 aes-128-cbc's in 0.06s
Doing aes-128-cbc for 3s on 256 size blocks: 57239 aes-128-cbc's in 0.02s
Doing aes-128-cbc for 3s on 1024 size blocks: 40066 aes-128-cbc's in 0.08s
Doing aes-128-cbc for 3s on 8192 size blocks: 8137 aes-128-cbc's in 0.03s
OpenSSL 1.0.0g 18 Jan 2012
built on: Wed Feb 29 15:45:42 UTC 2012
options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 -Wa,--noexecstack -march=armv5te -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/src/linux-3.1.10-4-ARCH -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_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 32966.80k 85088.00k 732659.20k 512844.80k 2221943.47k
[root@PlugApps ~]# openssl speed -evp aes-256-cbc
Doing aes-256-cbc for 3s on 16 size blocks: 2020642 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 64 size blocks: 590229 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 256 size blocks: 154258 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 1024 size blocks: 39007 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 8192 size blocks: 4890 aes-256-cbc's in 3.00s
OpenSSL 1.0.0g 18 Jan 2012
built on: Wed Feb 29 15:45:42 UTC 2012
options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 -Wa,--noexecstack -march=armv5te -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/src/linux-3.1.10-4-ARCH -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_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 10776.76k 12591.55k 13163.35k 13314.39k 13352.96k
[root@PlugApps tmp]# modprobe cryptodev
[root@PlugApps ~]# openssl speed -evp aes-256-cbc
Doing aes-256-cbc for 3s on 16 size blocks: 83556 aes-256-cbc's in 0.05s
Doing aes-256-cbc for 3s on 64 size blocks: 80929 aes-256-cbc's in 0.08s
Doing aes-256-cbc for 3s on 256 size blocks: 55553 aes-256-cbc's in 0.04s
Doing aes-256-cbc for 3s on 1024 size blocks: 38918 aes-256-cbc's in 0.06s
Doing aes-256-cbc for 3s on 8192 size blocks: 7523 aes-256-cbc's in 0.03s
OpenSSL 1.0.0g 18 Jan 2012
built on: Wed Feb 29 15:45:42 UTC 2012
options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 -Wa,--noexecstack -march=armv5te -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/src/linux-3.1.10-4-ARCH -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_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 26737.92k 64743.20k 355539.20k 664200.53k 2054280.53k
[root@PlugApps ~]# openssl speed -evp bf-cbc
Doing bf-cbc for 3s on 16 size blocks: 2974887 bf-cbc's in 3.00s
Doing bf-cbc for 3s on 64 size blocks: 876962 bf-cbc's in 3.00s
Doing bf-cbc for 3s on 256 size blocks: 229637 bf-cbc's in 3.00s
Doing bf-cbc for 3s on 1024 size blocks: 58031 bf-cbc's in 3.00s
Doing bf-cbc for 3s on 8192 size blocks: 7276 bf-cbc's in 3.00s
OpenSSL 1.0.0g 18 Jan 2012
built on: Wed Feb 29 15:45:42 UTC 2012
options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 -Wa,--noexecstack -march=armv5te -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/src/linux-3.1.10-4-ARCH -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
bf-cbc 15866.06k 18708.52k 19595.69k 19807.91k 19868.33k
[root@PlugApps tmp]# modprobe cryptodev
[root@PlugApps ~]# openssl speed -evp bf-cbc
Doing bf-cbc for 3s on 16 size blocks: 151328 bf-cbc's in 0.16s
Doing bf-cbc for 3s on 64 size blocks: 129680 bf-cbc's in 0.16s
Doing bf-cbc for 3s on 256 size blocks: 82655 bf-cbc's in 0.13s
Doing bf-cbc for 3s on 1024 size blocks: 33709 bf-cbc's in 0.06s
Doing bf-cbc for 3s on 8192 size blocks: 4977 bf-cbc's in 0.01s
OpenSSL 1.0.0g 18 Jan 2012
built on: Wed Feb 29 15:45:42 UTC 2012
options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 -Wa,--noexecstack -march=armv5te -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/src/linux-3.1.10-4-ARCH -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
bf-cbc 15132.80k 51872.00k 162766.77k 575300.27k 4077158.40k
[root@PlugApps ~]# openssl speed -evp md5
Doing md5 for 3s on 16 size blocks: 783909 md5's in 3.00s
Doing md5 for 3s on 64 size blocks: 667799 md5's in 3.00s
Doing md5 for 3s on 256 size blocks: 453131 md5's in 3.00s
Doing md5 for 3s on 1024 size blocks: 199045 md5's in 3.00s
Doing md5 for 3s on 8192 size blocks: 31899 md5's in 3.00s
OpenSSL 1.0.0g 18 Jan 2012
built on: Wed Feb 29 15:45:42 UTC 2012
options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 -Wa,--noexecstack -march=armv5te -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/src/linux-3.1.10-4-ARCH -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md5 4180.85k 14246.38k 38667.18k 67940.69k 87105.54k
[root@PlugApps tmp]# modprobe cryptodev
[root@PlugApps ~]# openssl speed -evp md5
Doing md5 for 3s on 16 size blocks: 50069 md5's in 0.88s
Doing md5 for 3s on 64 size blocks: 49546 md5's in 0.92s
Doing md5 for 3s on 256 size blocks: 47804 md5's in 0.89s
Doing md5 for 3s on 1024 size blocks: 41998 md5's in 0.73s
Doing md5 for 3s on 8192 size blocks: 18854 md5's in 0.41s
OpenSSL 1.0.0g 18 Jan 2012
built on: Wed Feb 29 15:45:42 UTC 2012
options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 -Wa,--noexecstack -march=armv5te -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/src/linux-3.1.10-4-ARCH -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md5 910.35k 3446.68k 13750.36k 58912.26k 376712.12k
[root@PlugApps ~]# cat /proc/crypto
name : hmac(sha1)
driver : mv-hmac-sha1
module : mv_cesa
priority : 300
refcnt : 1
selftest : passed
type : ahash
async : yes
blocksize : 64
digestsize : 20
name : sha1
driver : mv-sha1
module : mv_cesa
priority : 300
refcnt : 1
selftest : passed
type : ahash
async : yes
blocksize : 64
digestsize : 20
name : cbc(aes)
driver : mv-cbc-aes
module : mv_cesa
priority : 300
refcnt : 1
selftest : passed
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : ecb(aes)
driver : mv-ecb-aes
module : mv_cesa
priority : 300
refcnt : 1
selftest : passed
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 0
geniv : <default>
name : stdrng
driver : krng
module : kernel
priority : 200
refcnt : 1
selftest : passed
type : rng
seedsize : 0
name : lzo
driver : lzo-generic
module : kernel
priority : 0
refcnt : 2
selftest : passed
type : compression
name : crc32c
driver : crc32c-generic
module : kernel
priority : 100
refcnt : 2
selftest : passed
type : shash
blocksize : 1
digestsize : 4
name : deflate
driver : deflate-generic
module : kernel
priority : 0
refcnt : 2
selftest : passed
type : compression
name : arc4
driver : arc4-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
type : cipher
blocksize : 1
min keysize : 1
max keysize : 256
name : aes
driver : aes-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32
name : des3_ede
driver : des3_ede-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
type : cipher
blocksize : 8
min keysize : 24
max keysize : 24
name : des
driver : des-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
type : cipher
blocksize : 8
min keysize : 8
max keysize : 8
name : md5
driver : md5-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
type : shash
blocksize : 64
digestsize : 16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment