Diciamo che Bob vuole inviare un messaggio ad Alice. Questa comunicazione richiede di ottenere riservatezza, integrità, prova dell'origine, non ripudio. Quindi possiamo usare questo testo cifrato:
ciphertext = KS [Message, Compress (Bob_PR [H (M)])], Alice_PU [KS]
KS = chiave di sessione H = Hashing PU = chiave pubblica PR = Chiave privata
Tuttavia, come possiamo farlo quando Bob vuole ottenere riservatezza e integrità quando le informazioni sono archiviate in un database sicuro? Quale chiave utilizzare per crittografare il messaggio? È solo una chiave di sessione? Abbiamo bisogno di una chiave di sessione? Una possibile soluzione potrebbe essere:
ciphertext = KS [Message]
A condizione che KS sia archiviato insieme al testo cifrato nel database. MA questo non è sicuramente sicuro!
Qual è una soluzione migliore? Come rappresentiamo questo nella notazione?