交互式提问猜数

来源:百度知道 编辑:UC知道 时间:2024/06/04 16:23:17
假如A,B手中各有一个数,A,B只知道两个数的乘积为8或者16.A,B通过互问的方式,最后推出对方的数为多少
(而旁边的人C,D,E等人也都知道两个数的乘积为8或者16)
据老师说是要4轮 (一问一答为一轮)
请问大家
怎么设计这个协议啊?
就是A,B两个互相问的问题,到后面让A,B知道对方的数字
而C,D,E等人听到他们的对话后不能猜测出A,B的数字

Diffie-Hellman密钥交换算法
Diffie和Hellman在其里程碑意义的文章中虽然给出了

密码的思想但是没有给出真正意义上的公钥密码实例也

没能找出一个真正带陷门的单向函数然而他们给出单向

函数的实例并且基于此提出Diffie-Hellman密钥交换算法

这个算法是基于有限域中计算离散对数的困难性问题之上

设F为有限域g F是F的乘法群F*=F\{0}=<g> 并且对

任意正整数x 计算gx是容易的但是已知g和y求x使y= gx

是计算上几乎不可能的这一问题称为有限域F上的离散对

数问题公钥密码学中使用最广泛的有限域为素域FP.

对Diffie-Hellman密钥交换协议描述Alice和Bob协商

好一个大素数p 和大的整数g 1<g<p p和g无须保密可

为网络上的所有用户共享

当Alice和Bob要进行保密通信时他们可以按如下步骤来做

(1)Alice选取大的随机数x 并计算X=gx(mod P)

(2)Bob选取大的随机数x′ 并计算X ′ = gx ′(mod P)

(3)Alice将X传送给Bob Bob将X ′传送给Alice

(4)Alice计算K=(X ′)X(mod P);Bob计算K ′ X) X ′(mod P),

易见K=K ′ =g xx ′(mod P)

由(4)知Alice和Bob已获得了相同的秘密值K 双方以K作为

加解密钥以传统对称密钥算法进行保密通信

注:Diffie-Hellman密钥交换算法拥有美国和加拿大的专利,以两位学者名字命名

深奥!