Questo è il modello di e-mail crittografate. Quindi vedi OpenPGP , in particolare la sua implementazione open source GnuPG . Con le tue notazioni, il nodo B ha una coppia di chiavi pubblica / privata e il nodo A conosce la chiave pubblica di B. Nodo A crittografa asimmetricamente il messaggio con la chiave pubblica del nodo B, e solo il nodo B può decrittografarlo, utilizzando la sua chiave privata, che nessun altro nodo sa. Quando A invia il messaggio, in realtà lo invia ad un server di repository (la "casella di posta" di B), che B consulta quando torna in linea. Il repository non ha una copia della chiave privata di B, quindi non può decodificare il messaggio.
Per il processo di crittografia , il nodo A richiede solo una copia della chiave pubblica di B, che è pubblica e non cambia; il nodo A può utilizzare il pubblico di B per crittografare un miliardo di messaggi successivi senza alcun problema di sicurezza. La chiave pubblica di B non si "esaurisce" al momento dell'utilizzo. Il nodo B non deve essere online in qualsiasi momento per il funzionamento della crittografia.
Ci sono molti dettagli complicati di cui preoccuparsi quando si progetta un formato per la crittografia asimmetrica, quindi si è caldamente incoraggiati non a farlo, e invece si basano su alcuni protocolli esistenti (come OpenPGP) che è stato accuratamente rivisto da molti crittografi. Allo stesso modo, l'implementazione è anche una parte pericolosa e non è possibile testare perdite di dati involontarie, quindi riutilizzare un codice esistente è anche una mossa intelligente.
La parte difficile della crittografia asimmetrica è come assicurarsi che il nodo A che si considera "la chiave pubblica di B" sia realmente la chiave pubblica di B, non una chiave pubblica falsa la cui chiave privata corrispondente sia nota all'attaccante. A seconda del contesto, questa parte "che si assicura" può essere semplice come una configurazione unica o complessa come un PKI .