01引言
信息系统开展密评是规范密码应用、维护网络空间安全的基本要求,同时又可促进国产密码在各个行业的广泛应用。随着应用场景的深入挖掘,各种应用环境对密码算法的性能及安全性需求提出了不同的要求,尤其是应用最为广泛的SM4密码算法。
例如多路视频高清和超高清监控数据需要超高性能的密码算法进行保护。网络和通信安全需要采用密码技术对通信过程中的敏感数据做机密性保护,这就对SM4算法高性能实现提出了具体需求,否则必然对系统的性能造成较明显的损耗,影响网络通信能力。还有很多行业对加密存储的性能要求非常高。年Intel、AMD等处理器厂商纷纷宣布在其处理器上推出用于AES加解密的AES-NI指令集,这使得采用AES-NI指令集实现AES算法的性能得到进一步提升。目前SM4算法性能与AES算法相比有一定差距,特别是与AES-NI加速指令的差距更加明显,如果不尽快补上这些性能短板,必将影响国密算法的广泛应用。
02SM4算法实现介绍SM4分组密码算法是我国第一个公开的商用分组密码算法,分组长度为比特,密钥长度也是比特,加密算法与密钥扩展算法都采用32轮广义Feistel结构进行迭代,这使得解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反。
为了高效地实现SM4算法,国内外众多学者提出了多种软硬件工程实现思路。早期的SM4软件实现方法仅限于查表实现,但因SM4算法架构等因素,其查表实现的性能明显低于AES算法。国内外许多学者尝试采用SIMD技术应用到密码算法的软件快速实现中,例如SSE指令集、AVX指令集等。SIMD可实现一条指令操作多个数据,是CPU基本指令集的扩展,用于提供数据的并行操作,比如数字图像处理。学者们将SSE指令与比特切片等技术应用到密码算法上提高了算法的实现性能。中科院软件所利用SIMD技术优化实现SM4算法,该方法相比于查表方法,其软件实现性能可以提高85%至%。北航软件开发环境国家重点实验室简化S盒,采用比特切片技术,结合AVX指令实现SM4算法的个分组并行加解密,实现效率提高了43%。,Intel公司提出了基使用AES-NI指令集实现SM4的专利,年,道里云公司也公开发表了使用AES-NI指令集实现SM4的另一种方案。
另外也有借助硬件GPU进行SM4加速实现的方案。北京电科院通过研究最优明文数据块、GPU存储类型和线程块对SM4加密的加速比,提出GPU并行SM4加解密方案,将性能提升到25倍左右。中国工业控制系统网络应急响应小组利用CUDA提出了SM4的CPU-GPU方案,并引入页锁内存和CUDA流方案使得SM4的速度提升到88倍左右。这两篇文章都指出,当明文数据块较小时(如小于8KB),由于CPU和GPU之间的数据交互传输耗时以及小数据包时GPU无法调用全部的计算单元参与运算,使得GPU方案的效率可能不升反降,因此应用场景有一定的局限性。此外,GPU本身的性能也与加速效果强相关。
Gb每秒!海泰的新篇章!海泰以密码技术融合创新为依托深耕国密算法高性能实现,基于国内外研究成果进行SM4的软件高性能实现研究。重点针对CPU流水线和不同类型的SIMD的深入理解和分析,结合SSE、AVX指令集的并行化实现特点以及对SM4性能优化的改善程度,剖析不同工作模式的可并行性以及对并行加解密性能的改善情况,设计出高性能的SM4并行实现方法,此外,设计的SM4高性能实现自适应匹配技术以及内置智能最优解方案模块,可根据监测的CPU架构特征自适应地匹配符合CPU特征的高性能加解密方案,自动快速搜寻局部最优解,使得加解密性能尽可能达到局部最优。该方案已部署在SM4算法的五种常见工作模式中,在英特尔I5处理器上优化部署后的SM4软件高性能实现方案性能从原有的3.54Gbps(百万比特每秒)提升至7.36Gbps,性能为原方案的2.08倍;在英特尔的十一代i7RocketLake处理器上进行单线程性能测试,ECB模式的加密和解密速度达到10Gbps,CTR模式的加解和解密性能不低于9Gbps,CBC模式和CFB模式的解密性能也都超过9Gbps,如下图。
海泰SM4高性能密码实现方案的性能
SM4实现方案除了已经支持上述五种常见工作模式之外,其它更多的工作模式也正在全力支持中。此外,海泰的SM4算法高性能实现还在进行持续迭代,多种模式的实验室测试数据均在10Gbps以上。
04高性能SM4应用海泰SM4算法的高性能实现,使得单线程的加解密速度可达到10Gbps(1.25GB/s),多线程可达到Gbps以上,这使得海量数据的安全存储和安全“闪”存得以实现。
几乎所有的数据密集型应用场景都将是海泰高性能SM4算法大显身手之处。当前,移动应用、AI应用、AR/VR、云手机、物联网、车联网等新型应用、智能物联网应用爆发式增长,更加多样化的算力产生在云上,提供个性化服务,改变人们的生活,这些应用场景要求简化现有IT基础架构,优化服务器资源利用率,提高系统可用性,这是海泰密码技术赋能高质量密码供给,确保数据安全的重要应用领域。
与此同时,海泰高性能SM4也正在与相关密码产品进行对接集成,支持更多的密码产品,为更多的安全产品赋能更高性能的国密算法实现,提供更加完善的安全功能,为云计算、大数据、物联网、移动互联、工业控制、人工智能等领域提供更加完善的安全服务。
05展望如今,海泰方圆正全面开展国产密码算法系列的高性能实现,不仅进一步优化SM4算法性能,还在进行SM3算法、SM2算法、SM9算法、ZUC算法的高性能实现,将商密算法的高性能实现延展到国产化平台,助力国产化安全。
END