公钥系统中的数字签名与未来展望
1. 数字签名的必要性
在数字通信中,身份验证是一个关键问题。对称密钥加密在一定程度上可以解决身份验证问题,但存在局限性。例如,如果Alice和Bob没有共享的密钥,就无法用它来证明身份;即使有共享密钥,Bob要向第三方证明消息来自Alice也很困难,还可能需要泄露密钥。因此,我们需要数字签名,它应像手写签名一样难以伪造,也难以从一个文档移除并附加到另一个文档。
2. 数字签名的原理与实现
- 基本原理 :Diffie和Hellman在早期就理解了非对称密钥系统可用于提供不可伪造的数字签名。假设可以将明文消息当作密文处理,且加密和解密顺序颠倒时仍能得到原消息(有时成立)。若Alice要给Bob发送签名消息,她用自己的解密密钥处理消息,因为解密密钥是私有的,只有她能这样做。Bob收到消息后,用Alice的加密密钥(公开的)处理,若得到可识别的消息,就知道消息来自Alice。
- RSA数字签名示例
- 密钥生成 :Alice选择私有的素数p = 59和q = 67,计算出公共模数n = 3953。为了速度,她选择公共加密密钥(验证密钥)v = 5,再计算φ(n) = (p - 1) × (q - 1) = 3828,得出私有解密密钥(签名密钥)σ = 2297。她公开n和v,保留其他信息秘密。
- 签名过程 :以消息“everwhere asignx”为例,将字母转换为数字,组合后对每个数字进行2297次幂运算并取模
超级会员免费看
订阅专栏 解锁全文

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



