RSA加密 - 解密AES密钥并存储在文件中

时间:2015-08-25 15:45:07

标签: java file encryption aes rsa

只是一个问题,如果我的方式是可以的。 我在java中创建了一个filecrypter,我使用随机生成的AES密钥并用它加密文件。 AES密钥将使用RSA加密,并且还将与随机IV一起存储在outpufile中。 在解密时,我读取前n个字节(在我的情况下为256字节)并使用我的私有RSA密钥对其进行解密,然后使用AES密钥对文件的其余部分进行解密。

我的主要问题是可以将加密的AES密钥包含在加密文件中吗?这对我来说似乎很舒服,因为我加密的每个文件都有自己的随机密钥,包括用RSA密钥加密。 这是不好的做法吗?

1 个答案:

答案 0 :(得分:1)

AES的执行速度比RSA快(对于相同的密钥大小) 所以你可以创建一个像贝娄那样的结构......

------------------------------------------------
|     |                                        |
| IV  |  Your encrypted data                   |
|     |                                        |
------------------------------------------------

您可以使用加密数据存储您的IV 假设你的IV是byte []的20大小,而不是用加密数据存储它 当您想要解密数据时,首先从阵列获取初始20个字节而不是其他数据是您的加密数据。
您知道IV的大小..因此您可以轻松地从整个数据中分离IV和加密数据( IV + EncryptedData)。

以上不是您问题的确切解决方案 但你可以使用上面一个....