现代密码学之密码协议.ppt

上传人:b****2 文档编号:2642216 上传时间:2022-11-04 格式:PPT 页数:59 大小:1.23MB
下载 相关 举报
现代密码学之密码协议.ppt_第1页
第1页 / 共59页
现代密码学之密码协议.ppt_第2页
第2页 / 共59页
现代密码学之密码协议.ppt_第3页
第3页 / 共59页
现代密码学之密码协议.ppt_第4页
第4页 / 共59页
现代密码学之密码协议.ppt_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

现代密码学之密码协议.ppt

《现代密码学之密码协议.ppt》由会员分享,可在线阅读,更多相关《现代密码学之密码协议.ppt(59页珍藏版)》请在冰豆网上搜索。

现代密码学之密码协议.ppt

国家级精品课程现代密代密码学学灾灾备技技术国家工程国家工程实验室室北京北京邮电大学信息安全中心大学信息安全中心上一讲内容回顾上一讲内容回顾有特殊性质的签名方案盲签名群签名与环签名多重签名聚合签名代理签名不可否认签名一次签名失败即停签名3密码协议密码协议现代密码学现代密码学第十讲第十讲4本章主要内容本章主要内容密码协议概念密码协议概念比特承诺比特承诺公平抛币协议公平抛币协议安全多方计算安全多方计算电子货币电子货币电子选举电子选举匿名协议匿名协议5本章主要内容本章主要内容密码协议概念密码协议概念l比特承诺比特承诺l公平抛币协议公平抛币协议l安全多方计算安全多方计算l电子货币电子货币l电子选举电子选举l匿名协议匿名协议密码协议概念密码协议概念协议是一系列步骤,它包括两方或多方,协议是一系列步骤,它包括两方或多方,设计它的目的是要完成一项任务。

一般包含设计它的目的是要完成一项任务。

一般包含了三个方面的含义:

了三个方面的含义:

协议需要二个或二个以上的主体参与。

协议需要二个或二个以上的主体参与。

参参与与者者按按照照一一定定的的次次序序交交替替地地执执行行一一系系列列的的步步骤骤,在在前前一一步步尚尚未未完完成成之之前前,后后面面的的步步骤骤不不能能被被执执行。

行。

参参与与者者必必须须能能够够协协同同地地完完成成某某项项任任务务,或或达达成成某某种意向。

种意向。

密码协议概念密码协议概念密密码码协协议议的的目目的的是是参参与与协协议议的的各各方方根根据据协协议议中中采采用用的的密密码码算算法法,执执行行一一系系列列规规定定的的步步骤骤和和操操作作,最最终终完完成成某某项项任任务务或或达达成成一一致致的的意向。

意向。

8本章主要内容本章主要内容l密码协议概念密码协议概念比特承诺比特承诺l公平抛币协议公平抛币协议l安全多方计算安全多方计算l电子货币电子货币l电子选举电子选举l匿名协议匿名协议比特承诺比特承诺生活实例生活实例股市预测股市预测AliceAlice想对想对BobBob承诺一个比特承诺一个比特(也可以是一个也可以是一个比特序列比特序列),但不告诉,但不告诉BobBob她的承诺,也就她的承诺,也就是不向是不向BobBob泄露她承诺的比特值,直到某个泄露她承诺的比特值,直到某个时间以后才提示时间以后才提示(或公开或公开)她的承诺;另一她的承诺;另一方面,方面,BobBob可证实在可证实在AliceAlice承诺后,她没有承诺后,她没有改变她的承诺。

改变她的承诺。

比特承诺比特承诺实例实例AliceAlice把消息(承诺)放在一个箱子里并将它把消息(承诺)放在一个箱子里并将它(只只有有AliceAlice有钥匙有钥匙)锁住送给锁住送给BobBob等到等到AliceAlice决定向决定向BobBob证实消息时,证实消息时,AliceAlice把消息及把消息及钥匙给钥匙给BobBobBobBob能够打开箱子并验证箱子里的消息同能够打开箱子并验证箱子里的消息同AliceAlice出出示的消息相同,且示的消息相同,且BobBob确信箱子里的消息在他保管确信箱子里的消息在他保管期间没有被篡改。

期间没有被篡改。

比特承诺比特承诺基于对称密码算法的比特承诺方案如下:

基于对称密码算法的比特承诺方案如下:

AliceAlice和和BobBob共同选定某种对称加密算法。

共同选定某种对称加密算法。

BobBob产生一个随机比特串并发送给产生一个随机比特串并发送给AliceAlice。

AliceAlice随机选择一个密钥,同时生成一个她欲承诺随机选择一个密钥,同时生成一个她欲承诺的比特串的比特串(也可以是一个比特也可以是一个比特),然后利用对称加,然后利用对称加密算法对密算法对“和和”加密,最后将加密后的结果发送加密,最后将加密后的结果发送给验证者给验证者BobBob。

当需要当需要AliceAlice承诺时,她将密钥和承诺的比特发送承诺时,她将密钥和承诺的比特发送给给BobBob。

BobBob利用密钥解密,并利用他的随机串检验比特的利用密钥解密,并利用他的随机串检验比特的有效性。

有效性。

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

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

AliceAlice和和BobBob共同选定一个单向函数,如共同选定一个单向函数,如HashHash函数函数AliceAlice生成两个随机数和承诺比特串,计算单向函生成两个随机数和承诺比特串,计算单向函数值并将结果(哈希值)和其中一个随机数发送数值并将结果(哈希值)和其中一个随机数发送给给BobBob。

当当AliceAlice向向BobBob出示消息时,她把承诺比特串与另出示消息时,她把承诺比特串与另一个随机数一起发送给一个随机数一起发送给BobBob。

BobBob计算计算hashhash值,并与第值,并与第步收到的值做比较以检步收到的值做比较以检验消息的有效性。

验消息的有效性。

13本章主要内容本章主要内容l密码协议概念密码协议概念l比特承诺比特承诺公平抛币协议公平抛币协议l安全多方计算安全多方计算l电子货币电子货币l电子选举电子选举l匿名协议匿名协议公平掷币协议公平掷币协议分蛋糕问题:

分蛋糕问题:

AliceAlice切蛋糕,切蛋糕,BobBob优先选,优先选,所以所以AliceAlice要把蛋糕分得尽量均匀要把蛋糕分得尽量均匀抛币:

抛币:

AliceAlice抛币抛币BobBob猜测是花还是字猜测是花还是字如果由一个人来完成,他可以作弊如果由一个人来完成,他可以作弊公平掷币协议公平掷币协议不能见面的两个人通过网络或者电话完成不能见面的两个人通过网络或者电话完成AliceAlice和和BobBob各有各有50%50%的机会获胜;的机会获胜;任何一方欺骗则认为其在博弈中失败;任何一方欺骗则认为其在博弈中失败;协议执行结束后,协议执行结束后,AliceAlice和和BobBob都知道结果都知道结果公平掷币协议公平掷币协议1)1)AliceAlice发送一对大素数发送一对大素数pp,qq的乘积的乘积n=pn=p*qq给给Bob.Bob.2)Bob2)Bob在在中随机选取一个小于中随机选取一个小于n/2n/2的的x,x,然后发送然后发送给给Alice.Alice.3)Alice3)Alice校验校验是否是模是否是模nn的二次剩余,即是否满足的二次剩余,即是否满足勒让德符号勒让德符号和和,若满足则计算,若满足则计算的四个根:

的四个根:

,其中,其中。

然后。

然后AliceAlice随机猜测随机猜测BobBob选取的是选取的是中的哪一个,并把猜测结果中的哪一个,并把猜测结果00或或11发送给发送给BobBob(事先规(事先规定大的用定大的用11表示,小的用表示,小的用00表示)表示).N应该为Blum数公平掷币协议公平掷币协议4)Bob4)Bob收到后收到后00或或11后将第后将第2)2)步中选择的步中选择的发送给发送给Alice.Alice.5)Alice5)Alice检验检验是否属于是否属于,是否属于,是否属于,现在现在AliceAlice根据第根据第3)3)步和接收到步和接收到xx的可以知道她的可以知道她的猜测是否正确,然后将的猜测是否正确,然后将p,qp,q值传送给值传送给Bob.Bob.6)Bob6)Bob检验检验p,qp,q是否是两个不同的素数,且验证是否是两个不同的素数,且验证n=p*qn=p*q是否成立。

然后根据是否成立。

然后根据和和计算出计算出,现在,现在BobBob也知道他和也知道他和AliceAlice的博弈最终是谁赢了的博弈最终是谁赢了.公平掷币协议公平掷币协议例:

例:

1)Alice1)Alice选择选择pp=11,=11,qq=19,=19,然后把然后把nn=11*19=209=11*19=209发送发送给给Bob.Bob.2)Bob2)Bob在在中随机选取中随机选取xx=31(209/2),=31j。

nA将最终的结论告诉B。

平均薪水问题平均薪水问题平均薪水问题平均薪水问题共同兴趣问题共同兴趣问题n假设Alice与Bob已协商好各种嗜好编码和某个单向函数:

n1)Alice使用一个单向函数,将自己的嗜好编码映射为7位数字n2)Alice用这7位数字作为电话号,拨号。

若有人接听,则Alice给Bob留下一条消息;若无人接听,则Alice将这7位数代入单向函数再找下去,直到有人接听。

n3)Alice告诉Bob她进行了几次单向函数迭代n4)Bob从自己的嗜好出发,进行同样次数的单向函数迭代,将结果的7位数作为电话号,拨号,询问是否有人给他留言n分析:

Bob可以进行穷举攻击加密数据计算问题加密数据计算问题n对某些f(x)而言,是有办法的,例如盲签名。

n离散对数函数:

有大素数p,生成元g,f(x)=loggx(modp)n协议如下:

n1)Alice随机选择rpn2)Alice计算x=xgrmodp,并将x提交给Bobn3)Bob计算e=f(x),并将e发送给Alicen4)Alice计算f(x)=(e-r)mod(p-1)不经意传输不经意传输情景1:

Alice有一个秘密,想用100元的价格卖给Bob。

而Bob只有50元,秘密又不能分为两半。

两人协商的结果是:

Bob付50元并以50%的几率得到消息,而Alice对Bob是否得到消息并不知情。

Rabin的ObliviousTransfern

(1)A:

取两个素数p,q,计算n=pq,nBn

(2)B:

取x,0xn,gcd(x,n)=1,计算a=x2modn,aAn(3)A:

因为知道p和q,可以计算x2modn=a的四个根:

x,n-x,y,n-y,从中随机挑选一个送给Bn(4)B:

若收到y或n-y,则可计算p和q:

gcd(x+y,n)=p或q;若收到x或n-x,则B什么也得不到。

分析:

nBob获得p和q的概率是50%nAlice不知道Bob是否解得p和q国家级精品课程现代密代密码学学王励成王励成副教授副教授灾灾备技技术国家工程国家工程实验室室北京北京邮电大学信息安全中心大学信息安全中心上节课内容回顾上节课内容回顾n密码协议n比特承诺n公平抛币n安全多方计算n百万富翁问题n平均薪水问题n共同兴趣问题n不经意传输不经意传输不经意传输情景2:

Alice有两个秘密,想用100元的价格卖给Bob。

而Bob只有50元,只能买一个秘密。

两人协商的结果是,Bob付50元并能得到其中任意一个秘密,而Alice对Bob得到的是哪个消息并不知情。

扩展:

Alice传送一组消息给Bob,Bob收到其中一个子集,Alice不知道Bob收到的是哪个子集。

不经意传输不经意传输n解决情形2的协议:

n1)Alice产生两对公钥/私钥,将两个公钥送给Bobn2)Bob选择一个对称密码算法(如DES)密钥,并用Alice的某一个公钥加密,将加密密钥发给Alicen3)Alice分别用两个私钥解密Bob的加密密钥,分别用两个解密结果加密她的两份消息,将加密结果送给Bobn4)Bob用密钥解密两份密文,得到两份消息之一n分析:

考虑到Alice可以用解密结果加密同一份消息,而欺骗Bob;Bob如何知道Alice没有欺诈?

n解决办法:

Alice将两份私钥发给Bob,以便验证她没有欺诈。

但此时Bob将有能力获得第二份消息,怎么办?

使用仲裁可以解决这个问题。

(注意:

协议结束后引入的仲裁不同于协议当中引入的可信第三方,是可以接受的。

)34本章主要内容本章主要内容l密码协议概念密码协议概念l比特承诺比特承诺l公平抛币协议公平抛币协议l安全多方计算安全多方计算电子货币电子货币l电子选举电子选举l匿名协议匿名协议电子货币电子货币电子货币是指用一定的现金或存款从银行兑换出电子货币是指用一定的现金或存款从银行兑换出代表相同金额的数据,并以可读写的电子形式存储起代表相同金额的数据,并以可读写的电子形式存储起来。

当使用者需要消费时,通过电

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1