Una delle parti essenziali degli algoritmi di Criptaggio sono le chiavi (proprio come Marcello aveva affermato in Security 12). Grazie alle chiavi è possibile mettere in sicurezza interi messaggi, rendendo le operazioni di decrypt (da parte di utenti maleintenzionati) molto più difficili da eseguire. Le chiavi vengono utilizzate per alterare i messaggi durante l'interno processo di criptaggio. La figura che segue ne mostra il funzionamento.

 

Come si può notare , il valore della chiave (K) è usato per produrre il testo cifrato (C). La bellezza dell'usare le chiave è che, queste, possono cambiare sneza modificare l'algoritmo di crypt. In questo modo è possibile usare (E) con la chiave (Kj) per criptare (M), andando a produrre (Cj).

Utilizzando una chiave differente dalla mia, il testo cifrato apparirà differente.
Per decifrare quindi il messaggio sarà necessario l'utilizzo della chiave privata collegata alla chiave pubblica utilizzata al momento del crypt. In questo modo, è possibile, evitare di dover ricompilare ogni volta l'assembly di crypt per ogni nuova firma utilizzata. L'unica operazione da fare a questo punto è quella di usare una nuova chiave e nascondere il messaggio.