数字签名、随机数与秘密:原理、风险与应用
数字签名方案概述
数字签名类似于传统的纸质签名,但借助密码学技术,使得未掌握签名(私钥)的人无法伪造。它在验证信息来源和建立传递信任方面发挥着重要作用,例如在密钥交换中验证双方身份,以及通过信任链建立信任关系(如我信任 Alice,而 Alice 信任 Bob,那么我也可以信任 Bob)。
常见的数字签名标准有以下几种:
- RSA PKCS#1 v1.5 :目前仍被广泛使用,但实现难度较大,许多实现版本存在安全漏洞,因此不建议使用。
- RSA - PSS :具有安全性证明,实现相对容易。然而,由于基于椭圆曲线的新方案支持更短的密钥,在网络协议中更具吸引力,导致 RSA - PSS 的应用并不广泛。
- 基于椭圆曲线的签名方案 :当前最流行的签名方案,主要包括 ECDSA 和 EdDSA。ECDSA 常与 NIST 的曲线 P - 256 一起使用,而在加密货币领域,Secp256k1 曲线应用更为广泛;EdDSA 通常与 Edwards25519 曲线结合使用,即 Ed25519,它基于 Schnorr 签名,被广泛采用,且相较于 ECDSA 更容易实现,每次签名操作无需新的随机数。
签名方案的微妙特性
签名方案可能具有一些微妙的特性,在大多数协议中这些特性可能无关紧要,但在设计复杂的非传统协议时,了解这些特性至关重要。
签名替换攻击
RSA PKCS#1 v1.5 和 RSA - PSS 容易受到替换攻击,也称为重复签名密钥
超级会员免费看
订阅专栏 解锁全文

1502

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



