Gur*_*geh 3 python encryption public-key-encryption
我有一个程序会定期将敏感数据的小块(比如 8 个字节)附加到许多日志文件中。我希望对这些数据进行加密。我希望程序在启动时自动启动,所以我不想在程序启动时输入密码。我也不希望它在某处存储密码,因为这几乎会破坏加密的目的。
由于这些原因,在我看来,公钥加密将是一个不错的选择。该程序知道我的公钥,但我的私钥在其他地方受密码保护。
到现在为止还挺好。但是当我尝试使用 PyCrypto 对 RSA(或 ElGamal)加密一个 5 字节的小字符串时,输出会爆炸到 128 字节。我的日志文件足够大...另一方面,当我尝试对称加密时,如 Blowfish,输出字符串与输入字符串一样大。
所以,我的问题是:是否有一种相当安全的公钥加密算法,我可以一次加密 8 个字节的数据并且不会让它爆炸?(我想因子为 2 就可以了)。我想我想要的是一个公钥流密码。
如果没有这样的事情,我想我会放弃并使用对称加密并在启动时手动提供密码。
通常,这是通过程序创建一些(真实)随机数的方式来解决的,这些随机数用作对称加密算法的密钥。
在您的程序中,您必须执行以下操作:
要解密这个,
您可能想要为“好”密钥获取一些随机数据(例如 >=256 位)。