Nel mondo antico sorse la necessità di crittografare la corrispondenza e apparvero semplici cifrari a sostituzione. I messaggi crittografati hanno determinato il destino di molte battaglie e hanno influenzato il corso della storia. Nel tempo, le persone hanno inventato metodi di crittografia sempre più avanzati.
Codice e cifra sono, tra l' altro, concetti diversi. Il primo significa sostituire ogni parola nel messaggio con una parola in codice. Il secondo è crittografare ogni simbolo di informazione utilizzando un algoritmo specifico.
Dopo che la matematica ha iniziato a codificare le informazioni ed è stata sviluppata la teoria della crittografia, gli scienziati hanno scoperto molte proprietà utili di questa scienza applicata. Ad esempio, gli algoritmi di decodifica hanno aiutato a svelare lingue morte come l'antico egiziano o il latino.
Steganografia
La steganografia è più vecchia della codifica e della crittografia. Questa arte esiste da molto tempo. Letteralmente significa "scrittura nascosta" o "scrittura cifrata". Sebbene la steganografia non soddisfi del tutto le definizioni di codice o cifra, ha lo scopo di nascondere le informazioni agli estranei.occhio.
La steganografia è la cifra più semplice. Tipici esempi sono le note ingerite ricoperte di cera, o un messaggio su una testa rasata che si nasconde sotto i capelli cresciuti. L'esempio più chiaro di steganografia è il metodo descritto in molti libri polizieschi inglesi (e non solo), quando i messaggi vengono trasmessi attraverso un giornale, dove le lettere sono segnate in modo poco appariscente.
Lo svantaggio principale della steganografia è che un estraneo attento può notarlo. Pertanto, al fine di evitare che il messaggio segreto possa essere letto facilmente, vengono utilizzati metodi di crittografia e codifica insieme alla steganografia.
ROT1 e cifrario di Cesare
Il nome di questo codice è ROTate 1 lettera in avanti ed è noto a molti scolari. È un semplice codice di sostituzione. La sua essenza sta nel fatto che ogni lettera è crittografata spostandosi in ordine alfabetico di 1 lettera in avanti. A -> B, B -> C, …, Z -> A. Ad esempio, crittografiamo la frase "la nostra Nastya piange forte" e otteniamo "general Obtua dspnlp rmbsheu".
Il codice ROT1 può essere generalizzato a un numero arbitrario di offset, quindi viene chiamato ROTN, dove N è il numero di cui deve essere spostata la crittografia delle lettere. In questa forma, il cifrario è noto fin dall'antichità ed è chiamato il "cifrario di Cesare".
Il cifrario di Cesare è molto semplice e veloce, ma è un semplice cifrario a permutazione singola ed è quindi facile da decifrare. Avendo un tale svantaggio, è adatto solo per scherzi infantili.
Cifre trasposizionali o di permutazione
Questi tipi di cifrari a permutazione semplice sono più seri e sono stati utilizzati attivamente non molto tempo fa. Durante la guerra civile americana e la prima guerra mondiale, è stato utilizzato per inviare messaggi. Il suo algoritmo consiste nel riordinare le lettere in alcuni punti: scrivere il messaggio in ordine inverso o riordinare le lettere in coppia. Ad esempio, crittografiamo la frase "Il codice Morse è anche un cifrario" -> "akubza ezrom - hedgehog rfish".
Con un buon algoritmo che determinava permutazioni arbitrarie per ogni carattere o gruppo di essi, il codice è diventato resistente al semplice cracking. Ma! Solo a tempo debito. Dal momento che il codice viene facilmente violato con la semplice forza bruta o la corrispondenza del dizionario, oggi qualsiasi smartphone può gestirne la decrittazione. Pertanto, con l'avvento dei computer, questa cifra è entrata anche nella categoria dei bambini.
Codice Morse
L'ABC è un mezzo di scambio di informazioni e il suo compito principale è rendere i messaggi più facili e comprensibili per la trasmissione. Anche se questo è contrario a ciò a cui è destinata la crittografia. Tuttavia, funziona come i cifrari più semplici. Nel sistema Morse, ogni lettera, numero e segno di punteggiatura ha il proprio codice, composto da un gruppo di trattini e punti. Quando si invia un messaggio utilizzando il telegrafo, trattini e punti rappresentano segnali lunghi e brevi.
Telegrafo e codice Morse… Morse fu colui che per primo brevettò la "sua" invenzione nel 1840, sebbene dispositivi simili fossero stati inventati in Russia e in Inghilterra prima di lui. Ma chi se ne frega adesso… Telegrafo e alfabetoIl codice Morse ha avuto un grande impatto sul mondo, consentendo la trasmissione quasi istantanea di messaggi su distanze continentali.
Sostituzione monoalfabetica
Il codice ROTN e Morse descritto sopra sono esempi di caratteri sostitutivi monoalfabetici. Il prefisso "mono" significa che durante la crittografia, ogni lettera del messaggio originale viene sostituita da un' altra lettera o codice dell'unico alfabeto di crittografia.
Decifrare semplici cifrari a sostituzione non è difficile, e questo è il loro principale inconveniente. Sono risolti mediante semplice enumerazione o analisi della frequenza. Ad esempio, è noto che le lettere più utilizzate della lingua russa sono "o", "a", "i". Pertanto, si può presumere che nel testo cifrato le lettere che ricorrono più spesso significhino "o" o "a" o "e". Sulla base di queste considerazioni, il messaggio può essere decifrato anche senza una ricerca da computer.
È noto che Maria I, regina di Scozia dal 1561 al 1567, usò un codice di sostituzione monoalfabetico molto complesso con diverse combinazioni. Eppure i suoi nemici riuscirono a decifrare i messaggi e le informazioni furono sufficienti per condannare a morte la regina.
Cifrario di Gronsfeld, o sostituzione polialfabetica
Le cifre semplici sono dichiarate inutili dalla crittografia. Pertanto, molti di loro sono stati migliorati. Il codice di Gronsfeld è una modifica del codice di Cesare. Questo metodo è molto più resistente all'hacking e sta nel fatto che ogni carattere delle informazioni codificate viene crittografato utilizzando uno dei diversi alfabeti, che si ripetono ciclicamente. Si può dire che questa è un'applicazione multidimensionalela cifra di sostituzione più semplice. In effetti, il codice di Gronsfeld è molto simile al codice di Vigenère discusso di seguito.
Algoritmo di crittografia ADFGX
Questo è il più famoso cifrario della prima guerra mondiale usato dai tedeschi. Il cifrario ha preso il nome perché l'algoritmo di crittografia ha portato tutti i cifrari all' alternanza di queste lettere. La scelta delle lettere stesse era determinata dalla loro convenienza quando trasmesse su linee telegrafiche. Ogni lettera nella cifra è rappresentata da due. Diamo un'occhiata a una versione più interessante del quadrato ADFGX che include numeri e si chiama ADFGVX.
LA | Re | Fa | G | V | X | |
LA | J | Q | LA | 5 | H | Re |
Re | 2 | MI | R | V | 9 | Z |
Fa | 8 | Y | Io | N | K | V |
G | U | P | B | Fa | 6 | O |
V | 4 | G | X | S | 3 | T |
X | W | L | Q | 7 | C | 0 |
L'algoritmo di quadratura dell'ADFGX è il seguente:
- Scegli n lettere casuali per colonne e righe.
- Costruire una matrice N x N.
- Inserisci l'alfabeto, i numeri, i caratteri sparsi casualmente sulle celle nella matrice.
Facciamo un quadrato simile per la lingua russa. Ad esempio, creiamo un quadrato ABCD:
LA | B | B | G | Re | |
LA | MI/MI | N | b/b | LA | I/Y |
B | W | V/Fa | G/R | З | Re |
B | Sh/Sh | B | L | X | Io |
G | R | M | O | Yu | P |
Re | Fa | T | T | S | U |
Questa matrice sembra strana perché una riga di celle contiene due lettere. Questo è accettabile, il significato del messaggio non è perso. Può essere facilmente ripristinato. Cripta la frase "Cifrario compatto" usando questa tabella:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
Frase | K | O | M | P | LA | K | T | N | S | Y | Ш | & | Fa | R |
Cifra | bw | gv | gb | dove | ag | bw | db | ab | dg | inferno | wa | inferno | bb | ha |
Quindi, il messaggio crittografato finale ha questo aspetto: "bvgvgbgdagbvdbabdgvdvaadbbga". Naturalmente, i tedeschi eseguirono una linea simile attraverso molti altri cifrari. E alla fine si è rivelato molto stabileper decifrare il messaggio crittografato.
Cifra Vigenère
Questo cifrario è un ordine di grandezza più resistente al cracking rispetto a quelli monoalfabetici, sebbene sia un semplice cifrario sostitutivo del testo. Tuttavia, a causa del robusto algoritmo, è stato a lungo considerato impossibile da hackerare. La prima menzione di esso risale al XVI secolo. Vigenère (un diplomatico francese) è erroneamente accreditato come il suo inventore. Per capire meglio la posta in gioco, si consideri il tavolo Vigenère (piazza Vigenère, tabula recta) per la lingua russa.
Iniziamo a codificare la frase "Kasperovich ride". Ma affinché la crittografia abbia successo, è necessaria una parola chiave: lascia che sia "password". Ora iniziamo la crittografia. Per fare ciò, scriviamo la chiave così tante volte che il numero di lettere da essa corrisponde al numero di lettere nella frase cifrata, ripetendo la chiave o tagliando:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Frase: | K | LA | С | P | MI | R | O | B | & | W | С | M | MI | MI | T | С | Io |
Chiave | P | LA | R | O | L | b | P | LA | R | O | L | b | P | LA | R | O | L |
Ora, usando la tabella di Vigenère, come nel piano delle coordinate, cerchiamo una cella che sia l'intersezione di coppie di lettere, e otteniamo: K + P=b, A + A=B, C + P=C, ecc.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Cifra: | b | B | B | Yu | С | N | Yu | G | Sch | Fa | MI | Y | X | Fa | G | LA | L |
Capiamo che "Kasperovich ride"="bvusnyugschzh eykhzhgal".
Decifrare la cifra di Vigenère è così difficile perché l'analisi della frequenza deve conoscere la lunghezza della parola chiave per funzionare. Quindi l'hack è lanciare casualmente la lunghezza della parola chiave e provare a decifrare il messaggio segreto.
Va anche menzionato che oltre a una chiave completamente casuale, è possibile utilizzare una tabella Vigenère completamente diversa. In questo caso, la piazza Vigenère è costituita da un alfabeto russo scritto riga per riga con uno spostamento di uno. Il che ci rimanda al codice ROT1. E proprio come nel cifrario di Cesare, l'offset può essere qualsiasi cosa. Inoltre, l'ordine delle lettere non deve essere alfabetico. In questo caso la tabella stessa può essere la chiave, senza sapere quale sarà impossibile leggere il messaggio, anche conoscendo la chiave.
Codici
I codici reali sono costituiti da corrispondenze per ciascunoparole di un codice separato. Per lavorare con loro, sono necessari i cosiddetti libri di codici. In re altà, questo è lo stesso dizionario, che contiene solo traduzioni di parole in codici. Un esempio tipico e semplificato di codici è la tabella ASCII, una cifra internazionale di caratteri semplici.
Il vantaggio principale dei codici è che sono molto difficili da decifrare. L'analisi della frequenza quasi non funziona quando vengono violati. Il punto debole dei codici sono, infatti, i libri stessi. Innanzitutto, la loro preparazione è un processo complesso e costoso. In secondo luogo, per i nemici si trasformano in un oggetto desiderato e l'intercettazione anche di una parte del libro costringe a cambiare completamente tutti i codici.
Nel 20° secolo, molti stati utilizzavano codici per trasferire dati segreti, modificando il libro dei codici dopo un certo periodo. E hanno anche cercato attivamente libri di vicini e avversari.
Enigma
Tutti sanno che Enigma era la principale macchina di cifratura dei nazisti durante la seconda guerra mondiale. La struttura di Enigma comprende una combinazione di circuiti elettrici e meccanici. Come risulterà la cifra dipende dalla configurazione iniziale di Enigma. Allo stesso tempo, Enigma cambia automaticamente la sua configurazione durante il funzionamento, crittografando un messaggio in diversi modi per tutta la sua lunghezza.
In contrasto con i codici più semplici, "Enigma" ha fornito trilioni di possibili combinazioni, il che ha reso quasi impossibile il cracking di informazioni crittografate. A loro volta, i nazisti avevano una certa combinazione preparata per ogni giorno, che loroutilizzato in un determinato giorno per inviare messaggi. Pertanto, anche se Enigma è caduto nelle mani del nemico, non ha fatto nulla per decifrare i messaggi senza entrare nella configurazione corretta ogni giorno.
Hack "Enigma" è stato attivamente provato durante l'intera campagna militare di Hitler. In Inghilterra, nel 1936, fu costruito per questo uno dei primi dispositivi informatici (macchina di Turing), che in futuro divenne il prototipo dei computer. Il suo compito era simulare il funzionamento di diverse dozzine di Enigmi contemporaneamente e far passare attraverso di essi messaggi nazisti intercettati. Ma anche la macchina di Turing è stata in grado di decifrare il messaggio solo occasionalmente.
Crittografia a chiave pubblica
Il più popolare degli algoritmi di crittografia, utilizzato ovunque nella tecnologia e nei sistemi informatici. La sua essenza sta, di regola, nella presenza di due chiavi, una delle quali viene trasmessa pubblicamente e la seconda è segreta (privata). La chiave pubblica viene utilizzata per crittografare il messaggio e la chiave privata viene utilizzata per decrittografarlo.
La chiave pubblica è molto spesso un numero molto grande che ha solo due divisori, senza contare uno e il numero stesso. Insieme, questi due divisori formano una chiave segreta.
Consideriamo un semplice esempio. Lascia che la chiave pubblica sia 905. I suoi divisori sono i numeri 1, 5, 181 e 905. Quindi la chiave segreta sarà, ad esempio, il numero 5181. Dici troppo facile? E se nel ruoloil numero pubblico sarà un numero di 60 cifre? Matematicamente difficile calcolare i divisori di un numero grande.
Per un esempio più vivido, immagina di prelevare denaro da un bancomat. Durante la lettura della carta, i dati personali vengono crittografati con una determinata chiave pubblica e, da parte della banca, le informazioni vengono decifrate con una chiave segreta. E questa chiave pubblica può essere modificata per ogni operazione. E non ci sono modi per trovare rapidamente i divisori chiave durante l'intercettazione.
Durata dei caratteri
La forza crittografica di un algoritmo di crittografia è la capacità di resistere all'hacking. Questo parametro è il più importante per qualsiasi crittografia. Ovviamente, il cifrario a semplice sostituzione, che può essere decifrato da qualsiasi dispositivo elettronico, è uno dei più instabili.
Oggi non ci sono standard uniformi in base ai quali sarebbe possibile valutare la forza della cifra. Questo è un processo laborioso e lungo. Tuttavia, ci sono un certo numero di commissioni che hanno prodotto standard in questo settore. Ad esempio, i requisiti minimi per l'Advanced Encryption Standard o l'algoritmo di crittografia AES sviluppato da NIST USA.
Per riferimento: il cifrario Vernam è riconosciuto come il cifrario più resistente alla rottura. Allo stesso tempo, il suo vantaggio è che, secondo il suo algoritmo, è la cifra più semplice.