我正在尝试生成可以嵌入二维码的非常小的 OpenPGP 加密文件。
然而,与例如 OpenSSL 相比,GnuPG 似乎为简单的 'a' 输入产生了非常大的结果:
$ echo -n a|openssl enc -aes-256-ctr|wc -c
17
$ echo -n a|gpg --symmetric -o-|wc -c
71
Run Code Online (Sandbox Code Playgroud)
通过阅读手册,其中一个区别是 OpenSSL 默认只包含一个 8 字节的标头和一个 8 字节的盐,而 GnuPG 还包含一个盐、校验和和压缩。关闭这些后,文件大小变小但仍然很高:
$ echo -n a|gpg --symmetric --compress-algo none --disable-mdc --s2k-mode 0 -o-|wc -c
35
Run Code Online (Sandbox Code Playgroud)
有什么方法可以进一步优化 OpenPGP 加密的消息(同时保持 AES 启用)?