好的文件加密工具

信息安全 加密 linux 工具 文件加密
2021-08-26 10:21:52

你能帮我找到一个好的文件加密工具吗?目标操作系统是 Linux,但也欢迎用于 Windows 的工具。FOSS 工具是首选。该工具必须在恢复原始数据(解密时)和安全方面都是可靠的。加密文件仅供我自己使用。
如果该工具具有慢速和/或资源密集型密码派生方案,例如 bcrypt、scrypt 或 KeePass 中使用的密码派生方案,那就太好了。

笔记:

  • 我对加密文件系统不感兴趣。
  • 我对加密(虚拟或非虚拟)磁盘或分区不感兴趣。
  • 合理的推诿不是问题。

附加问题:考虑到加密文件可以在线免费提供,出现了一些问题(例如计算能力的演变)。您建议采取哪些其他安全措施(除了加密本身)(例如密码/密钥长度、工具配置等)?

4个回答

因为加密的文件是不可压缩的,所以最有用的加密位置是在压缩程序中;这样你就可以压缩内容然后加密它。

现代工具通常使用经过严格审查的算法,例如 AES。避免使用经典的 ZIP 加密,因为它使用了错误的算法。7-zip 是一个很棒的工具,因为它是自由源码软件、跨平台的,并且得到了广泛的认可。它使用 256 位 AES,这是目前“牢不可破”的,暴力攻击是最有效的攻击算法。

包括加密在内的 7-zip 可以集成到 GNOME 的内置存档管理器中(并且可能已经安装!),使整个过程在很大程度上是透明的。p7zip命令处理命令行访问。文件扩展名为.7z

Truecrypt被评估并被广泛使用,但它的大部分用途是用于磁盘加密。由于您对单个文件更感兴趣,我要么研究如何有效地将 Truecrypt 用于单个文件,要么另一种选择是 GnuPG。

“GnuPG 是一个卷和单个文件加密工具,支持十几种加密方案、配对密钥和过期签名。GnuPG 不仅提供坚如磐石的本地文件加密;它还得益于配对加密和公钥服务器,加密通信的好工具

GnuPG 在命令行上使用,这是基础:

加密文件:

$ gpg -c file_name.ext

-c 选项是使用对称密码进行加密。

解密文件:

$ gpg file_name.ext.gpg

两者都适用于 Linux、Windows 和 Mac。

对于将在线提供的加密文件,通过 Truecrypt 或 GnuPG 进行安全加密就足够了。

如果文件包含过于敏感的数据而无法仅进行加密,我会提供更多关于该场景的描述,并且我可以提供更广泛的方法来保护它们。


更新:TrueCrypt 没有维护,不再被认为是安全的:

警告:使用 TrueCrypt 并不安全,因为它可能包含未修复的安全问题

此页面仅用于帮助迁移由 TrueCrypt 加密的现有数据。

在 Microsoft 终止对 Windows XP 的支持后,TrueCrypt 的开发于 5/2014 结束。Windows 8/7/Vista 及更高版本提供对加密磁盘和虚拟磁盘映像的集成支持。这种集成支持也可在其他平台上使用(单击此处了解更多信息)。您应该将任何由 TrueCrypt 加密的数据迁移到您的平台支持的加密磁盘或虚拟磁盘映像。

对于文件加密,请使用 GPG。它经过密码学家的严格审查,在某种意义上是文件加密的黄金标准。

您可以使用 来控制从密码短语生成加密密钥的过程--s2k-count N,其中 N 是您希望密码短语哈希重复的次数。我建议尝试几个不同的值,计时 GPG 在您的机器上花费的时间,并选择一个对您来说足够慢的值。不幸的是,由于超出我理解的原因,您可以选择的数量是有上限的。

例如,在我的机器上,

gpg -c --force-mdc --s2k-count 65011712 foo.txt

效果很好。

除非您使用极其复杂的密码,否则任何简单的基于密码的对称加密都不适合您的情况。原因是即使您使用强对称加密,如 AES,您的密码仍然会受到离线暴力攻击。

换句话说... AES 128 的密码强度讨论假定 128 位密钥文件。对于具有 128 位随机密钥熵的密码,您需要至少 20 个字符的完全随机生成的所有可打印 ASCII 密码。

例如,

#vM.SoLZpH3fLH%@Wz%G

http://en.wikipedia.org/wiki/Password_strength

这就是为什么您使用随机生成的密钥文件,并使用您的(较小的)密码对其进行加密的原因。然后你可以将你的加密数据放到网上,除非有人拥有加密的密钥文件,否则他们甚至不能开始尝试对你进行暴力破解。

将密钥文件的备份保存在非常安全的地方。

PGP/GnuPG 是做到这一点的正确方法。密钥文件是您的私钥。

Truecrypt 也支持密钥文件,是一个合理的更专业的替代方案。