2

我正在尝试在 java 中使用 AES 加密一些数据。
到目前为止,我已经成功地使用 128 位密钥加密了数据。

对于 256 位加密,我需要更改我的策略文件,这对我来说不是一个选项。
我也提到了这个SO Q/A。
尝试过BouncyCastle,但似乎他们没有任何 256 位密钥的规定( 这里 的第一个问题)。
看看JNCryptor。但不知道它是否是一个好的来源。(BouncyCastle 已获得FIPS的批准)

此外,反射也不是一种选择,因为它违反了 JAVA 许可协议。
因此,如果有人可以指导我解决相关问题或分享可能的解决方案,我会很高兴。

4

1 回答 1

0

128 位 AES 密钥没有任何问题或不安全,它不是暴力破解。256 位将不再提供安全性,成功的攻击将在另一个领域。

要确保的是密钥的质量,使用加密安全随机数生成器 (CSPRNG) 或使用 PBKDF2 从非常好的密码中获取密钥。

正确验证加密:加密,然后 MAC。

在 CBC 模式下使用随机 IV,并且不报告填充错误。

于 2017-02-22T12:41:30.037 回答