gpt4 book ai didi

python - 密码学 Python : Diffie-Hellman key exchange implementation

转载 作者:太空宇宙 更新时间:2023-11-03 11:20:26 24 4
gpt4 key购买 nike

我目前正在尝试使用 python 密码模块构建 Ephemeral Diffie-Hellman 算法的实现。对我们的目的而言,对用户进行身份验证很重要。 Alice 和 Bob 都有公钥-私钥对和由证书颁发机构签名的证书,以便能够验证他们的公钥并将其链接到他们的身份。

使用经过身份验证的 DH 意味着发送的消息(参见图片)将使用上述私钥进行签名。

可以在此处找到有关使用 python 密码库的 DH 的文档: https://cryptography.io/en/latest/hazmat/primitives/asymmetric/dh/

但是,我似乎无法理解所描述的交换函数的实际作用。有谁能向我解释将它放在 DH 算法中的什么位置?最好使用下图的类比:

DH-algorithm

提前致谢!

最佳答案

在他们的示例中(来自 Alice 的 POV),private_key 是橙色涂料,peer_public_key 是浅蓝色涂料。 shared_key 是最后的棕色油漆。这当然意味着您需要执行两次,一次为 Bob,一次为 Alice。

python2 中的示例代码:

from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import dh

parameters = dh.generate_parameters(generator=2, key_size=512, backend=default_backend())

a_private_key = parameters.generate_private_key()
a_peer_public_key = a_private_key.public_key()

b_private_key = parameters.generate_private_key()
b_peer_public_key = b_private_key.public_key()

a_shared_key = a_private_key.exchange(b_peer_public_key)
b_shared_key = b_private_key.exchange(a_peer_public_key)

print 'a_secret: '+a_shared_key
print 'b_secret: '+b_shared_key

关于python - 密码学 Python : Diffie-Hellman key exchange implementation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43886464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com