这是探讨在以太坊中实现后量子签名方案可行性的博客系列的第二部分。在第一部分中,我们介绍了将以太坊过渡到抗量子未来所面临的基本挑战和关键考量。在本篇中,我们将更深入地剖析 Falcon ——一种前景广阔的后量子签名算法——分析其优势、劣势,以及将其集成到以太坊交易框架中所面临的实际障碍。
Falcon(Fast-Fourier Lattice-based Compact Signatures over NTRU,基于 NTRU 的快速傅里叶格密码紧凑签名)建立在 Gentry、Peikert 和 Vaikuntanathan(GPV)提出的基于格的签名框架之上。它将该框架应用于 NTRU 格,并采用了一种名为“快速傅里叶采样”(fast Fourier sampling)的陷门采样器。该方案的安全性依赖于 NTRU 格上的短整数解问题(SIS, Short Integer Solution),这一问题在一般情况下被认为即使使用量子计算机也难以高效求解,因为目前尚无已知的高效算法可破解它。
Falcon 基于 哈希-签名(hash-and-sign)范式,可视为传统 RSA 签名方案的演进版本。但与 RSA 依赖数论难题不同,Falcon 利用的是格难题的计算困难性。其安全性建立在在 NTRU 格中寻找短向量的困难性之上,并通过高斯采样技术生成范数较小的陷门基底,从而确保高效的密钥生成与签名过程。
密钥生成:
Given an NTRU polynomial ring , a private key consists of two short polynomials (f,g) satisfying the NTRU equation.
The public key is derived as (h=g/f) in the ring
签名过程:
将消息哈希为格域中的一个挑战向量;
使用快速傅里叶采样方法从中采样出一个“短解”,在抵御格约简攻击的同时保持签名尺寸紧凑;
签名即为满足该挑战条件的短格向量。
验证过程:
验证者检查签名是否满足格环中与公钥相关的关系。
验证涉及计算范数,并在模运算下验证格基的有效性。
Falcon 旨在提供一种稳健的后量子签名解决方案,将格密码学与高效的采样技术相结合。尽管其安全优势显而易见,但如同任何密码系统一样,它在复杂性和实现难度方面也存在一定的权衡。接下来,我们将分别剖析 Falcon 的亮点、潜在缺陷以及一些尤为棘手的问题。
除了 NIST 强调的众所周知的优点——如紧凑的签名尺寸、快速运算(通过 FFT 技术实现高效的密钥生成与验证)以及坚实的安全性证明(基于格归约和最坏情况困难性假设)——Falcon 还具备一些针对以太坊的特定优势。尤其值得一提的是,Falcon 具有明确的最坏情况运行时间,这使其特别适合以太坊虚拟机(EVM)。在 EVM 中,可预测的性能和执行时间对于系统的可扩展性与可靠性至关重要。
Falcon 依赖浮点运算和专用的数论变换(NTT/FFT),这可能导致实现复杂度较高,并在签名过程中对侧信道攻击(side-channel attacks)较为敏感。然而,这对以太坊而言并非重大隐患,因为签名操作发生在链下(off-chain),此时性能要求相对宽松。以太坊的关注重点在于优化验证过程——因为验证是在链上(on-chain)执行的——必须确保其高效且安全。
目前已有持续的研究致力于高效聚合 Falcon 签名,例如这篇论文中提出的工作。假设签名聚合能够达到足够高的效率,那么在共识层使用 Falcon 替代当前的 BLS 签名(而非采用基于哈希的多重签名等替代方案),将有助于在整个以太坊网络中维持一个更加统一的技术栈(homogeneous stack)。
Falcon 是后量子密码学应用中的有力候选者,尤其适用于像以太坊这样对签名尺寸和验证效率要求极高的区块链系统。在本系列的第三部分中,我们将开始实现第一部分中提出的混合方案,初期聚焦于账户抽象(Account Abstraction)以及用于 Falcon 验证的 Solidity 合约,从而弥合后量子安全与以太坊现有基础设施之间的鸿沟。
原文:https://ethresear.ch/t/falcon-as-an-ethereum-transaction-signature-the-good-the-bad-and-the-gnarly/21512
免责声明:本文为c2e Labs的第三方内容,仅供信息分享与传播之目的,不代表我们的立场或观点且不构成任何投资及应用建议。版权归原作者或来源方所有,如内容或素材有所争议请和我们取得联系。