Como aprender o tipo de criptografia de uma mensagem de correio?

3

Eu uso Thunderbid, Enigmail, GnuPG e pinentry.

Quando recebo uma mensagem criptografada, como posso determinar qual algoritmo é usado:

  • para criptografia
  • para soma de verificação (SHA1 ou não)
  • para compactação
por user2743980 12.12.2014 / 09:52

1 resposta

4

Eu não sei de um método dentro thunderbird, mas armazenar a mensagem como um arquivo e deixar cair no shell irá revelar a informação que você está procurando.

Como verboso

gpg -vv produzirá informações muito detalhadas sobre a entrada, incluindo as informações que você está procurando.

Um exemplo

Um exemplo da saída pode ser gerado criptografando e assinando uma mensagem para sua própria chave:

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

A saída levemente despojada (removendo partes volumosas que não são relevantes para a pergunta) se parece com:

: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

Interpretando a saída

Se o GnuPG só imprimir IDs de algoritmo (como para a compactação), eles podem ser pesquisados em RFC 4880, Seção "Constantes" . Especificamente para este exemplo, vamos encontrar o uso dos seguintes algoritmos:

  • AES256 para criptografia simétrica
  • MDC 2 significa SHA1 para o Código de Detecção de Modificações, que é o único definido neste momento
  • Algoritmo de compactação 2, resolvendo para ZLIB
  • SHA256 para a assinatura
por 12.12.2014 / 10:40