python + 加密:使用公钥加密会话密钥
我想用公钥来加密会话密钥。PGP软件是怎么做到这一点的?有没有人能具体说明一下在Python中加密的步骤或函数?
3 个回答
0
可以看看这个链接:在Python中最好/最简单的加密库是什么,里面提到了一种与PGP兼容的解决方案,就是gpgme。
不知道为什么,在这个讨论如何在Python中使用PGP(生成密钥,加密/解密)里,没人提到gpgme……
3
还有一个叫做PyCrypto的模块,听起来正是你需要的东西:http://www.dlitz.net/software/pycrypto/,它的API文档在这里:http://www.dlitz.net/software/pycrypto/apidoc/,还有一些很不错的文档,里面有基本的加密和解密示例:http://www.dlitz.net/software/pycrypto/doc/。
我得承认我没有用过这个模块,但看起来你可以先用一个公钥建立一个会话,然后用这个公钥来加密或解密信息。接着,你可以生成一个会话密钥,并通过你所用的任何渠道来传递这个密钥。最后,用这个会话密钥来切换到一个Crypto.Cipher对象。
另外,如果安全性对你来说很重要,特别是在多用户或信任度不高的机器上,一定要非常小心你是怎么获取会话密钥的。