【后量子密码】SPHINCS+ 算法(一):FORS与超树(附源码分析)

一、基于哈希签名

基于哈希签名方案最初在20世纪70年代末由Lamport 提出作为一次性签名方案(one-time signature,OTS),并由Merkle 扩展为多次签名方案。这些方案的安全性易于分析,仅依赖于所使用的哈希函数的特性。OTS(One-Time Signature)是一种只能使用一次的签名方案。在OTS中,签名密钥只能用于生成一次签名,一旦签名被验证,密钥就不能再用于生成其他签名。Lamport OTS就是一种典型的OTS方案。FTS(Few-Time Signature)是一种可以使用有限次数的签名方案。在FTS中,签名密钥可以用于生成多次签名,但是每次签名都会暴露一些密钥信息,降低密钥的安全性。因此,FTS方案适用于需要多次签名的场景,但需要权衡签名次数和密钥安全性。例如,HORS(Hash to Obtain Random Subset)就是一种典型的FTS方案。

在Lamport方案问世的40年里,许多想法被提出来以改善哈希基础签名方案的性能、实用性和理论基础,最终发展出了XMSS,作为第一个后量子签名方案,已经作为RFC 由CFRG 发布。这些系统的一个优点是它们需要很少的安全假设,甚至哈希函数不需要是抗碰撞的。XMSS唯一的缺点是它是有状态的,这使得它不适合作为标准签名方案的定义。

SPHINCS 是由Bernstein et al. 设计的一种无状态哈希基础签名方案,并且是第一个提出抵御量子密码分析参数的签名方案。SPHINCS+ 具有高度的安全性和抗量子特性,同时具有较高的效率和灵活性,因此被NIST选为其后量子密码标准化计划的标准算法之一。SPHINCS使用了XMSS的许多组件,但使用更大的密钥和签名来消除状态。SPH

你可能感兴趣的:(密码工程,SPHINCS+,后量子密码)