Per cifrare e decifrare un messaggio si utilizza un algoritmo associato ad una chiave, che può essere una parola, una sequenza numerica o una combinazione di caratteri alfanumerici.

Esistono diversi tipi di algoritmo:

  • Algoritmi Simmetrici, anche detti a chiave privata, utilizzano la stessa chiave per cifrare e decifrare i messaggi, perciò, quest’ultima dovrà essere nota sia al mittente che al destinatario. Mittente e destinatario, infatti, concorderanno la chiave preventivamente, assicurandosi che non venga intercettata da terzi.
  • Algoritmi Asimmetricio a chiave pubblica, utilizzano due chiavi distinte per cifrare e decifrare i messaggi. Una delle due chiavi è pubblica e verrà distribuita ed utilizzata per cifrare i messaggi, l’altra, invece, è privata e sarà utilizzata dal destinatario per innescare il processo di decifrazione. Questa coppia di chiavi è generata da un algoritmo che non permette di risalire ad una chiave partendo dall’ altra.
  • Algoritmi Ibridi, utilizzano sia il sistema simmetrico che quello asimmetrico. In particolare, l’algoritmo a chiave pubblica viene impiegato per consegnare al destinatario la chiave simmetrica che è stata utilizzata per cifrare il messaggio. In questo tipo di algoritmo, per ciascun messaggio spedito verrà generata una differente chiave simmetrica, anche detta “chiave di sessione”.