如何从邮件消息中获知加密类型?

如何从邮件消息中获知加密类型?

我使用 Thunderbid、Enigmail、GnuPG 和 pinentry。

当我收到加密消息时,如何确定使用哪种算法:

  • 用于加密
  • 用于校验(SHA1 或非 SHA1)
  • 用于压缩

答案1

我不知道有什么方法里面Thunderbird,但将消息存储为文件并放入 shell 将显示您正在查找的信息。

变得冗长

gpg -vv将在输入上输出非常详细的信息,包括您正在查找的信息。

一个例子

可以通过使用您自己的密钥对消息进行加密和签名来生成输出示例:

echo 'foo' | gpg --recipient a4ff2279 --encrypt --sign | gpg -vv

稍微剥离的输出(删除与问题根本无关的庞大部分)如下所示:

:pubkey enc packet: version 3, algo 1, keyid CC73B287A4388025
    data: [4095 bits]

[snip, gpg asking for passphrase]

gpg: public key encrypted data: good DEK
:encrypted data packet:
    length: unknown
    mdc_method: 2
gpg: encrypted with 4096-bit RSA key, ID A4388025, created 2014-03-26
      "Jens Erat (born 1988-01-19 in Stuttgart, Germany)"
gpg: AES256 encrypted data
:compressed packet: algo=2
:onepass_sig packet: keyid 8E78E44DFB1B55E9
    version 3, sigclass 0x00, digest 8, pubkey 1, last=1
:literal data packet:
    mode b (62), created 1418376556, name="",
    raw data: 4 bytes
gpg: original file name=''
foo
:signature packet: algo 1, keyid 8E78E44DFB1B55E9
    version 4, created 1418376556, md5len 0, sigclass 0x00
    digest algo 8, begin of digest 81 67
    hashed subpkt 2 len 4 (sig created 2014-12-12)
    subpkt 16 len 8 (issuer key ID 8E78E44DFB1B55E9)
    data: [4095 bits]
gpg: Signature made Fri Dec 12 10:29:16 2014 CET using RSA key ID FB1B55E9
gpg: using subkey FB1B55E9 instead of primary key A4FF2279
[snip, trust validation]
gpg: binary signature, digest algorithm SHA256
gpg: decryption okay

解释输出

如果 GnuPG 仅打印算法 ID(如压缩),则可以在以下位置查找这些算法 ID:RFC 4880,“常量”部分。具体来说,对于这个示例,我们将使用以下算法:

  • 用于对称加密的 AES256
  • MDC 2 表示修改检测代码的 SHA1,这是目前唯一定义的
  • 压缩算法2,解析为ZLIB
  • SHA256 用于签名

相关内容