密码协议--总结三

这次接上一次总结的内容。

下面讲述一下比特位承诺

        简单讲述比特位承诺就是: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解密,只能得到其中一条。协议达到了随机传递部分消息的作用。并且保证了公平性。


不经意传送协议
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容