La crittografia è una tecnica che permette, mediante l’utilizzo di funzioni matematiche invertibili, di dare alle informazioni due caratteristiche fondamentali nella protezione: la confidenzialità e l’integrità.
La confidenzialità è data dall’impossibilità di vedere il dato chiaramente, per chi non dispone della apposita chiave di decrittazione.
L’integrità è garantita dall’impossibilità di conoscere con esattezza il risultato che deriva dalla modifica sul file crittato.
La principale suddivisione fra gli algoritmi di crittografia è fra algoritmi di cifratura a chiave simmetrica e algoritmi a chiave asimmetrica
Gli algoritmi a chiave simmetrica utilizzano la medesima chiave sia per crittografare che per decrittare l’informazione, mentre gli algoritmi a chiave asimmetrica viene usata una chiave privata per crittografare il dato e una chiave pubblica in grado di riaprire il messaggio.
La crittografia a chiave asimmetrica è detta anche firma perché, la chiave essendo privata, dovrebbe conoscerla solamente il proprietario, tutti coloro che tramite la chiave pubblica riescono ad aprire, hanno la certezza che è stata chiusa con la chiave in possesso solo del proprietario della firma.