ComSec作业四:Diffie-Hellman


前言

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

DH协议的内容及交换过程


一、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算法的应用

在这里插入图片描述

解:

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


拓展:原根判定方法

在这里插入图片描述

如何计算大数模数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值