dh密钥协商算法c语言实现,Diffie-Hellman密钥协商算法-python实现

本文介绍了Diffie-Hellman密钥协商算法,详细阐述了算法的步骤,并提供了Python代码实现,包括质数和本原根的查找,以及密钥的协商过程。为了防止中间人攻击,文中提到了使用以太坊包eth_account进行非对称加密。
摘要由CSDN通过智能技术生成

Boblee人工智能硕士毕业,擅长及爱好python,基于python研究人工智能、群体智能、区块链等技术,并使用python开发前后端、爬虫等。

1.Diffie-Hellman密钥协商算法

Diffie-Hellman密钥协商算法在1976年在Whitfield Diffie和Martin Hellman两人合著的论文New Directions in Cryptography(Section Ⅲ PUBLIC KEY CRYPTOGRAPHY)中被作为一种公开秘钥分发系统(public key distribution system)被提出来。

下面给出Diffie-Hellman算法交换密钥的步骤。假设存在待交易用户a与公证人c协商密钥。DHE算法容易被中间人攻击。目前的解决办法是使用数字签名,以及使用其它的协议变种。其流程如下图所示。其中用户a与公证人c随机选取的整数,并满足,计算出的即为密钥。

42e71bc530490ee4ff2996c568611d7a.png

假设用户a、b协商DHE密钥,他们的质数、本原根是;私钥及计算结果分别是,则存在下列证明使得双方得出的私钥是相等的。

4790d55e68d4dec7d046c6fc78070db3.png

2.Python实现

1.选取质数、本原根

(1)判断是否为质数。

def judge_prim

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值