“Fiat–Shamir 以 Sigma 协议 的承诺—挑战—响应为输入,以 密码哈希实例化理想挑战,支撑 Schnorr 类签名、非交互知识证明和大量区块链证明系统中的 transcript…”
形式陈述 ​
公开参数化的密码哈希函数族由两个统一的高效算法给出:概率多项式时间生成算法产生公开索引,确定性多项式时间求值算法在合法消息上计算摘要,
这里
三类安全性质必须分别指定攻击实验。碰撞实验给攻击者
直觉
密码哈希把消息压成固定长度的短“指纹”:摘要容易从文件算出,却应难以反向恢复原像、替换成同指纹内容或找到任意碰撞。三种困难来自不同挑战接口,彼此在一般函数族上不自动推出。它是公开、无密钥的确定函数,所以不能单独提供消息来源认证;实际构造还要求域分离、无歧义编码和适当输出长度。
例子与边界
理想
SHA-256 输出
密码哈希不是密码存储的直接方案:快速哈希会帮助攻击者大规模猜测,应使用带盐、内存困难的专用 KDF。长度扩展等性质也使直接写
固定输入长度的压缩函数
推论与应用
密码哈希用于签名、承诺、口令派生、Merkle 树、内容寻址和消息认证构造。抗碰撞性是其核心性质,消息认证码在哈希上加入密钥实现认证;数字签名常采用 hash-then-sign,Merkle 树、内容寻址和承诺则依赖摘要绑定长数据。通用哈希控制随机函数族对预先固定输入对的碰撞概率,可用于信息论 MAC 与提取器;它既不等于现实哈希的抗碰撞性,也不等于 ROM。
参考资料
- Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Chs. 2–12。
- Oded Goldreich, Foundations of Cryptography, Vol. 1, Cambridge University Press, 2001,Chs. 1–4。