【浪潮信息KeyarchOS (KOS)】手把手教你用Openssl:从加密算法加密解密测试到证书生成测试实战

目录

1 概述

2 安装准备

2.1 操作环境

2.2 软件版本

3 可测试内容和测试建议

4 编译安装

5 测试场景和测试结果


1 概述

浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接https://www.ieisystem.com/kos/product-kos-xq.thtml?id=12126

OpenSSL是一款开源工具包,用于实现安全套接层(SSL)和传输层安全(TLS)协议,它对于大多数负责安全网络工作的Linux管理员来说是必不可少的一款日常工具。OpenSSL还包括丰富的功能,可以使用OpenSSL来测试POP和IMAP服务器,并且测试服务器的连接速度,还有其他值得关注的用途。openssl是著名的开源加解密软件,可以用openssl 加解密,架CA,发证书,有的商用密码机里面也用openssl。

2 安装准备

2.1 操作环境

操作系统版本:KOS 5.8 sp2u1(5.10.134-17.2.2.kos5.x86_64)

测试架构:x86_64,8核4G虚拟机

2.2 软件版本

Openssl 1.1.1k

3 可测试内容和测试建议

OpenSSL性能测试可以通过执行各种算法和操作来评估其性能。以下是一些常见的测试方法和建议:

加密算法测试:使用openssl的speed命令可以测试各种加密算法的执行速度。例如,可以测试AES、RSA、SHA等算法的加密和解密速度。

文件加密测试:使用openssl的enc命令对大文件进行加密和解密,以测试加密和解密操作的性能。可以选择不同的加密算法和模式,以及测试不同的密钥大小。

证书生成测试:使用openssl的req或ca命令生成证书,测试证书生成的速度和效率。

SSL/TLS性能测试:使用openssl的s_time或s_server命令测试SSL/TLS连接的性能,包括握手时间、传输速率等。

并发性能测试:使用多线程或多进程方式进行加密、解密、证书生成等操作,以测试OpenSSL在并发情况下的性能。在进行OpenSSL性能测试时,建议注意以下几点:

选择合适的测试环境,确保硬件和操作系统配置最优。

测试不同的算法和参数组合,以找到最优的性能配置。

测试不同的数据大小和负载,以评估OpenSSL在不同情况下的性能表现。

对比其他SSL/TLS库或工具的性能,以评估OpenSSL的相对性能。

注意测试结果的稳定性和可重复性,确保测试结果可靠。

4 编译安装

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

5 测试场景和测试结果

我们主要采用openssl speed来测试加解密的效率,通过对不同算法的测试来评估相应算法的性能值。

[root@localhost current]# openssl speed --help

Usage: speed [options] ciphers...

Valid options are:

-help Display this summary

-evp val Use EVP-named cipher or digest

-decrypt Time decryption instead of encryption (only EVP)

-aead Benchmark EVP-named AEAD cipher in TLS-like sequence

-mb Enable (tls1>=1) multi-block mode on EVP-named cipher

-mr Produce machine readable output

-multi +int Run benchmarks in parallel

-async_jobs +int Enable async mode and start specified number of jobs

-rand val Load the file(s) into the random number generator

-writerand outfile Write random data to the specified file

-engine val Use engine, possibly a hardware device

-elapsed Use wall-clock time instead of CPU user time as divisor

-primes +int Specify number of primes (for RSA only)

-seconds +int Run benchmarks for specified amount of seconds

-bytes +int Run [non-PKI] benchmarks on custom-sized buffer

-misalign +int Use specified offset to mis-align buffers

上述命令可以指定相应的算法、是否多进程、执行时间、测试算法类型等等。我们采用以下命令来测试加解密算法:

openssl speed -multi $nr_task -seconds $duration $type

测试单进程和多进程场景,测试时间固定一分钟,测试的加解密算法有:

aes 、des、sha256、rsa4096、dsa2048

例如:测试md5两个进程测试时间60秒的加解密效率

测试的结果在最后一行,每种算法从16 bytes、64bytes、256bytes、1024bytes、8192bytes、16384 bytes都有。可以根据表格,记录不同算法的效率值,这个值越大代表效率越高,我们大概率认为加解密的性能越好。下图是不同加密算法的效率值比对。

以md5的16bytes数据88407.98k为例子,在循环中以16字节运行md5哈希例程60秒钟输入. 60秒钟后,每秒处理8840万个字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值