首页 > 解决方案 > AES-CTR 加密是否足以在本地加密文件?

问题描述

假设我正在构建类似GnuPG的东西,不需要身份验证。

我应该去执行 AES-CTR 来加密文件吗?

标签: cryptographyaesgnupgaes-gcm

解决方案


可以使用 AES-CTR 是的。它可用于提供您正在寻找的机密性。它对文件加密有一些好处,因为 CTR 是可搜索的:您可以将任意数量的块跳过到生成的密钥流中的特定偏移量。

然而,魔鬼在细节中。如果使用相同的密钥/随机数加密多个文件,AES-CTR 很快就会失去所有机密性。如果文件更改,则可能应该使用不同的密钥或随机数重新加密它。否则,如果两个版本都可供对手使用,则文件的多个版本可能会泄漏信息。

应采取充分措施确保计数器块不重复。这意味着采用合理的随机数大小。如果这不可能,那么您应该派生特定于文件或文件版本的密钥。


推荐阅读