Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以使为on-topic。
4年前关闭。
Improve this question
通过在CMD中执行以下命令,可以使用
gpg --clearsign文件名
GnuPG使用哪种算法的clearsign选项,以便即使执行签名后,也可以从atat读取输出签名?
我读了一本手册,说clearsign选项是如何工作的,但我听不懂。 It is available here.
根据手册,铠装应用于签名,使签名不可读。但是问题是clearsign如何使签名可读。
但是,如何控制由哈希算法和加密功能组成的签名的输出作为明文呢?
通过使用哈希和加密功能,如何保证输出到可读的ASCII字符范围内?
想改善这个问题吗?更新问题,以使为on-topic。
4年前关闭。
Improve this question
通过在CMD中执行以下命令,可以使用
clearsign
选项使用PGP对文件进行签名gpg --clearsign文件名
GnuPG使用哪种算法的clearsign选项,以便即使执行签名后,也可以从atat读取输出签名?
我读了一本手册,说clearsign选项是如何工作的,但我听不懂。 It is available here.
根据手册,铠装应用于签名,使签名不可读。但是问题是clearsign如何使签名可读。
但是,如何控制由哈希算法和加密功能组成的签名的输出作为明文呢?
通过使用哈希和加密功能,如何保证输出到可读的ASCII字符范围内?
最佳答案
实际上,签名始终是二进制的。 clearsign
仅表示签名不是在压缩消息上而是在原始消息上计算的(如果它是文本格式)。这意味着已签名的消息仍对收件人(在----BEGIN PGP SIGNED MESSAGE----
标头之后)可读,这意味着在邮件中,收件人仍可以读取消息而无需通过PGP程序。收件人仍然需要这样的程序来验证签名。
由于签名始终是二进制的,但有时需要以文本格式发送,因此这意味着签名被编码为base64,以确保其也为文本格式。如果您不执行clearsign
,而是执行sign
,则将首先压缩整个消息,然后对其进行签名,然后对总数进行base64编码。该消息仍然对任何人都可读(在base64解码和解压缩之后)。因此,标准ASCII装甲编码用于保证可打印的ASCII输出。但是这种最终编码只是为了方便起见,底层的二进制形式是经过验证的实际签名。
10-07 23:02