La crittografia è la scienza che rende illeggibile un testo per passarlo in modo sicuro e segreto al destinatario previsto, che utilizza una chiave per decifrare il messaggio. Un algoritmo di crittografia è una serie definita di passaggi per crittografare i dati. Il testo originale viene chiamato testo in chiaro e, dopo che gli è stato applicato l’algoritmo di crittografia, viene chiamato testo cifrato. L’algoritmo di crittografia può essere definito cifratura e spesso gli viene assegnato un nome. Ad esempio, esiste un algoritmo di crittografia denominato Blowfish e un altro denominato AES (Advanced Encryption Standard), ad esempio.
Un algoritmo di crittografia può dipendere dalla sostituzione, come in un cifrario a sostituzione, o dalla trasposizione, come in un cifrario a trasposizione. Gli esempi dei primi codici noti si basavano su semplici algoritmi di crittografia. Ad esempio, Giulio Cesare usò un cifrario che implicava la sostituzione in cui spostava le lettere dell’alfabeto in modo che una A fosse rappresentata da una D, una B fosse rappresentata da una E e così via. Poiché ci sono 26 lettere nell’alfabeto, è possibile creare 25 cifre di questo tipo: la 26a dovrebbe sostituire la A con la A, il che non è molto segreto. La chiave di questo codice può essere pensata come il numero di posti spostati.
Tuttavia, non è necessario che un algoritmo di crittografia utilizzi le lettere. Può utilizzare numeri e altri simboli come sostituti delle lettere. Nel racconto “The Gold Bug”, Edgar Allen Poe ha utilizzato un cifrario a sostituzione in cui l’algoritmo di crittografia prevede questo tipo di sostituzione, utilizzando simboli.
53##+305))6*;4826)4#.)4#);806*;48+8¶60))85;;]8*;:#*8+83(88)5*+;46(;88*96*?;8)*#(;485);5*+2:*#(;4956*2(5*-4)8¶8*;4069285);)6+8)4##;1(#9;48081;8:8#1;48+85;4)485+528806*81(#9;48;(88;4(#?34;48)4#;161;:188;#?;
Se si risolvesse questo cifrario, si vedrebbe che Poe non ha assegnato i simboli alle lettere in modo ordinato con A = 1, B = 2, ecc. In questo modo l’algoritmo di cifratura è un po’ più complicato del Algoritmo di spostamento dell’alfabeto. Se trovi una lettera in uno spostamento dell’alfabeto, puoi facilmente derivarle tutte. Con l’algoritmo di Poe, invece, sapendo che A = 5, non ti dice nulla di B o di qualsiasi altra lettera.
Gli algoritmi di crittografia utilizzati nelle applicazioni moderne, come la protezione delle transazioni con carta di credito su Internet, sono molto più complessi. Le chiavi possono essere lunghe fino a 256 bit o più. Se devono essere violati, sarà solo con l’aiuto dei computer. Se si dovesse ottenere la chiave di cifratura, tuttavia, il testo cifrato potrebbe essere letto immediatamente.