[编辑以提出更具体的问题]
我需要使用强对称加密算法加密一些文件 - AES256 似乎是个不错的选择 - 并使用 GPG 进行加密。我仅将 GPG 用于此对称加密,目前不需要它用于任何其他加密任务。
我使用的 GPG 版本是随 Ubuntu 版本一起提供的 - v1.4.16。但我想知道使用 GPG v2.x 解密由旧版 GPG v1.4 创建的 AES256 加密文件是否会出现任何问题?
如果我确实升级到较新的 GPG 版本 - 对于此版本的 Ubuntu,最好的升级方法是什么?旧的 gpg 版本会保留吗?版本之间是否存在需要注意的冲突?
非常感谢
[关于我的问题的回复:- 也许可以将其移至另一个 StackExchange 论坛,例如 SuperUser 或 Unix/Linux。经过思考,Ask Ubuntu 可能不是发布此问题的最佳论坛,因为它并非特定于 Ubuntu,而恰好是我所用的系统。我已更改标题。]
答案1
升级 gnupg 的最佳方法是升级或全新安装 Ubuntu 的下一个长期支持版本,即 Ubuntu 16.04。Ubuntu 16.04 默认安装 gnupg2(新 v2.x),而不是 Ubuntu 14.04 中默认安装的 gnupg。GnuPG 2.x 是支持 OpenPGP 和 S/MIME 的 GnuPG 新模块化版本。
如果您在 Ubuntu 18.04 发布时升级到它,您将拥有几乎相同的 gnupg2 版本 2.1.15,而不是 2.1.11。
答案2
经过对 Ubuntu v14.04.5 LTS 和 v16.04.3 LTS 的测试,新版本的 GPG (v2.1.11) 可以成功解密使用旧版本 GPG (v1.4.16) 创建的加密文件,但对于新版本,您可以使用命令 gpg2(旧 1.4 版本的 GPG 仍可在 Ubuntu 16.04.5 上通过命令“gpg”使用)。此外,对于新版本,--batch
如果您想使用该--passphrase
选项,则需要包含该选项,否则它将不起作用(请参阅 man gpg2 页面)。
因此,如果在旧版本上使用 AES256 加密:-
sudo gpg --output a1.txt.gpg --passphrase abc123 --cipher-algo AES256 --symmetric a1.txt
然后你用以下方法解密新版本:-
sudo gpg2 --output a1.txt --batch --passphrase abc123 --decrypt a1.txt.gpg
(该--passphrase
选项很有用,可以避免手动输入很长的密码)。