openssl 的加密速度测试

 openssl测试方法

最近发现很多人都不知道openssl 自带了一个评测加密速度的功能,就简单写一个方法。以此为依照,也方便FPGA开发者作为自己板子性能的基准对比。

openssl speed (加密算法)

AES 加密测试   不启用intel 硬件加密

sh-3.2# openssl speed aes-256-ige
Doing aes-256 ige for 3s on 16 size blocks: 17498121 aes-256 ige's in 2.99s
Doing aes-256 ige for 3s on 64 size blocks: 4448218 aes-256 ige's in 3.00s
Doing aes-256 ige for 3s on 256 size blocks: 1126024 aes-256 ige's in 2.99s
Doing aes-256 ige for 3s on 1024 size blocks: 268594 aes-256 ige's in 2.97s
Doing aes-256 ige for 3s on 8192 size blocks: 32667 aes-256 ige's in 3.00s
OpenSSL 1.0.2h  3 May 2016
built on: reproducible build, date unspecified
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx) 
compiler: /usr/bin/clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS 
\-D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 
\-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM 
\-DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256 ige      93635.43k    94895.32k    96408.74k    92606.15k    89202.69k

测试过程意义如下:

Doing aes-256 ige for 3s on 16 size blocks: 17498121 aes-256 ige's in 2.99s

1.  按字符串从 16 bytes 到 8192bytes ,5种长度字符串,每个大小数据块处理跑3秒, 输出处理的总次数。上文中16bytes,3秒内完成了17498121次

The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256 ige      93635.43k    94895.32k    96408.74k    92606.15k    89202.69k

2. 第三列中结果意义是, 每秒完成处理的数据量是多少KB ,比如8182bytes的数据块 每秒处理能力是 89202.69kb,注意,这是的单位不是完成次数,而是数据块大小。 the 'numbers' are in 1000s,不是指 1000秒内完成次数,而是指 数值以 1000为单位进行缩写,这是很多人容易搞错的地方。


AES 加密测试   启用intel 硬件加密


现在的aes  evp封装后,会自动识别intel aes-ni硬件存在,如果有,将会启用硬件加密。

sh-3.2# openssl speed -evp AES256
Doing aes-256-cbc for 3s on 16 size blocks: 82868413 aes-256-cbc's in 2.93s
Doing aes-256-cbc for 3s on 64 size blocks: 21822974 aes-256-cbc's in 2.95s
Doing aes-256-cbc for 3s on 256 size blocks: 6149541 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 1024 size blocks: 1484973 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 8192 size blocks: 176388 aes-256-cbc's in 2.99s
OpenSSL 1.0.2h  3 May 2016
built on: reproducible build, date unspecified
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx) 
compiler: /usr/bin/clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_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     452523.76k   473447.57k   524760.83k   506870.78k   483267.72k

可以看到处理数据加密速度增加了。64bytes数据块的数据流从  94895k 飙升473447k ,提升了5倍以上速度。

后面, 待续……



  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenSSL是一个开源项目,它包含了多个组件,其中包括opensslopenssl-libcrypto和openssl-libssl。openssl是一个多用途的命令行工具,openssl-libcrypto是一个加密算法库,openssl-libssl是一个实现了SSL和TLS的加密模块应用库。\[1\] 要使用OpenSSL进行加密,可以使用enc命令。例如,要使用DES3算法对文件进行加密,可以使用以下命令: openssl enc -e -des3 -a -salt -in testfile -out testfile.cipher 要解密加密的文件,可以使用以下命令: openssl enc -d -des3 -a -salt -in testfile.cipher -out testfile 另外,OpenSSL还提供了base64加密和解密的功能。要对文本进行base64加密,可以使用以下命令: echo "1234abcd" | openssl base64 要对base64加密的文本进行解密,可以使用以下命令: echo "MTIzNGFiY2QK" | openssl base64 -d 如果要对文件进行base64加密,可以使用以下命令: openssl base64 -in test.log 如果要将base64加密的内容追加到另一个文件中,可以使用以下命令: openssl base64 -in test.log >> /tmp/tmp.log 要解密base64加密的文件,可以使用以下命令: openssl base64 -d -in /tmp/tmp.log 希望这些信息对您有所帮助。 #### 引用[.reference_title] - *1* *2* [OpenSSL、创建CA及证书申请与管理](https://blog.csdn.net/weixin_42255666/article/details/82733339)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [利用openssl对数据进行md5加密 (Linux/C++)](https://blog.csdn.net/A_L_A_N/article/details/106694692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值