原文教材 与 参考资料:
Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J].
该书项目地址(可以免费获取):http://toc.cryptobook.us/
博客为对该书的学习笔记,并非原创知识,仅帮助理解,整理思路。
14.0 Fast hash-based signatures
在13章中介绍的基于陷门函数构造的数字签名协议,往往需要较慢的签名时间以及较长签名长度存储空间,但是其安全性是基于大整数因子分解困难问题的。如果敌手具备访问量子计算机的能力,那么该类签名方案都是不安全的。
基于哈希的签名方案其签名长度比RSA的更长,但是安全性更高。考虑到完美保密的定义,这里给出一次性签名(one-time sigantures), 该签名方案对于一条消息只能签名一次,如果使用相同的密钥对另外一个消息重复签名,那么该方案将立即失去安全性。不失一般性,可以将一次性签名推广到多次签名(q-time signature)即为该算法可以签名q次,即为该签名算法最多可以对q个消息进行签名,超过q次签名该方案将不在安全。q = 1, 就表示的是one-time signature协议,下面给出出一个形式化的 q-time signature 安全性定义:

根据经典的签名强安全定义,可以直接推广出一个强安全的q-time signature 协议:

该书在这里首先使用单向函数构造了一个一次性签名协议,并描述了相关的应用场景,然后从该一次性签名协议出发构造了一个基本的多次签名协议。
14.1 Basic Lamport signatures
这里给出一个最为简单的一次性签名方案,每次签名一个比特,该方案构造使用一个单向函数f。
该方案的具体构造如下:
私钥sk为两个随机数x1, x2, 设置公钥为pk:{ f(x1), f(x2) }。
当收到一个需要签名的消息m时,此处定义m为一个比特值。
如果m = 0, 那么签名就是x1。 如果

本文详细介绍了基于哈希的签名方案,包括一次性签名(one-time signatures)和多次签名(q-time signatures),如Lamport、Winternitz及HORS签名。这些方案在安全性和效率上各有优劣,其中Lamport方案通过单向函数提供安全性,但存储需求大;Winternitz签名则通过哈希链减少长度,但验证时间增加。HORS签名通过预计算和Merkle树优化了签名长度和验证时间。此外,文章还探讨了在线/离线签名系统和签名方案的量子安全性,以及如何从一次性签名扩展到多次签名。
最低0.47元/天 解锁文章
3494

被折叠的 条评论
为什么被折叠?



