OpenSSL 算法性能测试

*本文为参考各方资料整理而成

1 OpenSSL简介

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。OpenSSL提供的CA应用程序就是一个小型的证书管理中心(CA),实现了证书签发的整个流程和证书管理的大部分机制。
SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。

2 OpenSSL安装

安装Openssl有诸多方式,既可以通过软件仓库,比如Fedora的yum命令或者Ubuntu的aptitude命令来安装,也可以从Openssl的网站上直接下载最新源代码,自己编译安装。

这里推荐的方式是自己下载Openssl的源代码来编译安装。原因在于,通过软件仓库发行的Openssl是一个阉割版本,有许多的特性,比如椭圆曲线在某些版本中默认没有包含进来。而自己下载源代码来安装则可以使用Openssl全部的特性。编译和安装的步骤在下载的源代码里的INSTALL文件里有详细的说明,并不复杂。最终用make install命令将编译好的可执行文件安装到系统中。如果安装后想删除的话,用make uninstall即可完整删除。

Step 1.安装ActivePerl

下载ActivePerl地址
根据系统以及位数下载安装文件 \downarrow 根据系统以及位数下载安装文件
下载的文件 \downarrow
下载的文件
开始安装 \downarrow
开始安装
版本说明
安装成功后,打开环境变量,path 已经写入,但是需要注销用户,或者重启
进入命令模式,进入perl安装目录下,输入perl -v 正确显示版本信息,执行“perlexample.pl”,若显示“Hellofrom ActivePerl!”,则说明Perl安装成功,可以使用Perl的相关命令来进行OpenSSL的安装。

Step 2.安装Microsoft Visual Studio

Step 3.安装NASM汇编工具

NASM
安装,并将其安装路径加入到到系统环境变量Path中.

Step 4.编译安装OpenSSL

下载OpenSSL
解压,在解压后的文件夹内找到安装帮助文件 \downarrow
在这里插入图片描述
根据帮助文件在openssl目录下输入编译指令 \downarrow 在这里插入图片描述
输入安装指令

nmake -f ms\ntdll.mak install

nmake -f ms\ntdll.mak test    #测试OpenSSL动态库
nmake -f ms\nt.mak test   #测试OpenSSL静态库
nmake -f ms\ntdll.mak install  #安装OpenSSL动态库
nmake -f ms\nt.mak install   #安装OpenSSL静态库
nmake -f ms\ntdll.mak clean   # 清除上次OpenSSL动态库的编译,以便重新编译
nmake -f ms\nt.mak clean   #清除上次OpenSSL静态库的编译,以便重新编译

Openssl自带的测试文档就是最好的示例,下载最新的Openssl源码并解压,test/ecdsatest.c就是最好的例子。

3 加解密算法能力测试

3.1 AES与RSA算法

AES: 最为常见的一种对称加密算法,对称式加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。对称加密算法用来对敏感数据等信息进行加密。适用于传输过程。
优点

  1. 运算速度快,在有反馈模式、无反馈模式的软硬件中,都表现出非常好的性能。
  2. 对内存的需求非常低,适合于受限环境。
  3. AES 是一个分组迭代密码, 分组长度和密钥长度设计灵活。
  4. AES 标准支持可变分组长度,分组长度可设定为32 比特的任意倍数,最小值为128 比特,最大值为256 比特。

缺点: 需要进行密钥的协商和传输,存在密钥泄漏的问题

RSA: 是最常见的一种非对称加密算法,非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件。适用于签名、认证。

优点

  1. 非对称加密算法使用公钥加密,私钥解密,私钥签名,公钥验签。安全性比对称加密高。
  2. 非对称加密使用两个密匙,服务端和客户端密匙不一样,私钥放在服务端,不用进行密钥交换,泄漏可能性较低,安全性高。

缺点:需要大数的乘幂求模等算法,运行速度慢。只适合对少量数据进行加密。

3.2 测试

openssl 的加密速度测试
通过 Perf 对 OpenSSL 中 RSA 加密解密进行性能分析
RSA+AES加解密的测试
OpenSSL命令—speed
openssl rsautl RSA实用工具
openssl的介绍和使用
C++: 基于OpenSSL的AES256加解密测试

4 参考资料

OpenSSL百度百科
Windows7(64位)环境下安装openssl详细步骤+图解
下载MASM32地址
OPENSSL(一)关于OPENSSL的安装
基于OpenSSL的AES256加解密测试
Openssl的安装
在window10 64位电脑上安装OpenSSL安装过程
详解Linux下安装OpenSSL安装图文方法
OpenSSL源码安装超详细教程
Win7系统下OpenSSL安装及测试
Windows安装配置C/C++(VS2017)OpenSSL开发环境配置教程
OpenSSL命令详解(一)——标准命令
OpenSSL 命令详解(二)——摘要算法、签名、验签
AES,RSA,IBE三种算法的比较
openssl编译方法

发布了15 篇原创文章 · 获赞 0 · 访问量 1256

猜你喜欢

转载自blog.csdn.net/qq_45632433/article/details/100764514
今日推荐