Il problema di inviare messaggi riservati attraverso sistemi di distribuzione non affidabili è sentito da secoli in ambito militare e sono innumerevoli le metodologie più o meno complesse messe in atto per spedire informazioni agli alleati, senza che i nemici possano decifrarle.
La crittografia è un procedimento di codifica e decodifica dei messaggi basata su funzioni parametriche, la cui computazione dipende da un parametro detto chiave. Un messaggio crittografato non è direttamente leggibile se non si possiede una funzione e una chiave per decriptarlo.
Il modello su cui è basato un sistema crittografico è il seguente:
Se un intruso dovesse intercettare il messaggio cifrato non sarebbe in grado di leggerlo a meno di possedere F' e K'.
Le chiavi di cifratura e decifratura possono coincidere e in questo caso si parla di crittografia a chiave simmetrica (o a chiave privata ), oppure possono essere diverse e in questo caso si parla di crittografia a chiave pubblica .