可证明安全性的几何:密码学安全模型与难题解析
在密码学领域,保障算法安全是至关重要的,但面对资源无限的攻击者,没有算法能做到绝对安全。因此,在建模攻击者时,需要合理限制其能力,以证明密码算法的安全性。接下来,我们将深入探讨数字签名方案和加密方案的安全模型、常见的复杂度假设、随机预言机模型以及安全归约等内容。
1. 安全模型
1.1 数字签名方案
数字签名方案通常包含三个算法:Gen(密钥生成)、Sign(签名)和Verify(验证)。
- Gen :概率性密钥生成算法,输入安全参数 ( \lambda ) ,输出秘密签名密钥 ( SK ) 和公开验证密钥 ( PK ) 。
- Sign :以 ( (SK, m) ) 为输入,其中 ( m ) 是待签名的消息,输出签名 ( \sigma = Sign_{SK}(m) ) 。
- Verify :以 ( (m, \sigma’, PK) ) 为输入,输出 ( Verify_{PK}(m, \sigma’) \in {0, 1} ) ,“1”表示签名被接受,“0”表示拒绝。要求如果 ( \sigma = Sign_{SK}(m) ) ,则 ( Verify_{PK}(m, \sigma) = 1 ) 。
数字签名方案的安全性通常通过挑战者和攻击者之间的互动“游戏”来定义。常见的安全概念是在自适应选择消息攻击下抵抗存在性伪造的安全性。
一个签名方案 ( (Gen, Sign, Verify) ) 是 ( (t, q, \epsilon) ) -安全的,如果在自适应
超级会员免费看
订阅专栏 解锁全文
2874

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



