首页 | 官方网站   微博 | 高级检索  
     

AKCN-MLWE算法AVX2高效实现
引用本文:杨昊,刘哲,黄军浩,沈诗羽,赵运磊.AKCN-MLWE算法AVX2高效实现[J].计算机学报,2021,44(12):2560-2572.
作者姓名:杨昊  刘哲  黄军浩  沈诗羽  赵运磊
作者单位:南京航空航天大学计算机科学与技术学院 南京211106;密码科学技术国家重点实验室 北京100878;复旦大学计算机科学技术学院 上海200433
摘    要:随着量子计算机的快速发展,经典密码系统面临巨大的威胁.Shor算法可以在量子计算机上多项式时间内分解大整数和求解离散对数,而这两类问题分别对应经典公钥密码系统中的RSA和椭圆曲线密码(ECC)所依赖的困难问题,因此可以抵御量子计算攻击的后量子密码近年来受到广泛的研究.格密码是后量子密码中最为高效且拓展性强的一类密码算法,在未来会逐步替代传统公钥密码算法(RSA、ECC等).256位高级向量扩展(AVX2)指令集是英特尔64位处理器中普遍支持的一类单指令多数据(SIMD)指令集,可用于并行计算.但是,由于格密码结构复杂,在支持AVX2指令集的英特尔64位处理器上难以对格密码方案进行高适配的深度优化.AKCN MLWE算法是我国自主设计的基于模格上容错学习(MLWE)问题的格密码密钥封装(KEM)方案,是中国密码学会举办的公钥密码算法竞赛第二轮的获奖算法.本文基于256位高级向量扩展(AVX2)指令集设计了针对AKCN MLWE算法的高效实现方案,包括以下几个关键优化点:针对多项式乘法,本文结合最优的数论变换(NTT)算法,将NTT的最后一层转换为线性多项式并使用Karatsuba算法进行加速计算,大幅提升计算效率的同时减少了预计算表的空间占用;针对取模运算,本文结合了Barrett约减算法和蒙哥马利约减算法的优势,同时采用延迟约减技术降低取模次数;本文针对所有多项式运算均实现了高度并行化,设计了针对多项式压缩与解压缩的并行算法,进一步提升了实现效率.本文设计的AKCN-MLWE算法AVX2高效实现方案在八核Intel Core i99880H处理器上仅需不到0.04 ms即可完成一次完整的KEM(包括密钥生成、密钥封装和密钥解封装),相比于参考实现提升8.84倍,其中密钥生成提升7.07倍,密钥封装提升7.90倍,密钥解封装算法提升11.78倍.本文提出的AKCN MLWE算法AVX2实现方案在相近经典安全强度下性能优于美国国家标准技术研究所(NIST)后量子密码标准化进程第二轮中众多格密码方案(Kyber、NewHope和Saber等).同时,本文设计的部分优化方案可用于提升Kyber、NewHope等格密码方案的性能.

关 键 词:后量子密码  格密码  高级向量扩展  数论变换  模约减  多项式运算

High-Speed AVX2 Implementation of AKCN-MLWE
YANG Hao,LIU Zhe,HUANG Jun-Hao,SHEN Shi-Yu,ZHAO Yun-Lei.High-Speed AVX2 Implementation of AKCN-MLWE[J].Chinese Journal of Computers,2021,44(12):2560-2572.
Authors:YANG Hao  LIU Zhe  HUANG Jun-Hao  SHEN Shi-Yu  ZHAO Yun-Lei
Abstract:
Keywords:
本文献已被 万方数据 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号