Capacità di determinare per quali chiavi pubbliche PGP è stato crittografato un messaggio?

3

È possibile determinare, dato un messaggio PGP che è già possibile decodificare, per determinare su quali altre chiavi PGP è stato crittografato quel messaggio?

    
posta Jason 27.02.2015 - 18:24
fonte

1 risposta

7

Prima di tutto, anche se hai usato , presumo che farai effettivamente sta usando GnuPG. Altrimenti, prendilo - è un software gratuito. Anche se PGP avrà probabilmente anche funzionalità simili.

Destinatari nascosti

Dipende. Se il mittente include le impronte digitali delle chiavi del destinatario, è possibile recuperarle; altrimenti (se criptato usando l'opzione --hidden-recipient ) GnuPG deve testare tutte le chiavi di decrittografia private contro il messaggio.

Destinatari (non nascosti)

Se i destinatari sono inclusi, GnuPG li elencherà quando è impostato su modalità dettagliata ( --verbose ). Per evitare che GnuPG decifri effettivamente il messaggio, aggiungi --list-only . Le righe pertinenti sono quelle che iniziano con gpg: public key is .

Questo produrrà sottochiavi pubbliche, che dovrai risolvere di nuovo usando gpg --list-keys [key-id] .

Una riga di comando completa per recuperare i destinatari da un messaggio:

cat message.pgp | LANG=C gpg --verbose --list-only 2>&1 | grep 'gpg: public key is'

Se vuoi anche risolvere automaticamente le sottochiavi, aggiungi anche cut e xargs :

cat message.pgp | LANG=C gpg --verbose --list-only 2>&1 | grep 'gpg: public key is' | cut -d' ' -f 5 | xargs gpg --list-keys

LANG=C è usato per imporre la localizzazione inglese, quindi grep ping non fallirà per altre lingue.

    
risposta data 27.02.2015 - 18:42
fonte

Leggi altre domande sui tag