首页 文章

是否有公钥流密码加密?

提问于
浏览
2

我有一个程序,定期将敏感数据的小块(比方说8个字节)附加到许多日志文件中 . 我希望这些数据加密 . 我希望程序在启动时自动启动,所以我不想在程序启动时输入密码 . 我也不希望它在某处存储密码,因为这几乎会破坏加密的目的 .

由于这些原因,在我看来,公钥加密将是一个不错的选择 . 程序知道我的公钥,但我的私钥在其他地方受密码保护 .

到现在为止还挺好 . 但是当我尝试使用PyCrypto到RSA(或ElGamal) - 加密一个小的5字节字符串时,输出会爆炸到128字节 . 我的日志文件足够大,因为它是...另一方面,当我尝试像Blowfish这样的对称加密时,输出字符串与输入字符串一样大 .

所以,我的问题是:是否有一个相当安全的公钥加密算法,我可以一次加密8个字节的数据并且不会爆炸? (我想因为2可以) . 我想我想要的是一个公钥流密码 .

如果没有这样的东西,我想我会放弃并使用对称加密并在启动时手动提供密码 .

2 回答

  • 0

    通常,这是通过程序创建一些(实际)随机数的方式来解决的,这些随机数被用作对称加密算法的秘密密钥 .

    在你的程序中,你必须做以下事情:

    • 生成一些真实的随机数据(可能使用/ dev / random)作为密钥 .

    • 使用公钥算法加密密钥 .

    • 对其他一些对称算法使用密钥 .

    解密这个,

    • 使用私钥解密密钥 .

    • 使用密钥和对称算法解密数据 .

    您可能希望为“好”键获取一些随机数据(例如> = 256位) .

  • 4

    您需要做的事情就像SSL那样:使用公钥加密交换密钥,然后使用对称加密 . 非对称加密在性能方面效率非常低,不应该用于此类内容 .

相关问题