openssl 开启AES-NI指令集性能增加
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                openssl 开启AES-NI指令集性能增加
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                下面是沒開啟AES-NI的情況,8KB塊加密性能 275677KB/s
F:\3rdpart\openssl-OpenSSL_1_1_1c\apps>openssl speed -evp AES256 Doing aes-256-cbc for 3s on 16 size blocks: 20588056 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 64 size blocks: 5782150 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 256 size blocks: 1514163 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 1024 size blocks: 816554 aes-256-cbc's in 2.98s Doing aes-256-cbc for 3s on 8192 size blocks: 100134 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 16384 size blocks: 50478 aes-256-cbc's in 3.00s OpenSSL 1.1.1c 28 May 2019 built on: Fri Mar 20 02:05:45 2020 UTC options:bn(64,32) rc4(4x,int) des(long) aes(partial) idea(int) blowfish(ptr) compiler: cl /Zi /Fdossl_static.pdb /MT /Zl /Gs0 /GF /Gy /W3 /wd4090 /nologo /O2 /WX -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-256-cbc 109802.97k 123352.53k 129208.58k 280176.35k 273432.58k 275677.18k下面是開啟了AES-NI指令集之后,8KB塊加密性能增加到了 1223587KB/s,是原來的4.4倍,而256B塊加密性能是原來的9倍。
F:\3rdpart\openssl-OpenSSL_1_1_1c\apps>openssl speed -evp AES256 Doing aes-256-cbc for 3s on 16 size blocks: 146023514 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 64 size blocks: 50123679 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 256 size blocks: 13722555 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 1024 size blocks: 3471554 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 8192 size blocks: 448091 aes-256-cbc's in 3.00s Doing aes-256-cbc for 3s on 16384 size blocks: 221037 aes-256-cbc's in 3.00s OpenSSL 1.1.1c 28 May 2019 built on: Wed Apr 1 07:05:12 2020 UTC options:bn(64,32) rc4(8x,mmx) des(long) aes(partial) idea(int) blowfish(ptr) compiler: cl /Zi /Fdossl_static.pdb /MT /Zl /Gs0 /GF /Gy /W3 /wd4090 /nologo /O2 /WX -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-256-cbc 778792.07k 1069305.15k 1170991.36k 1184957.10k 1223587.16k 1207156.74k關(guān)閉AES-NI的方法是,加了386表示這是一個(gè)386兼容的處理器,也就禁用了386之后的所有指令集。
perl Configure VC-WIN32 no-shared 386啟用AES-NI的方法是,openssl會(huì)執(zhí)行cpuid查詢cpu支持的指令集,并動(dòng)態(tài)啟用。
perl Configure VC-WIN32 no-shared測試機(jī)CPU為i7 9700
總結(jié)
以上是生活随笔為你收集整理的openssl 开启AES-NI指令集性能增加的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: i.MX 系列CPU HAB漏洞Secu
- 下一篇: Windows 内核驱动签名策略
