这次接上一次总结的内容。
下面讲述一下比特位承诺
简单讲述比特位承诺就是:A和B运用一系列的手段来博弈,在相对公平的条件下来博弈出B是否猜对了某个值。(我感觉就比较像复杂一点的石头剪刀布)
参照:
–Decidewho goes first in a game
–IfBob guesses correctly, he goes
–Alicepicks a bit (0 or 1) and locks it in a box
–Bobguesses a bit–Thebox is opened to see if he is right
在“游戏”过程中,我们要保证1,A无法在B猜测之后改变值。2,B不知道A设定的值时多少。
下面介绍几种位比特承诺协议:
一、使用对称加密的方法
1,B给A一个随机数R。
2,A用秘钥K对比特(b与R)进行加密并发送给B。
3,B进行猜测,然后A把K发送给B。
4,B用K对消息进行解密,并验证是否是自己发送的随机数B,并得到承诺b。
二、使用哈希函数
1,A给B传递 H(R1, R2,b), R1---其中R1 R2为两个随机数,b为承诺位
2,当B进行猜测后,A向B发送R1, R2, b(原始值)。然后B就可以对其原始值进行哈希处理,并比较其是否与1中的值相等。
这个协议的安全性在于,A不能找到其他的可能,使得 H(R1, R2’,b’) = H(R1, R2,b)
三、如何让“投硬币游戏”更加公平?
这个内容其实挺有趣的,但是我暂时也不知道它的实用性在什么地方。
简单来说,A与B互不信任。所以他们俩都不想让对方投这枚硬币。
所以他们商量,A与B互相想一个随机数(0或1),然后进行Xor操作,也就是意味着,只要他们其中任意个随机数是不可测的,那么这个协议就相对公平。
之后我们就可以事先规定,如果结果的是1,那就是A胜出,是0那就是B胜出。
之后内容还包括使用one-way算法的承托方案、使用公钥的承诺方案。
哈希的那个算法比较简单,所以我只放上图。
one-way fun下面是使用公钥进行处理的算法协议。
简单介绍来说,这个算法就是A生成两个数,然后让B选择。类似于投硬币的形式,比较公平。
公钥协议这里放入具体的算法。
1,A用公钥加密消息M1和M2,并给B传过去。
2,B选择其中一个,并用B的公钥加密1中的密文。发给A
3,A用自己的私钥将2中的密文解密,得到的内容回传给B。(本来是两层加密,现在变成了一层)
4,B用私钥解密,得到明文(随机数+M)。并将明文传给A让其进行验证。
而上述协议能提供给我们什么启发呢?
下面我们看一个匿名秘钥分发协议--AnonymousKey Distribution。
问题是:我们引入一个server端,但是我们如何通过server来选择秘钥,并保证server端也无法知道我们的具体秘钥呢?
这就要使用上述公钥密码来进行。我们知道: DK1(EK2(EK1(M)))=EK2(M),所以我们可以如下设计协议:
匿名秘钥分发协议1,KDC使用流密码不断生成秘钥,并用KDC的公钥对生成的密码加密,并放到网络中。
2,A随机选择秘钥,并用Ka进行加密(A的公钥)然后传给KDC。
3,KDC拿到2中的密文后用私钥解开一层,在回传给A。
4,A用其私钥解密得到明文秘钥。
下面我们介绍一下不经意传输--oblivious transfer。
简单介绍一下此内容的概念,不经意传输意思是我有一个秘密,但是我不能全部给你,我只能给你我所有秘密的一部分。这个时候我应该如何传递?
Rabin 的OT协议
这个协议的大致思想为:我生成一个大素数N,并给你1/4个剩余,而四个剩余中只有两个是可以分解这个大素数N。例如:这个商品价值100元,而你只给我了50元,那么我不能把消息完全给你,只给你百分之五十的概率去获取消息。
1,A生成两个素数pq,计算N=p*q并发送N给B。
2,B在0~n中选择一个数字x,并计算 a = x^2 mod n并发给A。
3,A计算a的剩余(因为a是x的平方,所以剩余共有四个(x1,x2,x3,x4),并随机选择一对发给B。
4,B用 (x+b)(x-b)=0 mod n来验证传过来的剩余是否合理。而又因为B已知其中的两个剩余,所以B只有一半的概率能获得未知的剩余对。
下面我们讲述一个比较实用的协议。
不经意传送协议倘若A要向B发送部分秘密,那协议应该怎么做呢?
1,A生成两个公私钥对E1、E2,并把两个公钥发给B。
2,B生成一个对称秘钥K,然后随机选取任意一个公钥并加密秘钥K,发送给A。
3,此时A并不清楚B选择哪个公钥,所以他干脆使用两个私钥分别对2中的密文解密得到K,K‘。(此时K为真正的秘钥,用其加密的内容B可以解密,而K’加密的内容B无法解密)
4,之后A使用K与K‘分别加密两个message,传给B。
5,B用K解密,只能得到其中一条。协议达到了随机传递部分消息的作用。并且保证了公平性。
网友评论