美文网首页
Diffie-Hellman秘钥交换

Diffie-Hellman秘钥交换

作者: redexpress | 来源:发表于2018-04-22 07:32 被阅读43次

什么是秘钥交换

秘钥交换也叫秘钥协商,在进行对称加密的时候,怎么进行安全的传送秘钥呢?需要使用秘钥交换。

Diffie-Hellman秘钥交换原理

假设Alice和Bob需要交换秘钥1,流程如下:

  1. Alice 和 Bob 商定素数一个素数p和p的一个原根g,假设p = 7,g = 5,这两个数无须保密。
  2. Alice 选择一个[1,p-1] 之间的随机数Ka,比如5,Ka = 5
  3. Alice 计算Pa = q ^ Ka mod p = 3 ^ 5 mod 7 = 5
  4. Alice 把Pa告诉Bob
  5. Bob 选择一个[1,p-1] 之间的随机数Kb,比如6,Kb = 6
  6. Bob 计算Pa = q ^ Kb mod p = 3 ^ 6 mod 7 = 1
  7. Bob 把Pb告诉Alice
  8. Alice 计算出共享秘钥key = Pb ^ Ka mod p = 1 ^ 5 mod 7 = 1
  9. Bob 计算出共享秘钥key = Pa ^ Kb mod p = 5 ^ 6 mod 7 = 1
    窃听者拿到了p和g,并截获了Pa和Pb。但当它们都非常大的时候,依靠这四个数来计算Ka和Kb非常困难。

Python 示例

先用pip安装这个库pip install pyDHE,使用可以看官方示例

相关文章

密码学基础之对称加密(一)
密码学基础系列

参考文献

RFC2409

相关文章

  • Diffie-Hellman秘钥交换

    什么是秘钥交换 秘钥交换也叫秘钥协商,在进行对称加密的时候,怎么进行安全的传送秘钥呢?需要使用秘钥交换。 Diff...

  • 密码学之DH秘钥交换协议

    密码学之DH秘钥交换协议 DH秘钥交换协议简介 普遍大家都认为公钥[https://baike.baidu.com...

  • JAVA实现非对称加密

    高级加密算法 双保险 公钥、私钥 DH(Diffie-Hellman)密钥交换算法 RSA - 基于因子分解 El...

  • DH秘钥交换协议

    DH秘钥交换协议 实现思路 参考:这里 具体步骤 这个协议使用一个质数p的整数模n乘法群以及其原根g Alice与...

  • Diffie-Hellman算法

    0x0 Diffie-Hellman介绍 Diffie-Hellman简称DH算法,用于密钥交换,两端使用相同p,...

  • ssl协商与秘钥交换

    一、SSL协商 由于非对称加密的速度比较慢,所以它一般用于密钥交换,双方通过公钥算法协商出一份密钥,然后通过对称加...

  • ReactNative DH秘钥交换测试

    ReactNative使用DH秘钥交换,JS端使用了bignumber库,结果iPhone5s移动端计算时间达到了...

  • Android-DH 秘钥交换

    Android-RSA 分段加密解密Android-Openssl创建RSA公钥和私钥Android-AES加解密...

  • linux秘钥登录+普通用户sudo权限

    linux秘钥登录 文件准备 秘钥准备 下载私钥 尝试秘钥连接 同样的操作把root用户的秘钥也保留一份 系统配置...

  • HTTPS的混合加密机制

    HTTPS采用共享秘钥加密和公开秘钥加密两者并用的混合加密机制。 什么是共享秘钥加密? 共享秘钥加密也称对称加密,...

网友评论

      本文标题:Diffie-Hellman秘钥交换

      本文链接:https://www.haomeiwen.com/subject/axjdkftx.html