加密文件会使文件变大吗?

信息安全 加密 压缩
2021-08-24 19:04:49

我通过设置密码使用 Winrar 加密了一个 Word 文档。令人惊讶的是,存档比原始文件大(631 对 614KB)。然后我测试了如果不使用加密会发生什么,结果是一个 612KB 的存档。为什么是这样?

现在TrueCrypt已经消失了,加密数据以保存到云(例如谷歌驱动器)的最佳方法是什么?

1个回答

加密本身并不会使文件变大。

然而,在实践中,加密文件比未加密的文件大,原因有很多:

  1. 当前使用的对称密码具有可以将每个可能的密文解密为明文的特性,或者换句话说,如果有人篡改了加密文件,它仍然可以被解密。如果您正在加密文件,您通常需要确保文件在您不查看时未被更改,这需要以一种或另一种形式添加额外信息。

  2. 大多数对称密码都适用于比单个字节大得多的数据块(例如,AES-128 一次可以工作 16 个字节)。因此,如果文件不是块大小的倍数,则需要填充末尾以填充完整的块。有一些方法(例如“密文窃取”)可以在不使加密文件大于原始文件的情况下做到这一点,但只需添加几个字节的填充通常更简单。

  3. 加密文件有许多不同的方法。在加密文件中添加一个标头来描述它是如何完成的(使用了什么算法,正在使用什么防篡改机制,如何扩展密码以生成密钥等)通常很有用。从理论上讲,这会通过向攻击者提供信息来降低安全性,但在实践中,便利性的增加超过了任何轻微的减少。