(计算机安全学)用Python实现DH秘钥交换协议

本文介绍了如何使用Python实现Diffie-Hellman(DH)秘钥交换协议。通过素数判断、获取原根、计算各自密钥等步骤,展示了A和B如何通过交换计算数来达成相同的密钥,验证了密钥的一致性。
摘要由CSDN通过智能技术生成
import math  
import random  
  
def judge_prime(p):   #素数判断  
    if p <= 1:  
        return False  
    i = 2  
    while i * i <= p:  
        if p % i == 0:  
            return False  
        i += 1  
    return True  
  
def get_generator(p):   #得到所有原根  
    a = 2  
    list = []  
    while a < p:       
        flag = 1  
        while flag != p:  
            if (a ** flag) % p == 1:  
                break  
            flag += 1  
        if flag == (p - 1):  
            list.append(a)    
        a += 1  
    return list  
  
#A,B得到各自的计算数      
def get_calculation(p, a, X):  
    Y = (a ** X) % p  
    return Y  
  
#A,B得到交换计算数后的密钥   
def get_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值