10Gb每秒!SM4的单核“心”!海泰携手海量数据安全“闪”护

news2024/12/23 13:54:34
  1. 引言
    密码技术是保护网络与信息系统安全的核心技术,已经广泛应用到金融、能源、通信、交通、水利等各行各业,为国家安全和经济发展发挥重要作用。商用密码应用安全性评估(简称密评),是指在釆用商用密码技术、产品和服务集成建设的网络和信息系统中对密码应用的合规性、正确性和有效性等进行评估。对信息系统开展密评是规范密码应用、维护网络空间安全的基本要求,同时又可促进国产密码在各个行业的广泛应用。

随着应用场景的多元化,对密码算法的性能及安全性需求提出了不同要求,尤其是应用最为广泛的SM4密码算法。例如,网络和通信安全需要采用密码技术对通信过程中的敏感数据做机密性保护,这对SM4算法高性能实现提出了具体需求,否则会对系统的性能造成较明显的损耗,影响网络通信能力。另一方面,多路视频高清和超高清监控数据需要超高性能的密码算法进行保护,否则可能影响方案的可实施性。此外,还有很多行业对加密存储提出了高性能需求。近些年来Intel、AMD等处理器厂商纷纷宣布在其处理器上推出用于AES加解密的AES-NI指令集,这使得采用AES-NI指令集实现AES算法的性能得到进一步提升。目前SM4算法性能与AES算法相比有一定差距,特别是与AES-NI加速指令的差距更加明显,若不尽快补齐性能短板,必将影响国密算法的广泛应用。

  1. SM4算法实现介绍
    SM4分组密码算法是我国的商用分组密码算法,分组长度为128比特,密钥长度也是128比特,加密算法与密钥扩展算法都采用32轮广义Feistel结构进行迭代,解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反。

为了高效地实现SM4算法,国内外众多学者提出了多种软硬件工程实现思路。早期的SM4软件实现方法仅限于查表实现,但因SM4算法架构等因素,其查表实现的性能明显低于AES算法。国内外许多学者尝试采用SIMD技术应用到密码算法的软件快速实现中,例如SSE指令集、AVX指令集等。SIMD可实现一条指令操作多个数据,是CPU基本指令集的扩展,用于提供数据的并行操作,如数字图像处理。学者们将SSE指令与比特切片等技术应用到密码算法以提高算法的实现性能。中科院软件所[1]利用SIMD技术优化实现SM4算法,该方法相比于查表方法,其软件实现性能可以提高85%至138%。北航软件开发环境国家重点实验室 [2]简化S盒,采用比特切片技术,结合AVX指令实现SM4算法的256个分组并行加解密,实现效率提高了43%。2014年,Intel公司[3]提出了基于AES-NI指令集实现SM4的专利,2017年,道里云公司[4]也公开发表了使用AES-NI指令集实现SM4的另一种方案。

另外,也有借助硬件GPU进行SM4加速实现的方案。北京电科院[5]通过研究最优明文数据块、GPU存储类型和线程块对SM4加密的加速比,提出GPU并行SM4加解密方案,将性能提升到25倍左右。中国工业控制系统网络应急响应小组[6]利用CUDA提出了SM4的CPU-GPU方案,并引入页锁内存和CUDA流方案使得SM4的速度提升到88倍左右。以上两篇文章都指出,当明文数据块较小时(如小于8KB),由于CPU和GPU之间的数据交互传输耗时以及小数据包时GPU无法调用全部的计算单元参与运算,使得GPU方案的效率可能不升反降,因此应用场景有一定的局限性。此外,GPU本身的性能也与加速效果强相关。

  1. 10Gb每秒!海泰的新篇章!
    作为一家以密码为基因、以创新为驱动的企业,海泰方圆持续重视研发投入,2022年,公司研发中心和技术体系启新,全新的“密码技术融合创新中心”和“数据智能安全工程中心”隆重启用。公司以密码技术融合创新中心为依托,加速布局密码业务,深化技术创新研究,深耕国密算法高性能实现,基于国内外研究成果进行SM4的软件高性能实现研究。

在这里插入图片描述

图1 海泰密码技术融合创新中心和数据智能安全工程中心成立

重点针对CPU流水线和不同类型的SIMD的深入理解和分析,结合SSE、AVX指令集的并行化实现特点以及对SM4性能优化的改善程度,剖析不同工作模式的可并行性以及对并行加解密性能的改善情况,设计出高性能的SM4并行实现方法。此外,设计的SM4高性能实现自适应匹配技术以及内置智能最优解方案模块,可根据监测的CPU架构特征自适应地匹配符合CPU特征的高性能加解密方案,自动快速搜寻局部最优解,使得加解密性能达尽可能达到局部最优。该方案已部署在SM4算法的五种常见工作模式中,在英特尔十一代I5处理器上优化部署后的SM4软件高性能实现方案性能从原有的3.54Gbps(百万比特每秒)提升至7.36Gbps,性能为原方案的2.08倍;在英特尔的十一代I7处理器上进行单线程性能测试,ECB模式的加密和解密速度达到10 Gbps,CTR模式的加解和解密性能不低于9 Gbps,CBC模式和CFB模式的解密性能也都超过9 Gbps,如下图。
在这里插入图片描述

图2 海泰SM4高性能密码实现方案的性能

SM4实现方案除了已经支持上述五种常见工作模式之外,其它更多的工作模式也正在全力支持中。此外,在海泰的密码技术融合创新中心,SM4算法高性能实现还在进行持续迭代,多种模式的实验室测试数据均在10 Gbps以上。

  1. 高性能SM4的应用
    在大数据时代,海量数据需要进行安全防护,随着技术的迭代,多种新型存储技术快速发展,传统150MB/s(百万字节每秒)左右存储速度的HDD硬盘已经开始逐渐向更加快速的可达到500MB/s的固态硬盘SSD存储技术转变,甚至PCIe/M.2 SSD的速度范围可以达到1.0GB/s到2.0GB/s。这使得存储技术已不再是制约海量数据安全存储的短板了,而SM4密码算法传统的软件实现方案不足1Gbps(125MB/s),即使高性能硬件加密卡的4Gbps(500MB/s)的加解密速度也只能刚好与普通SSD的性能持平。以上数字都清晰地指出SM4加解密速度已经成为海量数据安全存储的瓶颈,严重制约商密算法的应用,特别是在海量数据安全存储等应用场景。因此,市场迫切需要更高效的SM4算法,避免将国密算法置入性能瓶颈的尴尬之地。

海泰SM4算法的高性能实现,使得单线程的加解密速度可达到10Gbps(1.25GB/s),多线程可达到100Gbps以上,这使得海量数据的安全存储和安全“闪”存得以实现。

此外,几乎所有的数据密集型应用场景都将是海泰高性能SM4算法大显身手之处。当前,移动应用、AI应用、AR/VR、云手机、物联网、车联网等新型应用、智能物联网应用爆发式增长,更加多样化的算力产生在云上,提供个性化服务,改变人们的生活,这些应用场景要求简化现有IT基础架构,优化服务器资源利用率,提高系统可用性,这是海泰密码技术赋能高质量密码供给,确保数据安全的重要应用领域。

与此同时,海泰高性能SM4也与相关密码产品进行对接集成,支持更多的密码产品,为更多的安全产品赋能更高性能的国密算法实现,提供更加完善的安全功能,为云计算、大数据、物联网、移动互联、工业控制、人工智能等领域提供更加完善的安全服务。

  1. 总结与展望
    如今,海泰正全面开展国产密码算法系列的高性能实现,不仅进一步优化SM4算法性能,还在进行SM3算法、SM2算法、SM9算法、ZUC算法的高性能实现,将商密算法的高性能实现延展到国产化平台,助力国产化安全。

参考文献
[1] 郎欢, 张蕾, 吴文玲. SM4的快速软件实现技术[J]. 中国科学院大学学报, 2018, 35(02): 180-187.

[2] 张笑从, 郭华, 张习勇, 等. SM4算法快速软件实现[J]. 密码学报, 2020, 7(06): 799-811. DOI:10.13868/j.cnki.jcr.000407.

[3] Intel. Technologies for modifying a first cryptographic cipher with operations of a second cryptographic cipher. US-2015341168-A1[P]. 2014-05-21.

[4] DaoliCloud Company. Technologies, Methods and Apparatus for Secure and Efficient Implementation of Block Ciphers[R]. Beijing: DaoliCloud Company. 2017-03-10.

[5] 李秀滢, 吉晨昊, 段晓毅, 等. GPU上SM4算法并行实现[J]. 信息网络安全, 2020, 20(06): 36-43.

Li, J., Xie, W., Li, L., Wu, X. (2021). Parallel Implementation and Optimization of SM4 Based on CUDA. In: Chen, B., Huang, X. (eds) Applied Cryptography in Computer and Communications. AC3 2021. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 386. Springer, Cham. https://doi.org/10.1007/978-3-030-80851-8_7

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计汽车租赁管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【numpy简介、入门、数组创建】

🤵‍♂️ 个人主页老虎也淘气 个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏…

基于jsp+mysql+ssm学生网上请假系统-计算机毕业设计

项目介绍 随着高校招生规模的逐步扩大和教学方式的改革,在校学生人数将不断增加。另一方面,我国高等学校基层学生考核工作的内容杂,管理细,要求高,头绪多,传统的手工档案式管理办法已基本不适应新形势的要…

[附源码]JAVA毕业设计社区管理与服务(系统+LW)

[附源码]JAVA毕业设计社区管理与服务(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&a…

XX集团BIM项目解决方案

目 录 一、BIM发展现状 二、集团BIM建设总体规划(建议) 1、BIM实施目标 2、BIM实施的范围 3、BIM实施原则 4、集团BIM项目组织架构 4.1职能分配 4.2建模组织形式 4.3人员匹配建议 5、集团BIM应用功能架构 5.1 BIM平台对集团管理层面的价值 5…

原来Python自带了数据库,用起来真方便

Python作为数据科学主流语言,被广泛用于数据读存、处理、分析、建模,可以说是无所不能。 数据一般存放在本地文件或者数据库里,之前介绍过如何使用python读取本地文件,也对# PyMySQL、cx_Oracle等数据库连接库做过简单的使用分享…

乾元通多卡聚合通信设备应急指挥车视频图传解决方案

行业现状 1) 不稳定:单一通信链路受运营商网络覆盖影响,不同区域信号强度不一样,无法实现。 2) 网速慢:受基站信号质量及拥塞影响,单路网速较差,高清视频监控等由于网络带宽不够,只能以低画质…

基于jsp+ssm的新生入学报道系统-计算机毕业设计

项目介绍 众多高校为了响应国家的号召,很多管理办法都落实到科学管理,通过计算机来实现对学校的具体管理办法当中,不仅仅促进了学校里计算机系统管理的发展,同时一定程度上加大了对学校的管理力度,数据量的不断增加&a…

Java常问面试题概要答案

文章目录1.JDK、JRE、JVM的区别2.hashcode()与equals()之间的关系3.String、StringBuffer、StringBuilder的区别4.Java泛型5.ArrayList和LinkedList区别6.ConcurrentHashMap7. B树和B树8.负载均衡常见策略1.JDK、JRE、JVM的区别 JDK:java标准开发包,包含…

【安全测试】渗透测试神器BurpSuite环境搭建

工欲善其事,必先利其器,要想更好的进行安全测试,就需要有一个趁手的工具,BurpSuite就是一个不错的选择,是广大安全测试工程师的必备工具,今天就带着大家把这个工具给装上,开启大家的安全测试之旅…

数据结构与算法基础-学习-06-线性表之创建循环链表、创建尾指针循环链表、两个尾指针循环链表连接

一、测试环境 名称值cpu12th Gen Intel Core™ i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2gcc 版本4.8.5 20150623 二、个人理解 1、循环链表优点 无论指针指向哪个节点,都可以访问任何一个其他节点。 2、尾指针循环链表优点 同上…

实现端口扫描

实现原理 tcp扫描 创建tcp客户端然后与目标地址的每个端口建立连接,如果能连接成功说明目标地址此端口已经被打开。 判断是什么协议 连接成功后读取字节,如ssh协议的端口会读取到如这种的数据SSH-2.0-OpenSSH_7.4;创建http/s客户端与已经扫描出来的端…

LINUX漏洞复现篇之ShellShock漏洞

简介 ShellShock漏洞, 中文称为"破壳漏洞", 是Unix Shell中的安全漏洞 在一些网络服务器的部署中, 使用bash来处理某些请求, 允许攻击者通过低版本的bash执行任意Shell命令 此漏洞在调用BashShell之前使用payload创建环境变量, 这些环境变量包含Shell代码, 在Shel…

家庭生活开支如何记录,怎么记账一目了然

家庭日常开支明细怎么记账一目了然呢?很多上了年龄的人比较擅长使用传统的方法纸笔记录家庭账目,可是统计起来就比较麻烦;而年轻人则比较跟随时代潮流,喜欢使用一些电子记账工具,比如借助电脑手机上的记账类软件来记录…

5个实用的性能测试工具(软件测试工程师必备)

在日常的软件测试工作中,最常用的性能测试工具是LoadRunner和Jmeter。今天给大家整理了5个针对web应用程序性能和负载压力能力的最广泛使用的性能测试工具。 这几个负载测试工具将确保应用程序在高峰流量和极端压力条件下的性能。 包括开源和授权的性能测试工具。…

国内食用油行业数据浅析

大家好,这里是小安说网控。 食用油是生活必备品之一,其中植物油占消费主导地位。 据国家统计局数据,2022年10月份国内精制食用植物油产量当期值为428.6万吨,同比下降0.8%;1-10月份精制食用植物油累计产量3925.2万吨&am…

Whitelabel Error Page

直接上图,就这个该死的错误!! 控制台报错:No mapping for GET /front/page/login.html 首先这个错误就是请求路径问题,或者根本没加载上html。 原因:springboot中,静态资源默认访问static和te…

现在的程序员真是越来越懒了,api 文档都懒得写!程序员:“api工具惯的”

为了让大家更能清楚了解 Api 相关往期内容,我写了一个阅读指引: 序号学习路径指引链接1Api -- 连接世界的 Super StarApi -- 连接世界的Super Star_不吃西红柿丶的博客-CSDN博客2软件吞噬世界,Api 快速入门到放弃软件吞噬世界,Ap…

为什么在vue2中改变数据视图不会更新,带你阅读源码

1. 监听数组变化 其实 Vue 监听数组变化的原理非常简单, 就是将数组的主要方法包裹了一遍只要用户调用以下方法, 就会通知 Watcher 自动更新视图: push()pop()shift()unshift()splice()sort()reverse() 演示 工程源码: src/core/observer/array.js // 获取数组的原型 Array.…

jsp servlet mysql实现的二手车汽车管理系统项目源码附带视频指导运行教程

今天给大家演示一下由jsp servlet mysql实现的一款简单的二手车汽车管理系统,系统设计采用了mvc分层的模式,结构非常清晰,功能虽简单,但是把所有可能用到的功能都实现了,往上面添加功能很简单,直接复制代码…