倚天产品介绍|倚天ECS加速国密算法性能

简介: 倚天ECS是阿里云基于平头哥自研数据中心芯片倚天710推出arm架构实例,采用armv9架构,支持SM3/SM4指令,可以加速国密算法性能。本文基于OpenSSL 3.2和Tongsuo 实测对比了倚天ECS g8y实例和Intel g7 实例国密性能。为用户选择ECS提供参考。

引言

国密算法,是由国家密码管理局认定和公布的密码算法标准及其应用规范,包括SM1、SM2、SM3、SM4、SM7、SM9和祖冲之密码算法(ZUC)等。国密算法与国际通用算法对应关系如下所示:

算法分类

国际通用算法

国密算法

对称算法

AES、DES、3DES、RC4等等

SM1、SM4、SM7、ZUC

非对称算法

RSA、DSA、DH、ECDSA、ECDH等等

SM2SM9

杂凑算法

SHA1、SHA2、MD5等等

SM3

认证加密

AES-GCM、AES-CCM等等

SM4-GCM、SM4-CCM

其中,SM2、SM3、SM4、SM4-GCM算法应用较为广泛,如政务信息、经济信息、企事业内部敏感信息的加密、网络安全认证、网上银行、数字签名等方面。这几种常用国密算法已经公开并已商用,且在开源OpenSSL中得到实现,目前实现国密算法的开源软件还有GmSSL、Tongsuo等。除了软件层实现国密算法外,还有许多硬件厂商在PCIe标卡或SOC内集成了国密算法,通过硬件卸载方式提升国密算法的安全和性能。

倚天ECS国密性能

倚天ECS是阿里云基于平头哥自研数据中心芯片倚天710推出arm架构实例,采用armv9架构,支持SM3/SM4指令,可以加速国密算法性能。铜锁(Tongsuo)是阿里巴巴对外开源的基础密码库,为存储、网络、密钥管理、隐私计算等诸多业务场景提供底层的密码学基础能力本文将基于OpenSSL 3.2和Tongsuo 实测对比了倚天ECS g8y实例和Intel g7 实例国密性能。

被测ECS实例类型配置如下:

Processor

ECS type

倚天710

g8y.8xlarge

x86处理器

g7.8xlarge

操作系统和gcc版本如下:

GCC version

10.2.1 20200825 (Alibaba 10.2.1-3 2.32)

Operating System

Alibaba Cloud Linux 3.2104 LTS

硬件信息可以通过lscpu查看

[root@Yitian]# lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              32
On-line CPU(s) list: 0-31
Thread(s) per core:  1
Core(s) per cluster: 8
Socket(s):           1
Cluster(s):          1
NUMA node(s):        1
Vendor ID:           ARM
BIOS Vendor ID:      Alibaba Cloud
Model:               0
BIOS Model name:     virt-rhel7.6.0
Stepping:            r0p0
BogoMIPS:            100.00
NUMA node0 CPU(s):   0-31
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm ssbs sb dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh
[root@Yitian]#

SM2非对称算法性能

SM2算法基于椭圆曲线(ECC)算法,包含数字签名,公钥加解密,密钥交换。相对于RSA算法,SM2密码强度比2048位的RSA密码强度要高,速度更快。SM2算法在嵌入式领域签名验签应用较多。

SM2性能测试命令:taskset -c 0-7 ./apps/openssl speed -multi 8 -elapsed sm2

加密库

SM2

sign/s

verify/s

Tongsuo

g7

10910.5

12750.2

g8y

27213.1

28727.2

openssl-3.2

g7

10920.4

12830.1

g8y

27425.8

28528.5

image.png

测试结果:SM2算法性能,Tongsuo和openssl3.2测试结果表现一致;签名性能倚天ECS g8y实例是g7的2.49倍;验签性能倚天ECS g8y是g7的2.22倍。

SM3摘要算法性能

SM3算法常用于数字签名和数据完整性保护。算法可以对一定长度的消息,填充和迭代压缩后,生成长度为256比特的散列值,又称“数字指纹”。SM3算法和MD5算法的计算迭代过程类似,采用Merkle-Damgard转换,整个转换执行过程可以概括成四个步骤:消息填充、消息扩展、迭代压缩、输出结果。SM3算法可以应用在数据存储中指纹的生成,数字影音完整性校验等等。

SM3性能测试命令:taskset -c 0-7 ./apps/openssl speed -multi 8 -elapsed -evp sm3

加密库

SM3

1K bytes

8K bytes

Tongsuo

g7

889359.02

988383.91

g8y

3851532.97

4265263.10

openssl-3.2

g7

888715.26

983979.35

g8y

3844803.34

4264506.71

image.png

测试结果:SM3算法性能,Tongsuo和openssl3.2测试结果表现一致; 8K数据的计算摘要,倚天ECS g8y实例是g7的4.3倍。

SM4对称算法性能

SM4对称算法用于实现数据的加密/解密运算,以保证数据和信息的机密性。SM4算法与AES算法具有相同的密钥长度、分组长度。SM4算法由加解密算法和密钥扩展算法组成,采用非线性结构,分组长度为128b,密钥长度为128b。SM4主要在网络数据、流媒体的加密保护,以及存储数据或文件的加密保护应用较多。

SM4-CBC性能测试命令:taskset -c 0-7 ./apps/openssl speed -multi 8 -elapsed -evp sm4-cbc

加密库

SM4-CBC

1K bytes

8K bytes

Tongsuo

g7

857721.17

858860.20

g8y

8445351.80

8450402.99

openssl-3.2

g7

857374.04

858852.01

g8y

8437472.60

8452295.34

image.png

测试结果:SM4-CBC算法性能,Tongsuo和openssl3.2测试结果表现一致; 8K数据的加解密,倚天ECS g8y实例是g7的9.84倍。

SM4-CTR性能测试命令:taskset -c 0-7 ./apps/openssl speed -multi 8 -elapsed -evp sm4-ctr

加密库

SM4-CTR

1K bytes

8K bytes

Tongsuo

g7

825366.53

826619.22

g8y

30621407.23

31672524.80

openssl-3.2

g7

825741.99

827034.28

g8y

30596200.79

31688701.27

image.png

测试结果:SM4-CTR算法性能,Tongsuo和openssl3.2测试结果表现一致; 8K数据的加解密,倚天ECS g8y实例是g7的38.3倍。

SM4-XTS性能测试命令:taskset -c 0-7 ./apps/openssl speed -multi 8 -elapsed -evp sm4-xts

加密库

SM4-XTS

1K bytes

8K bytes

Tongsuo

(未支持sm4-xts)

g7

NA

NA

g8y

NA

NA

openssl-3.2

g7

830255.10

837741.23

g8y

7598128.13

7347869.01

image.png

测试结果:SM4-XTS算法性能,8K数据的加解密,倚天ECS g8y实例是g7的8.77倍。

SM4-GCM 认证加密算法性能

GCM(Galois/Counter Mode)是认证加密(AEAD)模式中的一种, 能同时确保数据的保密性、完整性,它还可以提供附加消息的完整性校验。SM4-GCM算法适用场景TLS连接场景,如支持国密算法的浏览器。

SM4-GCM性能测试命令:taskset -c 0-7 ./apps/openssl speed -multi 8 -elapsed -evp sm4-gcm

加密库

SM4-CTR

1K bytes

8K bytes

Tongsuo

g7

894681.43

899358.72

g8y

18692320.94

19156877.31

openssl-3.2

g7

894615.89

899618.13

g8y

18686604.63

19151476.05

image.png

测试结果:SM4-GCM算法性能,Tongsuo和openssl3.2测试结果表现一致; 8K数据的加解密,倚天ECS g8y实例是g7的21.2倍。

总结

本文基于OpenSSL 3.2和Tongsuo 测试对比了倚天ECS g8y实例和Intel g7实例几个常用的国密算法性能。可以看到g8y实例性能全面领先于g7,这要得益倚天g8y强大的多核物理核心,先进的armv9架构。另外我们也看到阿里巴巴开源的Tongsuo加密库和OpenSSL 3.2的性能表现结果一致,对于那些依赖OpenSSL1.1加密的应用来说,Tongsuo不失为一个优秀高性能加密库替代产品。此外,倚天g8y实例售价比g7实例低23%,是极具性价比的一款云计算实例产品。

好啦!小弹的分享到此为止。我们更欢迎您分享您对阿里云产品的设想、对功能的建议或者各种吐槽,请扫描提交问卷并获得社区积分或精美礼品一份。https://survey.aliyun.com/apps/zhiliao/P4y44bm_8

【扫码填写上方调研问卷】

欢迎每位来到弹性计算的开发者们来反馈问题哦~

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
存储 缓存 运维
阿里云服务器经济型e与通用算力型u1实例各自性能、适用场景区别及选择参考
在选择阿里云服务器实例规格时,经济型e实例和通用算力型u1实例因其高性价比和广泛适用性,备受个人开发者、中小企业的青睐。在同地域、相同配置的情况下,经济型e和通用算力型u1实例的价格相对于其他实例规格要低一些,很多个人和初创企业用户都会优先考虑选择这两个实例规格的云服务器,那么它们之间有什么区别?各自的性能、适用场景上有何区别?我们应该如何选择呢?本文将详细解析这两款实例的性能特点、适用场景、价格优势及购买建议,帮助用户更好地理解并选择合适的云服务器实例。
|
2天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
34 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
16天前
|
存储 分布式计算 安全
阿里云服务器经济型、通用算力型、计算型、通用型各主要实例性能、适用场景对比
在阿里云目前的活动中,云服务器实例规格有几大类,分别是轻量应用服务器、经济型e实例、通用算力型u1实例,第七代计算型c7、通用型g7、内存型r7实例,第八代计算型c8i、通用型g8i、内存型r8i实例,倚天云服务器实例计算型c8y、通用型g8y、内存型r8y实例,不同类型的实例规格,性能和适用场景不同,本文将这些热门实例规格的性能和适用场景全部展示出来,以供大家做对比和选择参考,从而选择出适合自己需求的云服务器实例规格。
|
17天前
|
存储 缓存 安全
阿里云服务器通用算力型u1实例怎么样?实例性能与测评结果参考
本文将通过性能评测、适用场景、特点介绍、实测数据分享以及最新活动价格等多个方面,全方位解析这款云服务器实例,以供用户了解和参考。
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
65 1
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
46 4
|
2月前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c8i实例解析:实例规格性能及使用场景和最新价格参考
计算型c8i实例作为阿里云服务器家族中的重要成员,以其卓越的计算性能、稳定的算力输出、强劲的I/O引擎以及芯片级的安全加固,广泛适用于机器学习推理、数据分析、批量计算、视频编码、游戏服务器前端、高性能科学和工程应用以及Web前端服务器等多种场景。本文将全面介绍阿里云服务器计算型c8i实例,从规格族特性、适用场景、详细规格指标、性能优势、实际应用案例,到最新的活动价格,以供大家参考。
|
19天前
|
存储 Oracle 固态存储
阿里云服务器ESSD云盘性能级别详解
存储性能对于应用的运行效率和用户体验至关重要,阿里云作为领先的云服务提供商,为用户提供了多种存储解决方案,其中ESSD云盘以其高性能和灵活性备受关注。本文将详细介绍阿里云服务器ESSD云盘的四种性能级别——PL0、PL1、PL2和PL3,以及它们各自的单盘IOPS性能上限和容量大小等关键信息,帮助您更好地选择适合自身需求的存储方案。
|
12天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
145 80
|
5天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。

相关产品

  • 云服务器 ECS