Voglio verificare una chiave pubblica come questa:
- Alice genera una coppia di chiavi pubblica / privata per la crittografia
- Alice genera una coppia di chiavi pubblica / privata per la firma
- Alice firma una parola casuale di 4 lettere + la chiave di crittografia pubblica utilizzando la sua chiave privata di firma
- Alice invia le sue chiavi pubbliche (entrambe) e la firma a Mario
- Alice invia la parola di 4 lettere a Bob utilizzando un metodo sicuro e affidabile
- Bob verifica la chiave di crittografia pubblica di Alice verificando che la firma venga creata con la parola di 4 lettere come descritto sopra.
Questo è quello di cui non sono sicuro:
- È sufficiente una parola di 4 lettere?
- La verifica della firma verifica che la chiave pubblica sia la chiave originale e non sia stata alterata da un "uomo nel mezzo", quando il messaggio originale è il segreto?
Sfondo: voglio archiviare lo scambio di risparmi di chiavi pubbliche tra le parti. Ma non ci sono autorità fidate di terze parti su cui fare affidamento.
Ma invece le due parti si incontreranno di persona all'inizio. In quel momento si fidano l'un l'altro completamente. Una parte può dare all'altra un segreto (ad esempio su un foglio di carta).
Naturalmente in teoria l'altra parte potrebbe restituire qualcosa. Ma per ragioni di facilità d'uso, voglio evitare questo.
Ovviamente l'impronta digitale della chiave pubblica potrebbe essere il segreto. Ma ancora, per renderlo user friendly, voglio rendere il segreto il più breve possibile.