如何将ElGamal密钥导出到文本文件?

时间:2013-06-26 10:00:32

标签: python encryption rsa pycrypto elgamal

我一直致力于加密字符串并将其显示为QR码(在base64编码字符串之后)。

我想在PyCrypto中使用ElGamal私钥 - 公钥加密模块进行加密,但问题是它没有导出功能来将密钥保存到文本文件中。我错过了什么吗?如果没有,是否有一种聪明的方式可以导出它,或者其他我应该看的东西呢?

PS。使用ElGamal而非RSA的原因是我可以使密钥小于1024字节,这使得qr代码更小,更简单。

1 个答案:

答案 0 :(得分:1)

您可以直接访问ElGamal关键组件,因为它们是关键对象的成员。

在Python 2.x中,可以执行以下操作来打印文本文件中的组件:

from Crypto.PublicKey import ElGamal
from Crypto.Random import get_random_bytes

key = ElGamal.generate(2048, get_random_bytes)
comps = ('p', 'g', 'y', 'x')
out = "\n".join(["{} = {}".format(comp, getattr(key, comp)) for comp in comps])
print out