Samba Crypto Benchmarks ======================= I've been working on the migration to GnuTLS for all our crypto. * https://git.samba.org/?p=asn/samba.git;a=shortlog;h=refs/heads/master-gnutls Here are some results from my desktop machine (Intel i7-4960X CPU @ 3.60GHz, 32GB RAM) for SMB3 signing and encryption dd if=/dev/urandom of=1GB.bin bs=64M count=16 iflag=fullblock ## AES-GCM (Encryption) ### SMB3 encrypt with Samba AES-GCM (Intel AES NI) time smbclient //LOCALNT4DC2/tmp -mSMB3 -e -c 'put 1GB.bin; get 1GB.bin /dev/null' putting file 1GB.bin as \1GB.bin (3268.4 kb/s) (average 3268.4 kb/s) getting file \1GB.bin of size 1073741824 as /dev/null (3240.0 KiloBytes/sec) (average 3240.0 KiloBytes/sec) real 10m44.602s user 5m21.525s sys 0m3.820s ### SMB3 encrypt with GnuTLS AES-GCM time smbclient //LOCALNT4DC2/tmp -mSMB3 -e -c 'put 1GB.bin; get 1GB.bin /dev/null' putting file 1GB.bin as \1GB.bin (172010.5 kb/s) (average 172010.5 kb/s) getting file \1GB.bin of size 1073741824 as /dev/null (183445.8 KiloBytes/sec) (average 183445.8 KiloBytes/sec) real 0m12.299s user 0m3.883s sys 0m4.610s ## AES-CCM (Encryption) ### SMB3 encrypt with Samba AES-CCM time smbclient //LOCALNT4DC2/tmp -mSMB3 -e -c 'put 1GB.bin; get 1GB.bin /dev/null' putting file 1GB.bin as \1GB.bin (46458.8 kb/s) (average 46458.8 kb/s) getting file \1GB.bin of size 1073741824 as /dev/null (47832.1 KiloBytes/sec) (average 47832.1 KiloBytes/sec) real 0m44.613s user 0m20.914s sys 0m3.623s ### SMB3 encrypt with Samba AES-CCM (Intel AES NI) time smbclient //LOCALNT4DC2/tmp -mSMB3 -e -c 'put 1GB.bin; get 1GB.bin /dev/null' putting file 1GB.bin as \1GB.bin (88397.9 kb/s) (average 88397.9 kb/s) getting file \1GB.bin of size 1073741824 as /dev/null (90668.0 KiloBytes/sec) (average 90668.1 KiloBytes/sec) real 0m23.595s user 0m10.427s sys 0m3.694s ### SMB3 encrypt with GnuTLS AES-CCM time smbclient //LOCALNT4DC2/tmp -mSMB3 -e -c 'put 1GB.bin; get 1GB.bin /dev/null' putting file 1GB.bin as \1GB.bin (106747.0 kb/s) (average 106747.0 kb/s) getting file \1GB.bin of size 1073741824 as /dev/null (110901.7 KiloBytes/sec) (average 110901.7 KiloBytes/sec) real 0m19.454s user 0m7.716s sys 0m4.484s ## AES-CMAC (Signing) ### SMB3 signing off time smbclient //LOCALNT4DC2/tmp -mSMB3 --signing=off -c 'put 1GB.bin; get 1GB.bin /dev/null' putting file 1GB.bin as \1GB.bin (363836.2 kb/s) (average 363836.2 kb/s) getting file \1GB.bin of size 1073741824 as /dev/null (361702.6 KiloBytes/sec) (average 361702.7 KiloBytes/sec) real 0m5.959s user 0m1.615s sys 0m3.750s ### SMB3 signing with Samba AES-CMAC (Intel AES NI) time smbclient //LOCALNT4DC2/tmp -mSMB3 --signing=required -c 'put 1GB.bin; get 1GB.bin /dev/null' putting file 1GB.bin as \1GB.bin (132012.6 kb/s) (average 132012.6 kb/s) getting file \1GB.bin of size 1073741824 as /dev/null (146102.3 KiloBytes/sec) (average 146102.3 KiloBytes/sec) real 0m15.239s user 0m6.355s sys 0m3.654s ### SMB3 signing with GnuTLS AES-CMAC time smbclient //LOCALNT4DC2/tmp -mSMB3 --signing=required -c 'put 1GB.bin; get 1GB.bin /dev/null' putting file 1GB.bin as \1GB.bin (140315.3 kb/s) (average 140315.3 kb/s) getting file \1GB.bin of size 1073741824 as /dev/null (145091.5 KiloBytes/sec) (average 145091.5 KiloBytes/sec) real 0m14.833s user 0m6.042s sys 0m3.696s **More at SambaXP ;-)** ###### tags: `samba` `crypto` `benchmark`