交换示例 为了计算简单,使用很小数字。设P=47和47的一个原元,a=3。 A选择秘密密钥XA=8,B选择秘密密钥XB=10,各自计算其公开密钥。 (1)双方各自计算 用户A计算: YA=3 8mod 47=6561 mod 47=28 mod 47 用户B计算: YB=3 10mod 47= 59049 mod 47=17 mod 47 (2)交换YA和YB; (3)交换密钥后,A、B分别计算共享的秘密会话密钥KA、KB: 用户A计算: KA=YB XA mod 47=178 mod 47=4 mod 47 用户B计算: KB=YA XB mod 47=2810 mod 47=4 mod 47 A和B双方独立地决定采用4作为会话密钥。 Diffie-Hellman安全性 离散对数的计算: y?gx mod p 已知g,x,p,计算y是容易的 已知y,g,p,计算x是困难的 Diffie-Hellman密钥交换的攻击 replay攻击 中间人攻击图示 A B K = aXaXb O A B K = aXaXo O K = aXbXo Diffie-Hellman密钥交换的攻击 中间人攻击 1 双方选择素数p以及p的一个原根a(假定O知道) 2 A选择Xap,计算Ya=aXa mod p, A?B: Ya 3 O截获Ya,选Xo,
原创力文档

文档评论(0)