主要观点:
- 介绍了维基百科对数字签名的定义及创建和验证过程的图表,常见开发者对签名的看法及广泛应用。
- 指出密码学家对数字签名有不同看法,从Schnorr签名等识别协议开始,通过Fiat-Shamir启发式可将其转化为非交互式签名方案。
- 强调签名用于很多场景其实是识别协议,失去了交互协议的一些有用方面,如只对参与方有意义、特定时间有效等。
- 指出几乎所有在用的签名方案在实践中都很脆弱,如Schnorr签名的特殊声明确保了其安全性但也易导致非ce重用漏洞。
- 说明签名太强大会导致问题,如提供不可反驳的泄露通信证据等,其问题似乎无穷无尽。
- 提出如果可以,使用简单的共享密钥方案如HMAC,需要公钥加密时用带X25519的认证KEM结合HMAC来认证消息。
关键信息:
- 维基百科定义:数字签名是验证数字消息或文档真实性的数学方案,有效签名让接收者确信消息来自已知发送者。
- Schnorr签名基于识别协议,基本结构为Commit-Challenge-Response,具有零知识证明等特性。
- Fiat-Shamir启发式可将某些交互识别协议转化为非交互式签名方案,如Schnorr签名。
- 签名用于很多场景其实是识别协议,失去了交互协议的一些特性,如JWT、WebAuthn、TLS等。
- 在用签名方案脆弱,如Schnorr签名的特殊声明确保安全性但易导致非ce重用漏洞,EdDSA等方案也有相应问题。
- 签名太强大会导致问题,如提供不可反驳的泄露通信证据等。
- 可替代签名的方案为使用简单的共享密钥方案如HMAC,或用带X25519的认证KEM结合HMAC。
重要细节:
- 介绍了Alice和Bob在Schnorr签名过程中的具体操作及原理。
- 说明了Fiat-Shamir变换是将协议的挑战部分用消息和承诺公钥的加密哈希函数替换。
- 列举了JWT、WebAuthn、TLS等因签名导致的问题及原因。
- 提及了RSA签名也存在问题,以及不同签名方案的优缺点和相关攻击。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。