10 密码学协议动物园
-
本节学习密码学协议。这些协议以之前学习的密码学知识为基础实现了一些“奇妙”的事情!
-
动物园地图
- 密码学协议种类繁多,应用广泛。
-
目录:略。
-
协议:
- 通信协议是为了一个特定目的的数字消息格式与交换规则的形式化描述
- 协议之于通信,如同算法之于计算
- 每个人必须知道并同意服从协议
- 无歧义:每个步骤必须被明确定义且无误解的可能
- 完备性:对每个可能的情况都必须有一个明确的行为
- 密码学协议:除了上述属性,还应该不可能比协议中说明的做的更多或者知道的更多
- 通信协议是为了一个特定目的的数字消息格式与交换规则的形式化描述
-
协议类型
- 仲裁协议:一个仲裁者是一个公正的可信第三方,帮助完成协议
- 审判协议:一个法官是也是一个公正的可信第三方。与仲裁者不同,其不直接参与协议,而是来审判协议是否正确执行
- 自强制协议:最佳的协议类型。协议本身保证公平性。
- 例子:两人平分蛋糕协议。
-
对协议的攻击
- 被动攻击:攻击者不影响协议
- 主动攻击:攻击者更改协议以获得优势
- 作弊者:攻击者是协议中的一方
- 被动作弊者:按照协议执行,但试图获得比协议所设定的更多的信息
- 主动作弊者:在协议进程中干扰协议来作弊
-
三次传递协议
- 目的:两方之间无共享密钥下的保密通信
- 类比:两人同一个箱子来传递一个秘密,该箱子可以上锁
- 第一步,Alice将秘密放进箱子里,并上一把只有Alice自己有钥匙的锁,发送给Bob
- 第二步,Bob收到箱子后,也无法打开箱子;在箱子上又上一把只有Bob自己能打开的锁,并发送给Alice
- 第三步,Alice收到箱子后,打开自己之前上的锁,并发送给Bob;Bob收到箱子后打开自己上的锁,得到秘密
- 这个方案需要加密方案具有一个性质: D e c k 1 ( E n c k 2 ( E n c k 1 ( m ) ) ) = E n c k 2 ( m ) \mathsf{Dec}_{k_1}(\mathsf{Enc}_{k_2}(\mathsf{Enc}_{k_1}(m))) = \mathsf{Enc}_{k_2}(m) Deck1(Enck2(Enck1(m)))=Enck2(m);用两个密钥分别加密两次后,用任意一个密钥解密,得到另一个密钥加密的密文
- Shamir协议: p p p 是一个素数,生成 e , d e,d e,d 满足 gcd ( e , p − 1 ) = 1 \gcd(e,p-1)=1 gcd(e,p−1)=1 并且 e d ≡ 1 ( m