利用 AVX512 指令集与 VPCLMULQDQ 指令在 $\mathbb{F}_2[X]$ 上的更快乘法
密码学与安全
2022-01-26 v1
摘要
基于编码的密码学是后量子密码学语境下的主要方案之一,此类若干协议已提交至 NIST 平台。其中,BIKE 与 HQC 是 NIST 标准化进程第三轮 KEM 类别中选出的五个备选候选方案中的两个。这两种方案使用了二元环上大多项式的乘法,且由于多项式规模(从 10,000 到 60,000 比特),该运算在密钥生成、封装或解封装机制中是最昂贵的操作之一。本文中,我们重访现有不同的常数时间任意多项式乘法算法。我们探索不同的 Karatsuba 与 Toom-Cook 构造,以确定在 AVX2 与 AVX512 指令集语境下各多项式次数范围的最佳组合。这分别导出了不同的核与构造。特别地,在 AVX512 语境下,我们使用 VPCLMULQDQ 指令,这是一种向量化二元多项式乘法指令。该指令处理至多四个多项式(次数至多为 63)的乘法,四个结果存于单个 512 位字中。与 AVX2 指令集实现相比,这约将退役指令数降至三分之一,而处理器时钟周期方面的加速比达 39%。这些结果不同于 Drucker(Fast multiplication of binary polynomials with the forthcoming vectorized vpclmulqdq instruction, 2018)中的估计。为说明新 VPCLMULQDQ 指令的益处,我们使用 HQC 码评估我们的方法。当在 HQC 协议中实现时,对于 128、192 与 256 安全级别,我们的方法在密钥对生成方面提供高达 12% 的加速。
引用
@article{arxiv.2201.10473,
title = {Faster multiplication over $\mathbb{F}_2[X]$ using AVX512 instruction set and VPCLMULQDQ instruction},
author = {Jean-Marc Robert and Pascal Véron},
journal= {arXiv preprint arXiv:2201.10473},
year = {2022}
}