Fondamenti
La crittografia nasconde un messaggio affinché solo il destinatario autorizzato possa leggerlo. Il testo in chiaro viene trasformato in testo cifrato tramite un algoritmo e una chiave crittografica. In formule: e , con testo in chiaro, testo cifrato e chiave. Il mittente cifra, invia il testo cifrato su una rete insicura e il destinatario decifra con la chiave.
Simmetrica e asimmetrica
La crittografia simmetrica usa la stessa chiave per cifrare e decifrare. È veloce e adatta a grandi quantità di dati, ma soffre del problema dello scambio chiavi:
- la chiave deve arrivare al destinatario in modo sicuro;
- se viene intercettata, la riservatezza è compromessa.
La crittografia asimmetrica usa una coppia di chiavi: chiave pubblica distribuibile e chiave privata segreta. Bob cifra con la chiave pubblica di Alice, ; solo Alice decifra con la sua chiave privata, .
Integrità
La funzione di hash non nasconde i dati: produce una stringa di lunghezza fissa e verifica l'integrità. È un processo a senso unico; cambiando un solo carattere, l'hash cambia completamente (effetto valanga).