正确加密静止的文件

时间:2014-05-21 09:02:47

标签: java security encryption cryptography

我刚刚看过一个加密101谈话,如果你输入的字母是,那么 AES"在您的代码中,您做错了!解决方案是"只需使用GPG"。

如果您将数据存储在云端,则所有读者和作者都需要知道密钥。如果密钥是公钥,那只是一个慢键,但不是一个比一个好密码更安全的密钥?

GPG有哪些标准备选方案可以正确加密静态数据但使用共享密钥而不是公钥?

我使用Java,并希望使用库,但希望与其他平台互换。

1 个答案:

答案 0 :(得分:1)

解决方案是错误的 - 您不使用“GPG”而是使用OpenPGP。

确实,对于使用共享机密(密码和类似)的加密,OpenPGP是最佳的,因为它同时支持多种方法并包括压缩。

替代方案是使用CMS加密,其密钥对(以某种预定方式)从共享秘密中派生。然而,这种方案不是标准的。

我还记得支持使用对称密钥加密的XML加密,但它有一定的安全漏洞。

所以OpenPGP可能是最好的方法。

关于兼容性 - OpenPGP兼容的库应该创建可以在以后由任何其他OpenPGP兼容的库或应用程序处理的数据包。不幸的是,流行的BouncyCastle库中的OpenPGP实现有时会产生不兼容的数据包 - 由于创建的数据包中的问题,当使用BouncyCastle创建的数据包无法由GnuPG或我们的SecureBlackbox处理时,我们多次遇到它的问题。