La crittografia è la pratica e lo studio di tecniche per la comunicazione sicura in presenza di terzi chiamati avversari. Il suo obiettivo principale è garantire la privacy, l'autenticazione, l'integrità e il non ripudio dei messaggi o dei dati.
L'arte della crittografia è antica quanto la scrittura stessa. Inizialmente veniva utilizzato per garantire che solo i destinatari previsti potessero comprendere il contenuto di un messaggio. Gli antichi egizi, greci e romani svilupparono e utilizzarono tecniche crittografiche. Un esempio ben noto è il cifrario di Cesare , un cifrario a sostituzione in cui ogni lettera del testo in chiaro viene spostata di un certo numero di posizioni verso il basso nell'alfabeto.
Esistono due categorie principali di algoritmi crittografici:
La crittografia è il processo di conversione del testo in chiaro in testo cifrato, che è illeggibile per chiunque tranne il detentore della chiave. La decrittazione è il processo inverso, che trasforma il testo cifrato in testo in chiaro leggibile. La relazione matematica può essere espressa come:
L' infrastruttura a chiave pubblica è un framework per gestire i certificati digitali e la crittografia a chiave pubblica. Consente agli utenti di una rete pubblica non protetta come Internet di scambiare dati in modo sicuro e privato.
Le funzioni hash sono un tipo di algoritmo crittografico che genera una stringa di byte di dimensione fissa (nota come hash) da dati di input di qualsiasi dimensione. Sono utilizzati per garantire l'integrità dei dati. Un esempio ben noto è l’algoritmo SHA-256 utilizzato nel mining di Bitcoin.
Le firme digitali sono una tecnica crittografica che garantisce l'origine e l'integrità delle comunicazioni o dei documenti digitali. Una firma digitale viene generata utilizzando una chiave privata e può essere verificata da chiunque disponga della corrispondente chiave pubblica.
La crittoanalisi è lo studio dell'analisi dei sistemi informativi al fine di comprenderne gli aspetti nascosti. Viene utilizzato per violare i sistemi di sicurezza crittografici e ottenere l'accesso al contenuto dei messaggi crittografati.
La crittografia ha una vasta gamma di applicazioni, tra cui la protezione delle comunicazioni riservate, la protezione delle informazioni sui dispositivi di archiviazione, il miglioramento della sicurezza del web e della rete, la protezione delle transazioni finanziarie elettroniche e la garanzia dell'integrità e dell'autenticità delle firme e dei certificati digitali.
Con il progresso della potenza di calcolo, come l’informatica quantistica, le attuali tecniche crittografiche si trovano ad affrontare nuove sfide. I crittografi stanno lavorando attivamente per sviluppare nuovi algoritmi in grado di resistere alla potenza di calcolo dei computer quantistici.