如何使用tweetnacl交换和验证短暂的公钥?

时间:2016-02-17 17:08:49

标签: python c encryption public-key-encryption

写入强ECC加密的C库http://tweetnacl.cr.yp.to/ 由Daniel J.Bernstein出版,非常整洁。

使用由JanMojžíš编写和发布的tweetnacl Python接口模块,可以更轻松地使用Python:https://mojzis.com/software/python-tweetnacl/index.html

生成短暂的公钥和密钥对很容易:

python
>>> import tweetnacl as nacl
>>> pk, sk = nacl.crypto_box_keypair()

假设Alice获得了Bobs公钥,反之亦然,使用crypto_box()crypto_box_open()函数进行加密通信 非常直接且易于实施。

但我想知道:从这里获取Alice“pk”的最简单方法是什么 鲍勃和鲍勃的公钥回到爱丽丝?鲍勃怎么能确定这一点 收到的公钥真的是Alice的关键,反之亦然?

1 个答案:

答案 0 :(得分:0)

您不能拥有受信任的第三方和其他安全通道。这就是SSL在浏览器中预先部署的证书颁发机构和信任链证书的原因。没有这些,交换过程就容易受到中间活跃人士的影响。