密码协议安全保障相关研究
1. 密码协议基础概念
在密码学领域,存在一种布尔函数 (B : {0, 1}^* \to {0, 1}),给定一个比特 (v),能轻松随机选取满足 (B(x) = v) 的 (x)。但给定一个比特串 (x),要以显著大于 (\frac{1}{2}) 的概率正确计算出 (B(x)) 却很困难。不过,若知晓某些陷门信息,计算 (B(x)) 就变得容易了。
假设实体 (A) 的公钥是一个陷门谓词 (B),其他实体加密消息比特 (m_i) 时,会随机选取 (x_i) 使得 (B(x_i) = m_i),然后将 (x_i) 发送给 (A)。由于 (A) 知道陷门信息,所以能计算 (B(x_i)) 来恢复 (m_i),而攻击者只能靠猜测 (m_i) 的值。
在密钥建立协议方面,“恶意方获胜”意味着成功猜出新的会话密钥。新会话密钥由伪随机函数随机选取,且传输的密钥是在共享长期密钥下加密的,因此成功猜出会话密钥的难度等同于区分伪随机函数和真正的随机函数。
2. CK 模型中的协议与敌手模型
Canetti 和 Krawczyk 提出了 CK 模型,用于分析密钥建立协议。下面详细介绍该模型中的协议和敌手模型。
- 协议符号
- (P_1, P_2, \cdots, P_n):是一组通过点对点链路相互连接的参与方(概率多项式时间机器),可在链路上交换消息。
- 协议:是由参与方 (P_1, P_2, \cdots, P_n) 并发运行的交互式程序集合,规定了对传入消息的特定处理和传出消息的生成。
- 消息驱动协议:最初由外部“调用”在参与方触发,之后由
超级会员免费看
订阅专栏 解锁全文
1438

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



