当前位置:文档之家› 现代密码学之密码协议.

现代密码学之密码协议.


比特承诺
利用基于单向函数的比特承诺方案如下:



Alice和 Bob共同选定一个单向函数,如Hash函数 Alice生成两个随机数和承诺比特串,计算单向函 数值并将结果(哈希值)和其中一个随机数发送 给Bob。 当Alice向Bob出示消息时,她把承诺比特串与另 一个随机数一起发送给Bob。 Bob计算hash值,并与第②步收到的值做比较以检 验消息的有效性。
国家级精品课程
现代密码学
灾备技术国家工程实验室 北京邮电大学信息安全中心
上一讲内容回顾
有特殊性质的签名方案
盲签名 群签名与环签名 多重签名 聚合签名 代理签名 不可否认签名 一次签名 失败即停签名 „„
《现代密码学章主要内容
密码协议概念 比特承诺 公平抛币协议 安全多方计算 电子货币 电子选举 匿名协议
4
本章主要内容
密码协议概念 比特承诺 公平抛币协议 安全多方计算 电子货币 电子选举 匿名协议
5
密码协议概念
协议是一系列步骤,它包括两方或多方, 设计它的目的是要完成一项任务。一般包含 了三个方面的含义:
⑴ 协议需要二个或二个以上的主体参与。 ⑵ 参与者按照一定的次序交替地执行一系列的步 骤,在前一步尚未完成之前,后面的步骤不能被执 行。 ⑶ 参与者必须能够协同地完成某项任务,或达成某 种意向。
a 勒让德符号 p 1和
a q 1 ,若满足则计算
x 2 a(mod n) 的四个根:x1 , n x1 , x2 , n x2 ,其中 n x1 x 2 x ,x 2 。然后Alice随机猜测Bob选取的是 1 2 中的哪一个,并把猜测结果0或1发送给Bob(事先规 定大的用1表示,小的用0表示).
公平掷币协议
4) Bob收到后0或1后将第2)步中选择的 x 发送给 Alice. * 5)Alice检验 x 是否属于 Z n ,是否属于 {x1 , x2 } , 现在Alice根据第3)步和接收到x的可以知道她 的猜测是否正确,然后将p,q值传送给Bob. 6) Bob检验p,q是否是两个不同的素数,且验证 n=p*q是否成立。然后根据 x 2 a(mod p) 和 x 2 a(mod q)计算出 x1 , x 2 ,现在Bob也知道他和 Alice的博弈最终是谁赢了.
比特承诺
实例



Alice把消息(承诺)放在一个箱子里并将它 (只 有Alice有钥匙) 锁住送给Bob 等到Alice决定向Bob证实消息时,Alice把消息及 钥匙给Bob Bob能够打开箱子并验证箱子里的消息同Alice出 示的消息相同,且Bob确信箱子里的消息在他保管 期间没有被篡改。
比特承诺
本章主要内容
密码协议概念 比特承诺 公平抛币协议 安全多方计算 电子货币 电子选举 匿名协议
13
公平掷币协议
分蛋糕问题:Alice切蛋糕,Bob优先选, 所以Alice要把蛋糕分得尽量均匀
抛币: Alice抛币 Bob猜测是花还是字
如果由一个人来完成,他可以作弊
公平掷币协议
公平掷币协议
4) Bob收到1后将第2)步中选择的 x x1 31 发送给Alice. * Z 5) Alice检验x属于 209 ,且 x x1 31 ,现在 Alice知道她的猜测是错误的,也就是说在博 弈当中Alice失败了,然后Alice将p=11,q=19 传送给Bob. 6) Bob检验p,q是两个不同的素数,且满足 n=p*q=11*19=219. Bob根据3)步Alice传给他 的数值1知道Alice猜测错了.
基于对称密码算法的比特承诺方案如下: Alice和 Bob共同选定某种对称加密算法。 Bob产生一个随机比特串并发送给Alice。 Alice随机选择一个密钥,同时生成一个她欲承诺 的比特串(也可以是一个比特),然后利用对称加 密算法对“和”加密,最后将加密后的结果发送 给验证者Bob。 当需要Alice承诺时,她将密钥和承诺的比特发送 给Bob。 Bob利用密钥解密,并利用他的随机串检验比特的 有效性。
公平掷币协议
例:
1) Alice选择p=11,q=19, 然后把n=11*19=209发送 给Bob. 2) Bob在 Z* 中随机选取x=31<(209/2),计算 209 a x2 mod n 312 mod 209 125并把a=125发送给 Alice. a 125 a 125 1,所以a是模p的 3) 因为 p 1和 q 19 11 二次剩余,同时也是模q的二次剩余,所以Alice 验证得出a是模n的二次剩余;求出 x2 125 mod 209 的四个根是 x1 31, n x1 178, x2 64, n x2 145 假设Alice猜测Bob选取的是 x2 ,则把1发送给 Bob.
密码协议概念
密码协议的目的是参与协议的各方根据协
议中采用的密码算法,执行一系列规定的步 骤和操作,最终完成某项任务或达成一致的
意向。
本章主要内容
密码协议概念 比特承诺 公平抛币协议 安全多方计算 电子货币 电子选举 匿名协议
8
比特承诺
生活实例 股市预测
Alice想对Bob承诺一个比特(也可以是一个 比特序列),但不告诉Bob她的承诺,也就 是不向Bob泄露她承诺的比特值,直到某个 时间以后才提示(或公开)她的承诺;另一 方面,Bob可证实在Alice承诺后,她没有 改变她的承诺。
不能见面的两个人通过网络或者电话完成
⑴ Alice和Bob各有50%的机会获胜;
⑵ 任何一方欺骗则认为其在博弈中失败;
⑶ 协议执行结束后,Alice和Bob都知道结果
公平掷币协议
1) Alice发送一对大素数p,q的乘积n=p*q给Bob.
N应该为 Blum数
2) Bob在 Zn 中随机选取一个小于n/2的x,然后发送 a x 2 mod n 给Alice. 3) Alice校验 a 是否是模n的二次剩余,即是否满足
相关主题