基于高级向量扩展512(Advanced Vector Extensions 512,AVX?512)加速的LSH与LEA?GCM算法实现

《Behavioral Sciences》:Advanced Vector Extensions 512 Acceleration of LSH and LEA-GCM

【字体: 时间:2026年07月09日 来源:Behavioral Sciences 3.2

编辑推荐:

  摘要:本文提出韩国两项标准密码算法的基于高级向量扩展512(Advanced Vector Extensions 512,AVX?512)的高性能实现——轻量级安全散列(Lightweight Secure Hash,LSH)函数与轻量级加密算法-伽罗华/计数

  
摘要:本文提出韩国两项标准密码算法的基于高级向量扩展512(Advanced Vector Extensions 512,AVX?512)的高性能实现——轻量级安全散列(Lightweight Secure Hash,LSH)函数与轻量级加密算法-伽罗华/计数器模式(Lightweight Encryption Algorithm–Galois/Counter Mode,LEA?GCM)认证加密。对于LSH,研究人员应用三种优化策略:利用AVX?512的512位向量寄存器进行单消息处理、通过寄存器交织实现双消息并行处理,以及使用基于动态队列的pthread线程池进行多核并行化。对于LEA?GCM,研究人员提出端到端优化方案,以16块并行AVX?512处理取代标量计数器模式(Counter Mode,CTR)加密,并以基于VPCLMULQDQ的四块并行处理取代基于流SIMD扩展(Streaming SIMD Extensions,SSE)的伽罗华哈希(Galois Hash,GHASH)认证。在Intel Core i7?1165G7(Tiger Lake)处理器上的性能评估表明,LSH?256较韩国互联网与安全局(Korea Internet and Security Agency,KISA)AVX2参考实现平均吞吐提升1.16倍,LSH?512平均提升1.61倍;双消息交织处理因指令级并行(Instruction?Level Parallelism,ILP)获得平均2.28倍的超线性加速,线程池在八个逻辑核(四物理核带超线程)上实现3.73至5.13倍加速。优化后LEA?GCM较KISA基于SSE的参考实现吞吐提升3.26倍,对4096字节输入较纯软件实现提升12.1倍,且正确性经KISA官方测试向量验证。
论文解读:基于AVX?512加速韩国标准密码算法LSH与LEA?GCM的研究
研究背景与意义
随着网络协议、云服务及嵌入式设备中需密码学处理的数据量持续增长,密码学原语(尤其是杂凑函数与认证加密)的实现性能成为系统吞吐与延迟的关键瓶颈。韩国互联网与安全局(Korea Internet and Security Agency,KISA)于2014年发布的LSH(Lightweight Secure Hash)是韩国国家标准杂凑函数族,含LSH?256(32位字,256位内部状态)与LSH?512(64位字,512位内部状态)两个子族,支持224/256/384/512位输出;其压缩函数由加法?异或?旋转(Addition?XOR?Rotation,AXR)混合步与字置换步构成,LSH?512的内部链(8×64位=512位)恰好可映射至一条AVX?512 ZMM寄存器。LEA是KISA于2013年发布的韩国国家标准分组密码,采用无S盒的ARX(Addition?Rotation?XOR)结构,常与伽罗华/计数器模式(Galois/Counter Mode,GCM)结合构成LEA?GCM认证加密方案,获KISA韩国密码模块验证程序(Korea Cryptographic Module Validation Program,KCMVP)批准。现有KISA参考实现中,LSH仅提供AVX2优化,LEA?GCM的计数器模式(Counter Mode,CTR)为逐块标量加密、GHASH(Galois Hash)基于128位SSE(Streaming SIMD Extensions)的PCLMULQDQ指令,未利用AVX?512的512位矢量乘无进位乘法(VPCLMULQDQ)及16块并行CTR处理能力,性能受限。与有专用AES?NI硬件指令的AES?GCM不同,LEA作为纯软件ARX密码须完全依赖SIMD数据并行来加速CTR加密。因此,系统性地用AVX?512对LSH全变体与LEA?GCM端到端流程进行优化具有重要工程与标准化参考价值。本研究发表于《Behavioral Sciences》。
主要关键技术方法
研究人员在Intel Core i7?1165G7(Tiger Lake,4物理核/8逻辑线程,支持AVX?512与VPCLMULQDQ)平台上实施并评估四种策略:①LSH单消息AVX?512实现——LSH?512偶数链与奇数链各占一条512位ZMM寄存器,Mix步一次完成8对64位字的AXR操作;LSH?256沿用256位通道但利用AVX?512扩展指令减少操作数。②LSH双消息并行——将两条LSH?256消息的偶链/奇链分别交织装入同一ZMM寄存器高低256位半区,单条矢量指令同步更新两消息压缩状态以利用指令级并行(Instruction?Level Parallelism,ILP)。③LSH多核并行——基于pthread构建动态链表队列线程池,消息分批次(batch size=128)入队,工作线程互斥取批后独立执行AVX?512单消息哈希,完成计数通过条件变量通知主线程,自动按物理核数设线程数(本平台8线程)。④LEA?GCM端到端优化——CTR加密一次生成并并行加密16个递增计数器块(同位置字打包入ZMM,调用Choi等人提出的AVX?512 LEA 16块并行例程),产生密钥流与明文异或;GHASH在初始化时预计算H、H2、H3、H?,每四密文块与H幂打包入512位ZMM寄存器,用四条VPCLMULQDQ(按Karatsuba分解)完成四路GF(212?)无进位乘法,随后做异或归约与模GCM不可约多项式(x12?+x?+x2+x+1)的缩减,不足64字节退至SSE单块路径。正确性通过与KISA官方测试向量比对验证;性能以rdtsc(前置lfence)测周期数、MiB/s吞吐(重复测30次取均值与95%置信区间)为指标。
研究结果
4.2 单消息性能(Single?Message Performance)
研究人员对比KISA AVX2参考实现与所提AVX?512单消息实现,LSH?256族平均吞吐加速1.16倍,LSH?512族平均加速1.61倍;每字节周期数(Cycles Per Byte,CPB)方面LSH?512从约5.1降至3.2,LSH?256从约5.0微降至4.4。原因是LSH?512的一条链恰好填满ZMM寄存器,AVX2参考需用两条256位YMM操作,AVX?512直接减半矢量指令数,而LSH?256 AVX2版已较充分矢量化故增益较小。
4.3 双消息性能(Dual?Message Performance)
研究人员将两条LSH?256消息交织进AVX?512寄存器并行处理,对比两次顺序调用AVX2参考,加速比范围为2.20至2.36倍(平均2.28倍),超过理论数据并行上限2.00倍。性能计数器显示顺序调用执行16.2 G条指令、IPC(Instructions Per Cycle)为1.30,而双消息内核执行10.5 G条指令、IPC升至1.72(提升32%),证实独立消息交织额外挖掘了ILP;相对AVX?512单消息基线亦约有2.00倍加速,大输入(1024/4096字节)因计算轮次更多ILP收益略明显。
4.4 线程池性能(Thread?Pool Performance)
研究人员在1/2/4/8工作线程下测LSH各变体批量哈希(N=10240消息,batch=128)。线程数由1增至2与4时近线性加速(约×1.9与×1.85阶段加速),四物理核上4096字节输入较单线程加速约3.70倍;由4增至8线程(超线程)再增约1.2至1.39倍,最终八线程整体加速3.73至5.13倍(平均4.34倍)。大输入加速更显著(64字节为3.73?3.93倍,4096字节达4.82?5.13倍),因同步开销占比降低;多线程结果波动大于单线程源于调度不确定性。
4.5 LEA?GCM性能(LEA?GCM Performance)
研究人员对比三种LEA?128?GCM实现:纯软件GHASH(SW)、SSE PCLMULQDQ GHASH(SSE,KISA参考)及所提AVX?512 CTR(16块)+VPCLMULQDQ GHASH(4块)(AVX)。4096字节输入时AVX较SSE参考CPB降低为原1/3.26(吞吐提升3.26倍),较SW参考降低为原1/12.1(提升12.1倍);短消息(64字节)因GCM初始化开销占比大加速比略低(约2.1倍),256字节及以上加速稳定上升。分解贡献:仅将CTR改为AVX?512 16块并行使CPB从SSE基线的约9.89降至4.02,再替换GHASH为VPCLMULQDQ四块并行进一步降至3.03(额外约1.33倍改善)。
4.6 讨论(Discussion)
研究人员指出,关闭睿频后AVX?512授权引发的频率下降在本平台<0.5%,线程池加速主要受限于四物理核数,超线程贡献次一级增益。大数据流式访存使内存带宽与缓存成为多核扩展潜在瓶颈,更大输入可更好掩盖同步与访存延迟。所述内核仅用ISA内建intrinsics,可在AMD Zen 4(双倍泵256位单元、无频率惩罚)与Intel Sapphire Rapids(原生512位单元、更大缓存、更高带宽)等AVX?512平台运行,具体加速比受缓存、矢量单元宽度及降频策略影响。侧信道方面:LSH与LEA CTR为纯ARX无秘密相关查表/GHASH为恒定时间无进位乘,唯一数据相关访存为GHASH归约最高次项所用的256字节小表,可改用等价移位归约消除以实现全常数时间。源码与基准脚本公开于https://github.com/Lee?Seungwon1215/LSH?LEA?on?AVX512 。
结论翻译(Summary & Conclusions)
本文提出韩国标准密码算法LSH杂凑函数与LEA?GCM认证加密基于AVX?512的优化实现并验证其性能提升。对LSH应用三种策略:AVX?512 ZMM寄存器单消息处理使LSH?256较KISA AVX2参考平均吞吐提升1.16倍、LSH?512提升1.61倍;双消息寄存器交织较AVX2参考平均加速2.28倍(较AVX?512单消息约2.00倍),测得IPC提升32%证实ILP利用;动态队列线程池在四物理核(八逻辑线程)处理器上实现3.73至5.13倍加速。对LEA?GCM结合16块AVX?512 CTR并行与四块VPCLMULQDQ GHASH并行,较KISA SSE参考实现认证加密吞吐提升3.26倍,4096字节输入较纯软件实现提升12.1倍,正确性经KISA官方测试向量核验。结果为韩国标准密码算法的AVX?512优化潜力提供系统化依据,并为韩国标准密码实际部署建立实用性能基准。未来工作包括在多AVX?512平台复现实验、GHASH超越四块并行及CTR?GHASH流水化、以及将LSH与LEA?GCM整合为统一AVX?512认证杂凑构造研究。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号