ComSec作业四:Diffie-Hellman

文章目录

  • 前言
  • 一、DH密钥交换的实现
  • 二、DH算法的应用
  • 总结
  • 拓展:原根判定方法


前言

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

ComSec作业四:Diffie-Hellman_第1张图片


一、DH密钥交换的实现

在这里插入图片描述

解:
     5 1 5^1 51 mod 157 = 5 mod 157
     5 2 5^2 52 mod 157 = 25 mod 157
     5 4 5^4 54 mod 157 = ( 5 2 ) 2 (5^2)^2 (52)2 mod 157 = 154 mod 157
     5 8 5^8 58 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_A YA = α 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^1 58545251)  mod  157
              = ( 9 • 154 • 25 • 5)  mod 157
              = (1125 • 154)  mod  157
              = ( 26 • 154)  mod 157
              = 79

    (b) Y B Y_B YB = α 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^1 516585251)  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算法的应用

ComSec作业四:Diffie-Hellman_第2张图片

解:

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


  (b) 已知 K K K = ( Y A ) X B (Y_A)^{X_B} (YA)XB mod q
               = 8 3 8^3 83 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 机制的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥。然后可以用这个密钥进行加密和解密。但是注意,这个密钥交换协议/算法只能用于密钥的交换,而不能进行消息的加密和解密。双方确定要用的密钥后,要使用其他对称密钥操作加密算法实现加密和解密消息。


拓展:原根判定方法

ComSec作业四:Diffie-Hellman_第3张图片

如何计算大数模数

你可能感兴趣的:(网络安全,算法)