algoritmi di crittografia sono disponibili in varie forme e terminologie , ma tendono a condividere le diverse teorie di base che hanno compreso il nucleo di crittografia poiché l'umanità prima voleva nascondere un messaggio da occhi indiscreti . Oggi, queste teorie si applicano alla maggior parte delle procedure di crittografia , a prescindere dal tipo o linguaggio di programmazione , a volte, da prima abbattendo il messaggio in codice binario . Sostituzione
una sostituzione sostituti cifratura un valore con un altro , per esempio, il binario "1001" potrebbe diventare "101" e " 0101 " dovrebbe essere sostituito da un "111 ". classico esempio di un cifrario a sostituzione è cifrario di Cesare , che ha sostituito le lettere dell'alfabeto con la lettera di tre passi verso il basso ( " C " diventa " F " ) . Purtroppo , cifrari a sostituzione sono facilmente rotte, soprattutto se utilizzato per cifrare le lettere sulla base di analisi di frequenza o di contesto.
Un algoritmo per esempio una funzione di sostituzione è "c = E ( x , a) = (a + x ) mod 26 ", che significa che il carattere cifrato " c ", è dal cifratura ( o" E " ) di" x " e " a ", dove" x " è il grado di spostamento dalla lettera "a ". la sezione mOD è il resto intero del numero risultante da " x " e diviso per 26 , il numero di lettere dell'alfabeto inglese .
Recepimento /permutazione
cifrari Recepimento spostano intorno a valori in un ordine predeterminato . Un esempio non binario semplice fornisce chiarimenti : Con permutazione , la sequenza " 1234 " potrebbe diventare " 2314 " spostando la prima cifra al terzo , secondo al primo , terzo al secondo e lasciando il quarto . Con un modello binario di bit e la stessa regola di permutazione , " 1101 " diventa " 1011 . " The Fence Cipher Rail è un esempio di un cifrario a trasposizione . Cifrari a permutazione sono leggermente più forti di cifrari a sostituzione , ma possono essere decifrati con relativa facilità a seconda della lunghezza del cifrario.
XOR
XOR , oppure " OR esclusivo , "operazione è un altro processo di crittografia di base che restituisce " true "se soltanto uno dei valori è vero. Con gli esempi precedenti in mente, "1001" rispetto alla chiave " 0101 " restituisce il valore di "1100 " ed è facilmente reversibile per l'originale con la stessa chiave - "1100 " con " 0101 " diventa " 1001. "
cifrari a blocchi
cifrari a blocchi suddividono i dati in un determinato numero di bit e utilizzare una o tutte le teorie precedenti a quelli blocchi per cifrare loro. Più possibilità , tuttavia, comprendono Cipher Block Chaining , che utilizza il blocco precedente per crittografare il blocco successivo della catena , rimescolando ulteriormente i dati . Data Encryption Standard e Triple DES sono buoni esempi di cifrari a blocchi con varie operazioni di sostituzione , permutazione e XOR .