Aatbash, cifra Scytal, reticolo Cardano: modi ben noti per nascondere le informazioni da occhi indiscreti. Nel senso classico, un cifrario di permutazione è un anagramma. La sua essenza sta nel fatto che le lettere del testo in chiaro cambiano posizione secondo una certa regola. In altre parole, la chiave del cifrario è il riordino dei caratteri nel messaggio aperto. Tuttavia, la dipendenza della chiave dalla lunghezza del testo crittografato ha dato origine a molti inconvenienti per l'utilizzo di questo tipo di cifratura. Ma le teste intelligenti hanno trovato interessanti soluzioni complicate, che sono descritte nell'articolo.
Gruppi invertiti
Per familiarizzare con la crittografia con il metodo di permutazione, citiamo uno degli esempi più semplici. Il suo algoritmo consiste nel dividere il messaggio in n blocchi, che vengono poi capovolti in primo piano e scambiati. Considera un esempio.
"Il giorno era finito e il cielo è aria oscura"
Dividiamo questo messaggio in gruppi. In questo caso, n=6.
"Denuh odily nebav cool cool"
Ora espandi i gruppi, scrivendo ciascuno dalla fine.
"hunned waben dzo methu yin"
Scambiamo i posti in un certo modo.
"ilido methu yin hunned waben dzo"
Per una persona ignorante in questa forma, il messaggio non è altro che spazzatura. Ma, ovviamente, la persona a cui è indirizzato il messaggio è responsabile dell'algoritmo di decrittazione.
Inserto centrale
L'algoritmo di questa crittografia è leggermente più complicato del metodo di crittografia della permutazione:
- Dividi il messaggio in gruppi con un numero pari di caratteri.
- Inserisci lettere aggiuntive al centro di ogni gruppo.
Guardiamo un esempio.
- "Ha portato le creature a dormire".
- "Earth yetv ariu drive lkosnu".
- "Zeamn yabtv arayu voabdi lkoasnu".
In questo caso, al centro dei gruppi sono state inserite lettere alternate "a" e "ab". Gli inserti possono essere diversi, in numero diverso e non ripetuti. Inoltre, puoi espandere ogni gruppo, mescolarli, ecc.
Ciphergram "Sandwich"
Un altro esempio interessante e semplice di crittografia della permutazione. Per usarlo, devi dividere il testo in chiaro in 2 metà e inserirne una carattere per carattere tra le lettere dell' altra. Usiamo un esempio.
"Da lorolavori; Sono l'unico, senzatetto"
Diviso a metà con lo stesso numero di lettere.
Dal loro lavoro, solo io sono un senzatetto
Adesso scrivi la prima metà del messaggio con più spaziatura tra le lettere.
"O T e X T R U D DOL e Sh"
E in questi spazi inseriremo le lettere della seconda metà.
"Oyatoidhitnrbuedzodvolminshiy"
Raggruppa infine le lettere in una sorta di parole (operazione opzionale).
"Oyatoi dhi tnrbue dzodvol minshhy"
È molto facile crittografare il testo con questo metodo. Chi non lo sapesse dovrà capire per un po' di tempo la spazzatura risultante.
Permutazioni lungo il "percorso"
Questo è il nome dato alle cifre ampiamente utilizzate nell'antichità. Il percorso nella loro costruzione era qualsiasi figura geometrica. Il testo in chiaro è stato scritto in una tale figura secondo un certo schema ed estratto secondo il suo rovescio. Ad esempio, una delle opzioni potrebbe essere quella di scrivere nella tabella in chiaro secondo lo schema: il serpente striscia nelle celle in senso orario e il messaggio crittografato è composto cancellando le colonne in una riga, dalla prima all'ultima. Questa è anche una crittografia di permutazione.
Mostriamo con un esempio come crittografare il testo. Prova a determinare tu stesso il percorso di registrazione e il percorso di compilazione del cifrario.
"Preparati a sopportare la guerra".
Scriveremo il messaggio in una tabella di 3x9 celle. Dimensione del tavolopuò essere determinato in base alla lunghezza del messaggio, oppure alcune tabelle fisse possono essere utilizzate più volte.
p | r | e | r | o | t | o | da a | l |
r | e | d | s | da a | me | c | l | me |
f | a | t | b | da a | o | th | n | y |
Comporremo la cifra partendo dall'angolo in alto a destra della tabella.
"Launlvosoyatovvygidtaerprj"
Invertire i passaggi descritti non è difficile. È abbastanza facile fare il contrario. Questo metodo è estremamente conveniente, perché consente di ricordare facilmente la procedura di crittografia e decrittografia. Ed è anche interessante, perché puoi usare qualsiasi cifra per la cifra. Ad esempio, una spirale.
Permutazioni verticali
Questo tipo di cifra è anche una variante della permutazione del percorso. È interessante in primo luogo per la presenza di una chiave. Questo metodo era ampiamente utilizzato in passato e utilizzava anche tabelle per la crittografia. Il messaggio viene registrato nella tabella nel solito modo, dall' alto verso il basso, e il cifrario viene scritto verticalmente, rispettando l'ordine indicato dalla chiave o dalla password. Diamo un'occhiata a un esempio di tale crittografia.
"Sia con un percorso doloroso che con compassione"
Usiamo una tabella di 4x8 celle e scriviamoci il nostro messaggio nel solito modo. E per la crittografiautilizzare la chiave 85241673.
e | c | t | me | r | o | c | t |
n | s | m | p | y | t | e | m |
e | c | c | o | c | t | r | a |
d | a | n | b | e | m |
La chiave è mostrata sotto.
8 | 5 | 2 | 4 | 1 | 6 | 7 | 3 |
Ora, usando il tasto come indicazione dell'ordine, scrivi le colonne in una riga.
"Gusetmsntmayposysaottmserinid"
È importante notare che con questo metodo di crittografia, le celle vuote nella tabella non dovrebbero essere riempite con lettere o simboli casuali, sperando che ciò complichi il testo cifrato. Anzi, al contrario, un'azione del genere darà un indizio ai nemici. Perché la lunghezza della chiave sarà uguale a uno dei divisori della lunghezza del messaggio.
Permutazione verticale invertita
La permutazione verticale è interessante perché la decrittazione di un messaggio non è un semplice capovolgimento dell'algoritmo. Chi conosce la chiave sa quante colonne ha la tabella. Per decrittografare un messaggio, è necessario determinare il numero di righe lunghe e corte nella tabella. Questo determinerà l'inizio, da dove iniziare a scrivere il testo cifrato sulla tabella per leggere il testo in chiaro. Per fare questo, dividiamo la lunghezzamessaggi per la lunghezza della chiave e otteniamo 30/8=3 e 6 nel resto.
Così, abbiamo appreso che la tabella ha 6 colonne lunghe e 2 brevi, riempite con lettere non completamente. Osservando la chiave, possiamo vedere che la crittografia è iniziata dalla quinta colonna e dovrebbe essere lunga. Quindi troviamo che le prime 4 lettere del testo cifrato corrispondono alla quinta colonna della tabella. Ora puoi annotare tutte le lettere nei punti e leggere il messaggio segreto.
Griglia cardano
Questo tipo si riferisce ai cosiddetti cifrari stencil, ma in sostanza si tratta di crittografia con il metodo della permutazione dei caratteri. La chiave è uno stencil a forma di tavolo con dei fori. In effetti, qualsiasi forma può essere uno stencil, ma più spesso viene utilizzato un quadrato o un tavolo.
Lo stencil Cardano è realizzato secondo il seguente principio: le celle ritagliate non devono sovrapporsi quando ruotate di 90°. Cioè, dopo 4 rotazioni dello stencil attorno al suo asse, le fessure al suo interno non dovrebbero mai coincidere.
Utilizzare un semplice reticolo Cardano come esempio (mostrato sotto).
Usando questo stencil, crittografa la frase "O Muse, ti farò appello".
- | O | - | M | - | - |
U | |||||
З | S | ||||
K | |||||
B | LA | ||||
M |
Riempi le celle dello stencil con le lettere secondo la regola: prima da destra a sinistra e poi dall' alto verso il basso. Quando le celle si esauriscono, ruota lo stencil di 90° in senso orario. In questo modo otteniamo la seguente tabella.
Io | - | - | - | - | - |
O | B | R | |||
LA | Sch | ||||
y | |||||
С | b |
E ruotalo di nuovo di 90°.
- | - | - | - | - | С |
B | O | ||||
З | |||||
B | LA | ||||
N | |||||
b | MI |
E l'ultimo turno.
- | - | M | - | - | - |
Dopo aver combinato 4 tabelle in una, otteniamo il messaggio crittografato finale.
Io | O | M | M | G | С |
B | O | U | B | O | R |
G | З | LA | З | Sch | S |
B | G | K | G | LA | U |
G | B | G | N | G | LA |
M | С | b | b | MI | G |
Sebbene il messaggio possa rimanere lo stesso, per la trasmissione sarà più conveniente ricevere un testo cifrato dall'aspetto familiare. Per fare ciò, le celle vuote possono essere riempite con lettere casuali e le colonne possono essere scritte in una riga:
YAVGVGM OOZGVS MUAKGY MBZGN GOSCHAGE SRYUAG
Per decifrare questo messaggio, il destinatario deve avere una copia esatta dello stencil che è stato usato per cifrarlo. Questa cifra è stata a lungo considerata abbastanza stabile. Ha anche molte varianti. Ad esempio l'utilizzo di 4 griglie Cardano contemporaneamente, ognuna delle quali ruotaa modo mio.
Analisi delle cifre di permutazione
Tutti i cifrari di permutazione sono vulnerabili all'analisi della frequenza. Soprattutto nei casi in cui la lunghezza del messaggio è paragonabile alla lunghezza della chiave. E questo fatto non può essere modificato applicando ripetutamente permutazioni, per quanto complesse possano essere. Pertanto, in crittografia, solo quei cifrari che utilizzano più meccanismi contemporaneamente, oltre alla permutazione, possono essere stabili.