Chiavi private crittografate in OpenPGP
Generalmente in OpenPGP e in particolare in GnuPG, le chiavi private possono essere crittografate con una chiave simmetrica derivata da una passphrase. Per derivare la chiave simmetrica (chiave di sessione), viene utilizzata una funzione stringa-chiave . Di solito viene usato S2K iterato e salato:
The salt is combined with the passphrase and the resulting value is hashed repeatedly.
Gli altri metodi includono un semplice hash e un hash salato. L'algoritmo di hashing può anche essere scelto - mentre MD5 è permesso, non dovrebbe essere usato in quanto è considerato debole. È inoltre possibile scegliere l'algoritmo di crittografia simmetrica, mentre i valori predefiniti dipendono dall'implementazione di OpenPGP che si utilizza.
Probabilmente hai recuperato le informazioni per le vecchie versioni di PGP, che utilizzavano solo MD5 semplice:
Older versions of PGP just stored a cipher algorithm octet preceding
the secret data or a zero to indicate that the secret data was
unencrypted. The MD5 hash function was always used to convert the
passphrase to a key for the specified cipher algorithm.
Esportazione di chiavi private crittografate senza immettere la passphrase
Se Kleopatra è in grado di esportare comunque la chiave privata, potrebbero esistere diversi motivi:
- esporta la copia crittografata della chiave privata,
- la passphrase per la chiave è memorizzata in
gpg-agent
o
- la passphrase è memorizzata da qualche altra parte (cosa che non fa Kleopatra, ma altri gestori di keyring grafici, come il portachiavi GNOME).