[论文解读] A Public Key Block Cipher Based on Multivariate Quadratic Quasigroups
本文提出MQQ(多变量二次拟群),一种新颖的公钥分组密码,利用拟群字符串变换构建快速、双射且可并行化的多变量二次陷门函数。该方案实现对称密码级别的性能——在单个CPU核心上解密时间少于11,000个周期——同时由于其独特设计避免了先前漏洞所依赖的低次多项式结构,因而能抵抗已知的多变量二次公钥密码体制(PKC)攻击。
We have designed a new class of public key algorithms based on quasigroup string transformations using a specific class of quasigroups called multivariate quadratic quasigroups (MQQ). Our public key algorithm is a bijective mapping, it does not perform message expansions and can be used both for encryption and signatures. The public key consist of n quadratic polynomials with n variables where n=140, 160, ... . A particular characteristic of our public key algorithm is that it is very fast and highly parallelizable. More concretely, it has the speed of a typical modern symmetric block cipher - the reason for the phrase "A Public Key Block Cipher" in the title of this paper. Namely the reference C code for the 160-bit variant of the algorithm performs decryption in less than 11,000 cycles (on Intel Core 2 Duo -- using only one processor core), and around 6,000 cycles using two CPU cores and OpenMP 2.0 library. However, implemented in Xilinx Virtex-5 FPGA that is running on 249.4 MHz it achieves decryption throughput of 399 Mbps, and implemented on four Xilinx Virtex-5 chips that are running on 276.7 MHz it achieves encryption throughput of 44.27 Gbps. Compared to fastest RSA implementations on similar FPGA platforms, MQQ algorithm is more than 10,000 times faster.
研究动机与目标
- 设计一种性能可与对称密码相当的公钥密码系统,同时保持强安全性。
- 通过消除对低次多项式结构的依赖,克服现有多变量二次PKC中的已知漏洞。
- 利用拟群理论构建双射、可并行化且高效的陷门函数,以支持加密和数字签名。
- 提供一种高度可并行化且适合硬件加速(尤其是FPGA环境)的密码系统。
提出的方法
- 该方案使用拟群字符串变换来定义多变量二次拟群(MQQ),即度数至多为2的特殊拟群类。
- 通过线性变换T和基于非线性拟群的函数P,将公钥构造为n个变量中的n个二次多项式,其中n = 140或160。
- 陷门机制依赖于拟群变换的可逆性,从而实现快速解密和签名。
- 系统设计为高度可并行化,性能通过参考C代码和FPGA实现进行衡量。
- 通过避免先前MQ方案中的结构性弱点(如可识别的低次多项式分量)实现安全性。
- 分析了一种基于线性代数的新型攻击恢复方法,但因其在变量数量上的指数复杂度而被证明不可行。
实验结果
研究问题
- RQ1能否使用多变量二次拟群构建一种公钥密码系统,使其性能与对称密码相当?
- RQ2如何利用拟群字符串变换设计出双射且安全的多变量二次陷门函数?
- RQ3为何MQQ构造对其他多变量二次PKC的已知攻击(如针对低次多项式结构的攻击)具有抵抗力?
- RQ4使用基于线性代数的方法恢复MQQ系统私钥的计算复杂度是多少?
- RQ5MQQ构造能否在软件和硬件中高效实现,特别是在FPGA环境中?
主要发现
- 160位版本的MQQ方案在单个Intel Core 2 Duo核心上解密时间少于11,000个周期,使用OpenMP在双核上约为6,000个周期。
- 在主频为249.4 MHz的单个Xilinx Virtex-5 FPGA上,该方案实现399 Mbps的解密吞吐量。
- 使用四个主频为276.7 MHz的Xilinx Virtex-5 FPGA,该方案达到44.27 Gbps的加密吞吐量,显著优于类似平台上的RSA。
- 在类似FPGA平台上,MQQ方案比最快的RSA实现快超过10,000倍。
- 基于识别余维为k的子空间的攻击需要检查空间S中的全部2^n个元素,因此对大n值而言计算上不可行,从而验证了该方案的安全性。
- 通过使用一大类不暴露此类分量的MQQ,该设计避免了先前MQ方案的结构性缺陷(如可识别的低次多项式)。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。