使用 GnuPG(1.0.xx、2.0.xx、2.1.xx) 加密单个文件是否有文件大小限制?
文件大小范围约为 2GiB 到 100GiB。我并不担心 2Gib,但我不确定加密单个 100GiB 文件是否是个好主意。如果我这样做会遇到问题吗?还是加密如此大的文件绝对安全?
我查看了常见问题解答https://gnupg.org/并且只找到一篇文章讨论不同密码的文件大小限制,但没有找到程序本身是否存在限制。以下是具体部分的链接:
https://gnupg.org/faq/gnupg-faq.html#recommended_ciphers
亲切的问候
答案1
如果我这样做,会遇到问题吗?或者加密这么大的文件是否完全安全?
文件大小限制取决于操作系统。
--max-output n
This option sets a limit on the number of bytes that will be
generated when processing a file. Since OpenPGP supports
various levels of compression, it is possible that the plain-
text of a given message may be significantly larger than the
original OpenPGP message. While GnuPG works properly with
such messages, there is often a desire to set a maximum file
size that will be generated before processing is forced to
stop by the OS limits. Defaults to 0, which means "no
limit".
来源 GPG
答案2
没有限制,只是可能存在安全问题。
根据 RFC 4880,OpenPGP 格式对文件大小没有限制(尽管单个数据包限制为~4 GiB,但文件将简单地存储为一系列部分数据包)。
一些 32 位版本的 OpenPGP 软件可能每个文件的大小限制为 2 或 4 GiB。因此,如果您加密文件,则不能保证旧计算机能够解密它。
为 64 位编译的软件应该没有问题。(我还没有测试过 32 位 GnuPG,但我认为应该没问题。)
确保避免使用旧密码使用 64 位块大小(如 IDEA 或 Blowfish),因为可能存在类似于Sweet32攻击。
具有较大块大小的密码(例如 AES)没有实际限制,但直到最近(我认为是 2.1.x)它们才成为 GnuPG 中的默认密码 - 即使在那时,如果你正在加密其他人的旧公钥,它可能存储了“首选项”,告诉软件使用特定的旧密码。
答案3
可能没有官方限制,但我使用带有 rsa2048 密钥的 Gpg4win 加密 10GB 文件时没有成功。Kleopatra 在 56MB 后崩溃,GPA 会加密和解密文件,但我创建后无法打开它。此外,它还会为如此大的文件创建 0 字节校验和。