PromleeBlog
网站地图
关于博客
菜单
学习
Security Theory
Digital Sign
数字签名的定义
数字签名的定义
📅
数字签名概述(Overview of Digital Signature)
消息认证(Message Authentication)
数字签名(Digital Signature)
验证(Verification)
数字签名的安全模型(Security Model of Digital Signature)
数字签名概述(Overview of Digital Signature)
🔗
消息认证(Message Authentication)
🔗
Bob向Alice发送消息时,Alice需要确认消息是否来自Bob。
→
\rightarrow
→
使用
数字签名
。
Bob使用自己的私钥生成签名。
Alice使用Bob的公钥验证签名。
没有Bob的私钥,其他人就无法生成Bob的签名。
这从来源(Bob)和数据完整性(消息)两个方面提供认证。
数字签名(Digital Signature)
🔗
数字签名方案由以下三个多项式时间算法组成。
KeyGen
(
λ
\lambda
λ
)
→
\rightarrow
→
(pk, sk):密钥生成算法。
输入安全参数
λ
\lambda
λ
,生成公钥pk与私钥sk。
Sign
(sk, m)
→
\rightarrow
→
σ
\sigma
σ
:签名算法。
输入私钥sk与消息m,生成数字签名
σ
\sigma
σ
。
Verify
(pk, m,
σ
\sigma
σ
)
→
\rightarrow
→
{0, 1}:验证算法。
输入公钥pk、消息m和数字签名
σ
\sigma
σ
,验证签名是否有效。
有效则返回1,否则返回0。
验证(Verification)
🔗
正确性
:验证算法应满足以下条件。
对所有安全参数
λ
\lambda
λ
和所有消息
m
m
m
。
必须有
Verify
(
p
k
,
Sign
(
s
k
,
M
)
)
=
1
\text{Verify}(pk, \text{Sign}(sk, M)) = 1
Verify
(
p
k
,
Sign
(
s
k
,
M
))
=
1
。
其中,
(
p
k
,
s
k
)
←
KeyGen
(
λ
)
(pk, sk) \leftarrow \text{KeyGen}(\lambda)
(
p
k
,
s
k
)
←
KeyGen
(
λ
)
。
总结:数字签名
🔗
数字签名提供消息认证和数据完整性。
数字签名由
KeyGen
、
Sign
和
Verify
三个多项式时间算法组成。
数字签名应满足正确性,即
Verify
(
p
k
,
Sign
(
s
k
,
M
)
)
=
1
\text{Verify}(pk, \text{Sign}(sk, M)) = 1
Verify
(
p
k
,
Sign
(
s
k
,
M
))
=
1
。
数字签名的安全模型(Security Model of Digital Signature)
🔗
考虑挑战者
C
C
C
与攻击者
A
A
A
之间的游戏。
Setup:
C
C
C
执行KeyGen(
λ
\lambda
λ
),生成
(
p
k
,
s
k
)
(pk, sk)
(
p
k
,
s
k
)
,并将公钥
p
k
pk
p
k
交给
A
A
A
。
Signing Queries:
A
A
A
针对消息
M
i
M_i
M
i
提出多项式次数的签名查询。
对每个
M
i
M_i
M
i
,
C
C
C
执行
Sign
(
s
k
,
M
i
)
→
σ
i
\text{Sign}(sk, M_i) → \sigma_i
Sign
(
s
k
,
M
i
)
→
σ
i
,生成签名
σ
i
\sigma_i
σ
i
并返回给
A
A
A
。
Output:
A
A
A
返回
(
M
,
σ
)
(M, \sigma)
(
M
,
σ
)
。
M
M
M
是
C
C
C
没有签名过的消息,与
A
A
A
曾请求签名的消息不同。
如果
A
A
A
为
M
M
M
生成了有效签名
σ
\sigma
σ
,则视为
A
A
A
成功。
A
A
A
的成功概率定义如下。
Pr
[
Verify
(
p
k
,
Sign
(
M
,
σ
)
)
=
1
]
\Pr[\text{Verify}(pk, \text{Sign}(M, \sigma)) = 1]
Pr
[
Verify
(
p
k
,
Sign
(
M
,
σ
))
=
1
]
签名方案对于自适应选择消息攻击(Adaptive Chosen Message Attack)应当具有强不可伪造性。
如果任意多项式时间攻击者
A
A
A
在上述游戏中成功的概率都可以忽略,则这个签名方案具有强
不可伪造性
。
数字签名的定义 | PromleeBlog