第2轮 PQC 额外签名:多变量和MPC-in-the-Head占据优势

1. 引言

当前,Dilithium、FALCON 和 SPHINCS+ 已成为 NIST 的数字签名标准,旨在取代 RSA、ECDSA 和 EdDSA。但 NIST 希望找到这些方法的替代方案,特别是希望不再过于依赖基于lattice的算法(如 Dilithium 和 FALCON)。在第1轮PQC额外签名中,有:

  • 多变量签名 (10个): 3WISE、DME-Sign、HPPC(Hidden Product of Polynomial Composition)、MAYO、PROV(PRovable unbalanced Oil and Vinegar)、QR-UOV、SNOVA、TUOV(Triangular Unbalanced Oil and Vinegar)、UOV(Unbalanced Oil and Vinegar)、VOX。
  • MPC-in-the-Head签名 (7个): Biscuit、MIRA、MiRitH(MinRank in the Head)、MQOM(MQ on my Mind)、PERK、RYDE、SDitH(Syndrome Decoding in the Head)。
  • 基于lattice的签名 (6个): EagleSign、EHTv3 和 EHTv4、HAETAE、HAWK、HuFu(Hash-and-Sign Signatures From Powerful Gadgets)、SQUIRRELS(Square Unstructured Integer Euclidean Lattice Signature)。
  • 基于code的签名 (5个): CROSS(Codes and Restricted Objects Signature)、Enhanced pqsigRM、FuLeeca、LESS(Linear Equivalence)、MEDS(Matrix Equivalence Digital Signature)。
  • 基于对称的签名 (4个): AIMer、Ascon-Sign、FAEST、SPHINCS-alpha。
  • 其他签名 (4个): ALTEQ、eMLE-Sig 2.0(Embedded Multilayer Equations with Heavy Layer Randomization)、KAZ-SIGN(Kriptografi Atasi Zarah)、Preon 和 Xifrat1-Sign。
  • Isogeny签名 (1个): SQIsign。

现在,NIST 已宣布第2轮额外数字签名候选方案 有:

  • 多变量签名 (4个): MAYO、QR-UOV、SNOVA 和 UOV(Unbalanced Oil and Vinegar)。
  • MPC-in-the-Head签名 (5个): MIRA/MiRitH(MinRank in the Head)、MQOM(MQ on my Mind)、PERK、RYDE、SDitH(Syndrome Decoding in the Head)。
  • 基于lattice的签名 (1个): HAWK。
  • 基于code的签名 (2个): CROSS(Codes and Restricted Objects Signature)、LESS(Linear Equivalence)。
  • 基于Symmetric的签名 (1个): FAEST。
  • Isogeny签名 (1个): SQIsign。

由此可知,多变量和MPC-in-the-Head签名是目前最受欢迎的。令人惊讶的是 Raccon 未被选中。Raccon有一些出色的特性,或许比 Dilithium 更好。但Prof Bill Buchanan OBE FRSE猜测作为一种lattice方法,这成为了Raccon的阻碍(因为 NIST 想要lattice方法的替代方案)。更多详情见:2024年6月21日博客A Sneaky Post Quantum Raccoon Betters Exising NIST Standards for PQC Signatures?

总的来说,以下是进入第2轮的一些方法:

  • CROSS CROSS (Codes and Restricted Objects Signature) 方法。通过该方法,使用了基于 Fiat-Shamir 的交互式零知识 (ZK) 识别协议。总体上,它使用受限综合解码难题 (Restricted Syndrome Decoding Problem,R-SDP) 作为基础,这是首次在“通过识别方案的新途径到基于代码的签名方案”中引入的,适用于具有受限错误的识别方案。

  • FAEST NIST 已批准 Dilithium、Falcon 和 SPHINCS+ 作为 PQC 数字签名,并正在寻找其他替代签名方法。其中之一是 FAEST 数字签名算法,它使用对称密钥原语。此方法直接链接到 AES128(Level 1)、AES192(Level 3)和 AES256(Level 5)的安全性。密钥对 (pk, sk) 定义为:pk=(x, y) 和 sk=k,其中 Ek(x)=y。总体上,E 是使用的分组密码,k 是私钥,x 是明文块。然后,签名成为对 sk 的非交互式知识证明。这与 Picnic 方法类似,但不同的是使用 VOLE-in-the-Head 方法,而不是 MPC-in-the-Head (MPCitH) 框架。

  • LESS LESS (Linear Equivalence Signature Scheme) 是一种基于code的后量子密码学方法。它将 Fiat-Shamir 转换应用于零知识识别方案,使用one-round Sigma 协议。LESS 的安全性依赖于线性等价问题 (Linear Equivalence Problem,LEP) 的难度。它的公钥相对较大(Level 1为13,940字节),私钥较小(Level 1为32字节),签名大小为9,286字节(Level 1)。签名和验证速度相对较慢。

  • HAWK HAWK 是一种基于lattice的签名方法,通过使用格子同构难题 (lattice isomorphism problem,LIP) 来生成签名。在签名和验签方面,HAWK比 Dilithium 更快。HAWK还具有较低的内存占用,并支持多种硬件。目前没有掩码功能,可能容易受到侧信道分析的攻击。对 HAWK 所涉及的安全证明存在一些担忧。

  • MiRitH MiRitH (MinRank in the Head) 是一种用于 MPC-in-the-Head 签名的抗两字数字签名方法,基于MinRank问题的难度。这一问题需要找到有限域上定义矩阵的非平凡低秩线性组合。MiRitH 使用基于 MPC-in-the-Head (MPCitH) 的零知识证明 (ZKPoK),与 MinRank 问题的解有关,然后通过 Fiat-Shamir 转换为非交互式签名方案。对于Level I-a级,公钥和私钥分别相对较小,为129和145字节,签名大小为7,877字节。

  • PERK PERK 是一种抗量子数字签名方法,使用基于变体的 Permuted Kernel 问题 (PKP) 的零知识证明,并以哈希函数作为随机预言。这是一种 MPC-in-the-Head 方法,然后转换为 Fiat-Shamir 转换。PERK 的公钥和私钥相对较小,签名大小适中。它还使用对称密钥方法,因此具有良好的性能水平。

  • Ryde Ryde 签名方法使用Rank Syndrome Decoding问题作为难题。通过此方法,可以生成一个证明,证明在 Rank-SD 实例中的witness,然后通过 Fiat-Shamir 进行转换。与 Dilithium 相比,Ryde生成相对较短的密钥,但签名较大。

  • SQISign: 见2023年11月27日博客 Whatever Happened To Isogenies?

2. 现有PQC签名标准

现有的PQC签名标准包括:

  • Falcon:Falcon 是 NIST 批准的 PQC(Post Quantum Cryptography 后量子密码学)数字签名标准。它基于 NTRU(Nth degree‐truncated polynomial ring units)并采用基于lattice的方法,可实现抗量子数字签名。Falcon 基于 Gentry、Peikert 和 Vaikuntanathan 提出的lattice签名生成方法,使用陷门采样器——快速傅里叶采样。选择三个参数:N、p 和 q。要生成密钥对,选择两个多项式:f 和 g。然后计算 F=fq=f−1(modq),其中 f 和 fq 是私钥,公钥为 h=p⋅fq⋅f(mod q)。使用 Falcon-512(与 RSA-2048 安全性相当)生成的公钥为 897 字节,签名大小为 666 字节,而 Falcon-1024 生成的公钥为 1,793 字节,签名大小为 1,280 字节。

  • Dilithium:目前,CRYSTALS(Cryptographic Suite for Algebraic Lattices)支持两种抗量子机制:

    • Kyber 用于密钥封装机制(KEM)和密钥交换;
    • Dilithium 用于数字签名算法。

    CRYSTALS Dilithium 使用基于lattice的 Fiat-Shamir 方案,生成的签名相对小,公钥和私钥也较小。三个主要参数实现为:Dilithium 2、Dilithium 3 和 Dilithium 5。整体上,Dilithium 3 相当于128位签名,或许是实现的起点。

参考资料

[1] Prof Bill Buchanan OBE FRSE 2024年10月博客 Round 2 PQC Additional Signatures: Multivariate and MPC-in-the-Head To The Fore

猜你喜欢

转载自blog.csdn.net/mutourend/article/details/143291746