ComSec作业四:Diffie-Hellman


前言

Diffie-Hellman:一种确保共享KEY安全穿越不安全网络的方法,它是OAKLEY的一个组成部分。

DH协议的内容及交换过程


一、DH密钥交换的实现

在这里插入图片描述

解:
5 1 5^151 mod 157 = 5 mod 157
5 2 5^252 mod 157 = 25 mod 157
5 4 5^454 mod 157 = ( 5 2 ) 2 (5^2)^2(52)2 mod 157 = 154 mod 157
5 8 5^858 mod 157 = ( 5 4 ) 2 (5^4)^2(54)2 mod 157 = 9 mod 157
5 16 5^{16}516 mod 157 = ( 5 8 ) 2 (5^8)^2(58)2 mod 157 = 81 mod 157

(a) Y A Y_AYA = α X A \alpha^{X_A}αXA mod q
= 5 15 5^{15}515 mod 157
= ( 5 8 • 5 4 • 5 2 • 5 1 5^8•5^4•5^2•5^158545251) mod 157
= ( 9 • 154 • 25 • 5) mod 157
= (1125 • 154) mod 157
= ( 26 • 154) mod 157
= 79

(b) Y B Y_BYB = α X B \alpha^{X_B}αXB mod q
= 5 27 5^{27}527 mod 157
= ( 5 16 • 5 8 • 5 2 • 5 1 5^{16}•5^8•5^2•5^1516585251) mod 157
= ( 81 • 9 • 25 • 5) mod 157
= (729 • 25 • 5 ) mod 157
= (101 • 25 • 5 ) mod 157
= (505 • 25) mod 157
= (34 • 25) mod 157
= 65

(c) s = ( Y B ) X A (Y_B)^{X_A}(YB)XA mod q = ( Y A ) X B (Y_A)^{X_B}(YA)XB mod q

= α X A X B \alpha^{X_AX_ B}αXAXB mod q

= 5 15 • 27 5^{15 • 27}515•27 mod 157
= 5 405 5^{405}5405 mod 157
= 5 ( 156 • 2 + 93 ) 5^{(156 • 2+93)}5(156•2+93) mod 157 (费尔马小定理)
= 5 93 5^{93}593 mod 157
= 78


二、DH算法的应用

在这里插入图片描述

解:

(a) 已知 Y B Y_BYB = α X B \alpha^{X_B}αXB mod q
X B X_BXB = log ⁡ α ( k q + Y B ) \log_{\alpha}{(kq+Y_B)}logα(kq+YB)k , X B ∈ Z k ,X_B\in Zk,XBZX B < q X_B <qXB<q
= log ⁡ 5 ( 23 k + 10 ) \log_5{(23k+10)}log5(23k+10)
通过反复实验和试错后可知, 当k = 5时,X B X_BXB = 3


(b) 已知 K KK = ( Y A ) X B (Y_A)^{X_B}(YA)XB mod q
= 8 3 8^383 mod 23
= 6


(c) ∵ \because 22 = 2 x 11
∴ \therefore q-1 的所有素因子为 2 和 11

∴ \therefore 5 ( 22 / 2 ) 5^{(22/2)}5(22/2) mod 23 = 5 11 5^{11}511 mod 23 = 22
5 ( 22 / 11 ) 5^{(22/11)}5(22/11) mod 23 = 5 2 5^{2}52 mod 23 = 2

以上两数皆不等于1,说明 5 是模 23 的原根


总结

Diffie-Hellman 机制的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥。然后可以用这个密钥进行加密和解密。但是注意,这个密钥交换协议/算法只能用于密钥的交换,而不能进行消息的加密和解密。双方确定要用的密钥后,要使用其他对称密钥操作加密算法实现加密和解密消息。


拓展:原根判定方法

在这里插入图片描述

如何计算大数模数


版权声明:本文为summe_boy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。