近日,在2024年“金融密码杯” 密码应用和技术创新大赛中,蚂蚁数科摩斯技术团队荣获 “第二阶段赛事赛道”的一等奖。
“金融密码杯”密码应用和技术创新大赛是国内金融行业中规格最高的密码大赛,由中国人民银行和国家密码管理局共同指导。今年共设立了创新赛道、挑战赛道和第二阶段赛事三个赛道,吸引了来自全球各地高校院所、金融机构等300余支队伍参赛。
密码学作为一项基础学科,在现代信息技术产业中的应用无处不在,它通过一系列计算技术及数学方法来保证信息的安全性。在实践应用中,往往需要考量一项加密算法的安全性与效率的平衡。
今年,第二阶段赛事赛道的赛题是“国密算法的高速安全软件实现”,题目分为两部分:服务器端和移动端国密算法SM2、3、4的高效软件实现。参赛作品需同时满足功能正确性、安全性和内存限制要求,并力求达到最高的性能表现。两部分分别针对不同的硬件环境,旨在全面促进国密算法在金融领域的广泛应用,进一步提升密码算法的安全性和性能水平。
蚂蚁数科团队的MorseCrypto在X86和ARM平台上从算法设计和编码实现两个方面优化实现了国密算法。
算法上,充分利用X86平台的高级矢量扩展指令集和ARM平台的A64指令集特性,设计向量化并行的实现算法,使单任务和多任务的并行实现均达到最少计算数,同时特别优选指令实例化算法使算法的实际总指令数最少、理论时延最低。
实现上,采用汇编语言和内联汇编编码,精准控制寄存器以最少访存,同时充分考虑处理器计算单元的超标量指令流水线等特性,精心排布数据无关指令将各计算单元流水线填满,达到最高指令吞吐量。
效果显示,MorseCrypto的SM2、SM3、SM4算法实现性能与目前最快的开源库相比均有大幅提升。其中,X86平台上SM2验签达到3倍,ARM平台上SM2验签达到4.3倍。
目前,这项技术创新已经应用至摩斯隐私计算产品中,能极大提升产品性能,有效支撑营销场景下数据量大、计算时效性强的需求,并能满足金融机构对国密算法、国产化CPU支持的要求。