PromleeBlog

posting thumbnail
数字签名的定义

📅

数字签名概述(Overview of Digital Signature) 🔗

消息认证(Message Authentication) 🔗

Bob向Alice发送消息时,Alice需要确认消息是否来自Bob。→\rightarrow使用
数字签名
。
  1. Bob使用自己的私钥生成签名。
  2. Alice使用Bob的公钥验证签名。
没有Bob的私钥,其他人就无法生成Bob的签名。
这从来源(Bob)和数据完整性(消息)两个方面提供认证。

数字签名(Digital Signature) 🔗

数字签名方案由以下三个多项式时间算法组成。

验证(Verification) 🔗

正确性
:验证算法应满足以下条件。

总结:数字签名 🔗


数字签名的安全模型(Security Model of Digital Signature) 🔗

考虑挑战者CC与攻击者AA之间的游戏。
  1. Setup:CC执行KeyGen(λ\lambda),生成(pk,sk)(pk, sk),并将公钥pkpk交给AA。
  2. Signing Queries:AA针对消息MiM_i提出多项式次数的签名查询。
    • 对每个MiM_i,CC执行Sign(sk,Mi)→σi\text{Sign}(sk, M_i) → \sigma_i,生成签名σi\sigma_i并返回给AA。
  3. Output:AA返回(M,σ)(M, \sigma)。
    • MM是CC没有签名过的消息,与AA曾请求签名的消息不同。
    • 如果AA为MM生成了有效签名σ\sigma,则视为AA成功。
AA的成功概率定义如下。
签名方案对于自适应选择消息攻击(Adaptive Chosen Message Attack)应当具有强不可伪造性。
如果任意多项式时间攻击者AA在上述游戏中成功的概率都可以忽略,则这个签名方案具有强
不可伪造性
。
    数字签名的定义 | PromleeBlog