Ce tipuri de cifruri de permutare există? Rearanjarea traseului

(vezi si)

Mare influență Dezvoltarea criptografiei a fost influențată de lucrările matematicianului american Claude Shannon care au apărut la mijlocul secolului XX. Aceste lucrări au pus bazele teoriei informației și au dezvoltat, de asemenea, un aparat matematic pentru cercetare în multe domenii ale științei legate de informație. Mai mult, este general acceptat că teoria informaţiei ca știință s-a născut în 1948 după publicarea lucrării lui K. Shannon „Teoria matematică a comunicării”.

În lucrarea sa „Teoria comunicării în sistemele secrete”, Claude Shannon a rezumat experiența acumulată înaintea lui în dezvoltarea cifrurilor. S-a dovedit că, chiar și în cifrurile foarte complexe, următoarele pot fi identificate ca componente tipice: cifruri simple Cum cifruri de substituție, cifre de permutare sau combinații ale acestora.

Caracteristica principală prin care sunt clasificate cifrurile este tipul de transformare efectuată pe textul simplu în timpul criptării. Dacă fragmente de text simplu (litere individuale sau grupuri de litere) sunt înlocuite cu unele dintre echivalentele lor în textul cifrat, atunci cifrul corespunzător aparține clasei cifruri de înlocuire. Dacă literele textului simplu în timpul criptării se schimbă doar între ele, atunci avem de-a face cu cifru de permutare. Pentru a crește fiabilitatea criptării, textul cifrat obținut folosind un anumit cifr poate fi criptat din nou folosind un cifr diferit.


Orez. 6.1.

Toate posibilele astfel de compoziții ale diferitelor cifruri conduc la a treia clasă de cifre, care sunt de obicei numite cifruri de compoziție. Rețineți că un cifr de compoziție poate să nu fie inclus nici în clasa de cifruri de substituție, nici în clasa de cifruri de permutare (Fig. 6.1).

6.3 Cifre de permutare

Un cifr de permutare, așa cum sugerează și numele, transformă permutarea literelor în text simplu. Un exemplu tipic Cifrul de permutare este cifrul „Scital”. De obicei text simplu se sparge în segmente lungime egală iar fiecare segment este criptat independent. Fie, de exemplu, lungimea segmentelor să fie egală cu și să fie o mapare unu-la-unu a mulțimii în sine. Apoi, cifrul de permutare funcționează astfel: o bucată de text simplu este convertită într-o bucată de text cifrat.

Un exemplu clasic de un astfel de cifru este un sistem care utilizează un card cu găuri - grila, care, atunci când este aplicată pe o coală de hârtie, lasă la vedere doar unele părți din ea. Când sunt criptate, literele mesajului se potrivesc în aceste găuri. Când este decriptat, mesajul se încadrează în diagramă dimensiunile cerute, apoi se aplică un marcaj hash, după care sunt vizibile doar literele textului simplu.

Sunt posibile și alte opțiuni de cifrare cu permutare, cum ar fi cifrurile cu permutare în coloană și dublă.

6.3.1 Cifrul de permutare a coloanei

În timpul decriptării, literele textului cifrat sunt scrise în coloane în funcție de succesiunea numerelor cheilor, după care textul original este citit în rânduri. Pentru a vă facilita amintirea cheii, rearanjați coloanele tabelului în funcție de cuvânt cheie sau o frază, tuturor caracterelor cărora li se atribuie numere determinate de ordinea literelor corespunzătoare din alfabet.

La rezolvarea sarcinilor de criptoanaliza a cifrurilor de permutare, este necesar să se restabilească ordinea inițială a literelor textului. Pentru a face acest lucru, se folosește analiza compatibilității caracterelor, la care un tabel de compatibilitate poate ajuta (vezi).

Tabelul 6.1.
Combinație de litere rusești G CU Stânga Combinație de litere rusești G
3 97 Corect l, d, k, t, v, r, n O 12 88
80 20 l, n, s, t, r, v, k, m i, e, y, i, a, o B 81 19
68 32 o, s, e, a, r, y i, t, a, e, i, o ÎN 60 40
78 22 o, a, i, s, s, n, l, r Combinație de litere rusești r, y, a, i, e, o 69 31
72 28 o, a, p, l, i, v r, i, y, a, i, e, o D 68 32
19 81 e, a, i, o, n, y, p, v m, i, l, d, t, r, n E 12 88
83 17 n, t, r, s, l, v, m, i r, e, i, a, y, o ŞI 71 29
89 11 e, i, d, a, n 3 o, e, a și 51 49
27 73 a, n, c, o, m, d r, t, m, i, o, l, n ŞI 25 75
55 45 s, n, c, i, e, m, k, h b, v, e, o, a, i, s LA 73 27
77 23 o, a, i, p, y, t, l, e g, v, s, i, e, o, a L 75 25
80 20 i, e, o, a, b, i, yu, y i, s, a, i, e, o M 73 27
55 45 i, e, o, y, a, n, p, s d, b, n, o, a, i, e N 80 20
11 89 o, a, i, e, s, n, y r, p, k, v, t, n DESPRE 15 85
65 35 c, s, t, r, i, d, n, m în, cu, y, a, i, e, o P 68 32
55 45 o, p, e, a, y, i, l i, k, t, a, p, o, e R 80 20
69 31 a, e, o, i, u, i, s, n G s, t, v, a, e, i, o 32 68
57 43 t, k, o, i, e, b, s, n h, y, i, a, e, o, s T 63 37
15 85 o, a, e, i, b, v, r, s p, t, k, d, n, m, r U 16 84
70 30 t, p, s, d, n, y, w n, a, e, o și F 81 19
90 10 și, e, o, a, e, o, a y, e, o, a, s și X 43 57
69 31 o, i, s, n, v, p, r e, yu, n, a și C 93 7
82 18 i, e, a, s e, a, y, i, o H 66 34
67 33 e, i, t, n b, y, s, e, o, a, i, v Sh 68 32
84 16 e, i, n, a, o, l e, b, a, i, y SCH 97 3
0 100 e, i, a m, r, t, s, b, c, n Y 56 44
0 100 L, x, e, m, i, v, s, n n, s, t, l b 24 76
14 86 n, k, v, p, s, e, o și s, s, m, l, d, t, r, n E 0 100
58 42 n, t, r, s, k b, o, a, i, l, y Yu 11 89
43 57 d, t, sch, c, n, p o, n, r, l, a, i, s eu 16 84

Atunci când analizați compatibilitatea literelor între ele, trebuie să aveți în vedere dependența aspectului literelor în text simplu de un număr semnificativ de litere precedente. Pentru a analiza aceste modele, se folosește conceptul de probabilitate condiționată.

Problema dependenței literelor alfabetului în text simplu față de literele anterioare a fost studiată sistematic de celebrul matematician rus A.A. Markov (1856-1922). El a demonstrat că aparițiile literelor în text clar nu pot fi considerate independente unele de altele. În acest sens, A.A. Markov a remarcat un alt model stabil de texte deschise asociat cu alternanța vocalelor și consoanelor. El a calculat frecvența de apariție a bigramelor vocale-vocale ( g, g), vocală-consoană ( g, s), consoană-vocală ( s, g), consoană-consoană ( s, s) în text rusesc cu o lungime de caractere. Rezultatele calculului sunt prezentate în următorul tabel:

Tabelul 6.2.
Combinație de litere rusești G Alternarea vocalelor și a consoanelor
Combinație de litere rusești 6588 38310 44898
G 38296 16806 55102

Total Exemplul 6.2

Textul simplu, păstrând spații între cuvinte, a fost înregistrat într-un tabel. Începutul a fost în prima linie, textul a fost scris de la stânga la dreapta, trecând de la rând la următorul, criptarea a constat în rearanjarea coloanelor. Găsiți textul simplu.

r, i, y, a, i, e, o i, t, a, e, i, o m, r, t, s, b, c, n h, y, i, a, e, o, s
Combinație de litere rusești r, p, k, v, t, n m, i, l, d, t, r, n i, k, t, a, p, o, e r, p, k, v, t, n
p, t, k, d, n, m, r n, s, t, l r, i, y, a, i, e, o p, t, k, d, n, m, r i, e, y, i, a, o
i, s, a, i, e, o i, s, a, i, e, o o, n, r, l, a, i, s m, r, t, s, b, c, n i, k, t, a, p, o, e în, cu, y, a, i, e, o

Cifrarea textului: Soluţie.

Să atribuim numere coloanelor în ordinea în care apar. Sarcina noastră este să găsim o ordine a coloanelor în care textul să aibă sens.

1 2 3 4 5 6
1 Să facem un tabel:
2 Să facem un tabel:
3 Să facem un tabel:
4 Să facem un tabel:
5 Să facem un tabel:
6 Să facem un tabel:

X

O celulă (,) în acest tabel înseamnă că numărul coloanei urmează numărul coloanei. Marcăm cazurile imposibile cu un „X”.

1 2 3 4 5 6
1 Să facem un tabel: Să facem un tabel: Să facem un tabel:
2 Să facem un tabel: Să facem un tabel: Să facem un tabel:
3 Să facem un tabel: Să facem un tabel: Să facem un tabel:
4 Să facem un tabel: Să facem un tabel: Să facem un tabel: Să facem un tabel:
5 Să facem un tabel: Să facem un tabel: Să facem un tabel:
6 Să facem un tabel:

Combinațiile coloanelor 1, 2 și 5, 2 nu sunt posibile, deoarece o vocală nu poate apărea înaintea unui semn moale. Secvențele coloanelor 2, 1 și 2, 5 sunt, de asemenea, imposibile. Acum, din a treia linie, rezultă că 1, 5 și 5, 1 sunt imposibile, deoarece УУ este o bigramă necaracteristică pentru limba rusă. În continuare, două spații la rând nu pot fi în text, ceea ce înseamnă că punem „X” în celulele 3, 4 și 4, 3. Să ne întoarcem din nou la a treia linie. Dacă coloana 2 urmează coloana 4, cuvântul ar începe cu un semn moale. Punem „X” în celula 4, 2. Din prima linie: combinația 4, 5 este imposibilă și 3, 5 este, de asemenea, imposibilă. Rezultatul raționamentului nostru este prezentat în tabel:

  • 1, 6, 5, 3, 2, 4
  • 6, 5, 3, 2, 4, 1
  • 4, 1, 6, 5, 3, 2
  • 1, 4, 6, 5, 3, 2

Deci, după coloana 6, trebuie neapărat să urmeze coloana 5. Dar apoi punem un „X” în celula 6, 2 și obținem: coloana 2 urmează coloana 3. Apoi, am tăiat 5, 1 și 2, 1. trebuie să verificăm opțiunile: ..6532... și...65432... . Dar (4, 3) a fost tăiat mai devreme. Deci, opțiunile rămase pentru aranjarea coloanelor sunt:

6 5 3 2
Să scriem 6, 5, 3, 2 coloane pe rând: T - s
V O V r
G b la d
b O n eu

Încercarea de a pune coloana 1 înaintea coloanei 6 va avea ca rezultat bigrama MP pe ultimul rând și combinația DTY pe primul. Opțiunile rămase sunt: ​​653241, 146532.

Răspuns: 653241 - cheie, text simplu: tu\_pe\_pe drum\_fi\_încăpățânat (linie dintr-o melodie populară în anii 1970).

Să dăm un alt exemplu de criptoanaliza a unui cifr de permutare a coloanei.

Exemplul 6.3 Descifrare: SVPOOSLUYYST\_EDPSOKOKAIZO

Cifrarea textului: Textul conține 25 de caractere, ceea ce vă permite să îl scrieți matrice pătrată 5x5. Se știe că criptarea a fost efectuată coloană cu coloană, prin urmare, decriptarea ar trebui efectuată prin schimbarea ordinii coloanelor.

În criptarea prin permutare, caracterele textului criptat sunt rearanjate în conformitate cu anumite reguli în cadrul blocului criptat al acestui text.

Simplă rearanjare

Se selectează o dimensiune de bloc de criptare de n coloane și m rânduri și o secvență de chei, care este formată dintr-o serie naturală de numere 1,2,...,n prin permutare aleatorie.

Criptarea se realizează în următoarea ordine:

    Textul criptat este scris în rânduri succesive sub numerele secvenței de chei, formând un bloc de criptare de dimensiunea n*m.

    Textul cifrat este scris în coloane în ordinea crescătoare a numerelor coloanelor specificate de secvența de taste.

    Completat bloc nou etc.

De exemplu, să criptăm textul

LOAD_ORANGE_IN BOLII

bloc dimensiunea 8*3 și cheia 5-8-1-3-7-4-6-2.

Un tabel simplu de permutare va arăta astfel:

G R U Z I T E _

PORTOCALE

Y _ B O C H K A H

Mesaj criptat:

WEB_NHZLOESLGAYEIAICHRP_

Decriptarea se realizează în următoarea ordine:

    Din textul cifrat este extras un bloc de caractere de dimensiunea n*m.

    Acest bloc este împărțit în n grupuri de m caractere.

    Simbolurile sunt scrise în acele coloane ale tabelului de permutare ale căror numere coincid cu numerele grupului din bloc. Textul decriptat este citit în funcție de rândurile tabelului de permutare.

    Se alocă un nou bloc de caractere etc.

Permutarea complicată conform tabelului

Când permutarea între tabele devine mai complexă, celulele neutilizate ale tabelului sunt introduse în tabelul de permutare pentru a crește puterea cifrului. Numărul și locația elementelor neutilizate reprezintă o cheie de criptare suplimentară.

La criptarea textului, caracterele de text nu sunt scrise în elemente neutilizate și nici un caracter din acestea nu este scris în textul criptat - ele sunt pur și simplu sărite. La decriptare, caracterele de text cifrat nu sunt, de asemenea, incluse în elementele neutilizate.

Pentru a crește și mai mult puterea criptografică a cifrului, în timpul procesului de criptare puteți modifica cheile, dimensiunea tabelului de permutare, numărul și locația elementelor neutilizate în conformitate cu un anumit algoritm, iar acest algoritm devine o cheie suplimentară de criptare.

Permutarea complicată de rute

Puterea ridicată a criptării poate fi asigurată prin complicarea permutărilor de-a lungul rutelor de tip Hamiltonian. În acest caz, vârfurile unui anumit hipercub sunt folosite pentru a înregistra caracterele textului cifrat, iar caracterele textului cifrat sunt citite de-a lungul rutelor Hamilton și sunt folosite mai multe rute diferite. De exemplu, luați în considerare criptarea folosind rute Hamilton cu n=3.

Structura unui hipercub tridimensional este prezentată în Figura 6.

Figura 6. Hipercub tridimensional

Numerele vârfurilor cubului determină succesiunea în care acesta este umplut cu simboluri criptate atunci când formează un bloc. În general, un hipercub n-dimensional are n 2 vârfuri.

Figura 7. Trasee Hamilton

Secvența de permutări de simbol în blocul criptat pentru prima schemă este 5-6-2-1-3-4-8-7, iar pentru a doua este 5-1-3-4-2-6-8- 7. În mod similar, puteți obține o secvență de permutări pentru alte rute: 5-7-3-1-2-6-8-4, 5-6-8-7-3-1-2-4, 5-1-2 -4-3 -7-8-6 etc.

Dimensiunea hipercubului și numărul de tipuri de rute Hamilton selectate constituie cheia secretă a metodei.

Puterea unei permutări simple este determinată în mod unic de dimensiunea matricei de permutare utilizată. De exemplu, când se utilizează o matrice 16*16, numărul de permutări posibile ajunge la 1,4E26. Este imposibil să sortați un astfel de număr de opțiuni chiar și folosind un computer. Stabilitatea permutărilor complicate este chiar mai mare. Cu toate acestea, trebuie avut în vedere că la criptarea prin permutare, caracteristicile probabilistice sunt complet păstrate text sursă, ceea ce face criptoanaliza mai ușoară.

Criptare folosind metoda pătratului magic.

Pătratele magice sunt tabele pătrate cu numere naturale consecutive înscrise în celulele lor, începând de la 1, care însumează același număr pentru fiecare coloană, rând și diagonală.

La criptare, literele textului simplu trebuie introduse în pătratul magic în conformitate cu numerotarea celulelor acestuia. Pentru a obține textul cifrat, citiți conținutul tabelului completat rând cu rând.

Să criptăm expresia „PUTERE MAGICĂ” folosind un pătrat magic 4x4. Pentru a face acest lucru, vom alege una dintre cele 880 de opțiuni pentru pătratele magice de o dimensiune dată (Figura 8a). Apoi introducem fiecare literă a mesajului într-o celulă separată a tabelului cu un număr corespunzător numărului de serie al literei din fraza originală (Figura 8b). Când citim rând cu rând tabelul completat, obținem textul cifrat: „_GAIAESSCHYA_KIALM”.

Figura 8. Exemplu de criptare folosind pătrate magice

pe diferite trasee ale unei figuri geometrice.

Cel mai simplu exemplu de permutare este permutare cu perioadă fixă ​​d. În această metodă, mesajul este împărțit în blocuri în funcție de d caractere și aceeași permutare se realizează în fiecare bloc. Regula prin care se realizează permutarea este cheia și poate fi specificată printr-o permutare a primei d numere naturale. Drept urmare, literele mesajului în sine nu se schimbă, ci sunt transmise într-o ordine diferită.

De exemplu, pentru d=6, puteți lua 436215 ca cheie de permutare. Aceasta înseamnă că în fiecare bloc de 6 caractere, al patrulea caracter trece pe primul loc, al treilea pe al doilea, al șaselea pe al treilea etc. Să presupunem că trebuie să criptați următorul text:

Numărul de caractere din mesajul original este de 24, prin urmare, mesajul trebuie împărțit în 4 blocuri. Rezultatul criptării folosind permutarea 436215 va fi mesajul

OETET_TLSKDISHR_YAFNAVOI

Teoretic, dacă un bloc este format din d caractere, apoi numărul de permutări posibile d!=1*2*...*(d-1)*d . În ultimul exemplu d=6, deci, numărul de permutări este 6!=1*2*3*4*5*6=720. Astfel, dacă un adversar a interceptat mesajul criptat din exemplul de mai sus, nu i-ar fi nevoie de mai mult de 720 de încercări pentru a rezolva mesajul original (presupunând că dimensiunea blocului este cunoscută de adversar).

Pentru a crește puterea criptografică, două sau mai multe permutări cu perioade diferite pot fi aplicate succesiv mesajului criptat.

Un alt exemplu de metode de permutare este rearanjarea mesei. În această metodă, textul sursă este scris în rândurile unui tabel și îl citește în coloanele aceluiași tabel. Secvența de umplere a rândurilor și a coloanelor de citire poate fi oricare și este specificată de o cheie.

Să ne uităm la un exemplu. Lăsați tabelul de codificare să aibă 4 coloane și 3 rânduri (dimensiunea blocului este de 3*4=12 caractere). Să criptăm următorul text:

Numărul de caractere din mesajul original este de 24, prin urmare, mesajul trebuie împărțit în 2 blocuri. Să scriem fiecare bloc în tabelul său linie cu linie (Tabelul 2.9).

Tabelul 2.9.
Criptare folosind metoda de permutare a tabelului
s, s, m, l, d, t, r, n h, y, i, a, e, o, s r, p, k, v, t, n
h, y, i, a, e, o, s m, i, l, d, t, r, n b, v, e, o, a, i, s G
h, y, i, a, e, o, s r, i, y, a, i, e, o g, v, s, i, e, o, a
1 bloc
o, n, r, l, a, i, s b, y, s, e, o, a, i, v r, t, m, i, o, l, n
n, a, e, o și i, k, t, a, p, o, e r, p, k, v, t, n i, t, a, e, i, o
l, d, k, t, v, r, n d, b, n, o, a, i, e r, t, m, i, o, l, n o, n, r, l, a, i, s

2 bloc

Apoi vom citi fiecare bloc din tabel secvenţial coloană cu coloană:

ETTTE OKD SLYAFA RNSHOIVYA

Puteți citi coloanele nu secvențial, ci, de exemplu, astfel: al treilea, al doilea, primul, al patrulea:

OKDTE ETT SLSHOI RNYAFAIVA

În acest caz, ordinea în care sunt citite coloanele va fi cheia. În cazul în care dimensiunea mesajului

nu este un multiplu al dimensiunii blocului, puteți completa mesajul cu unele simboluri care nu afectează semnificația, de exemplu, spații. Totuși, acest lucru nu este recomandat, deoarece oferă inamicului, în cazul interceptării criptogramei, informații despre dimensiunea tabelului de permutare utilizat (lungimea blocului). După ce a determinat lungimea blocului, adversarul poate găsi lungimea cheii (numărul de coloane din tabel) printre divizorii de lungime a blocului.

Să vedem cum să criptăm și să decriptăm un mesaj a cărui lungime nu este un multiplu al mărimii tabelului de permutare. Să criptăm cuvântul

SCHIMBA

Numărul de caractere din mesajul original este 9. Să scriem mesajul în tabel rând cu rând (Tabelul 2.10) și să lăsăm ultimele trei celule goale.

Apoi vom citi din tabel secvenţial pe coloane:

PMAEERNEC În cazul în care Pentru a decripta, mai întâi determinați numărul de coloane complete, adică numărul de caractere din ultima linie. Pentru aceasta se împart (în exemplul nostru – 9) după numărul de coloane sau dimensiunea cheii (în exemplu – 4). Restul diviziunii va fi numărul de coloane complete: 9 mod 4 = 1. Prin urmare, în exemplul nostru a fost 1 coloană completă și trei scurte. Acum puteți pune literele mesajului în locurile lor și puteți descifra mesajul. Deoarece cheia de criptare era numărul 1234 (coloanele au fost citite secvenţial), atunci la decriptare, primele trei caractere (PMA) sunt scrise în prima coloană a tabelului de permutare, următoarele două (EE) - în a doua coloană, următoarele două (RN) - în a treia, iar ultimele două (EK) - în a patra. După ce umplem tabelul, citim rândurile și obținem mesajul original

SCHIMBA. Există și alte metode de permutare care pot fi implementate în software și hardware. De exemplu, atunci când transmiteți date scrise în formă binară, este convenabil să utilizați o unitate hardware care amestecă prin cablarea adecvată a biților mesajului original de n biți. Deci, dacă luăm dimensiunea blocului ca fiind de opt biți, putem, de exemplu, să folosim un bloc de permutare, cum ar fi

Poveste

Ora exactă nu se cunoaște aspectul cifrului de permutare. Este foarte posibil ca scribii din antichitate să fi rearanjat literele în numele regelui lor pentru a-și ascunde adevăratul nume sau în scopuri rituale.

Unul dintre cele mai vechi dispozitive de criptare cunoscute de noi este Scytala. Se știe, fără îndoială, că rătăcitorul a fost folosit în războiul Spartei împotriva Atenei la sfârșitul secolului al V-lea î.Hr. e.

Strămoșul anagramei este considerat a fi poetul și gramaticianul Lycophron, care a trăit în Grecia anticăîn secolul al III-lea î.Hr e. După cum a relatat autorul bizantin John Tsets, din numele regelui Ptolemeu a compus prima anagramă cunoscută de noi: Ptolemaios - Aro Melitos, care s-a tradus înseamnă „din miere”, iar din numele reginei Arsinoe - ca „ Ion Eras„(violeta Herei).

Cifre simple de permutare

În mod obișnuit, atunci când se criptează și se decriptează un cifr de permutare simplu, se utilizează un tabel de permutare:

1 (\displaystyle 1) 2 (\displaystyle 2) 3 (\displaystyle 3) ... n (\displaystyle n)
eu 1 (\displaystyle I_(1)) eu 2 (\displaystyle I_(2)) eu 3 (\displaystyle I_(3)) ... eu n (\displaystyle I_(n))

Prima linie este poziția caracterului în text simplu, a doua linie este poziția în cifrgramă. Astfel, cu lungimea mesajului n (\displaystyle n) personajele există exact n! (\displaystyle n!\ ) chei.

Cifre de permutare a rutei

Așa-numitele permutări ale traseului folosind unele figuri geometrice (plate sau tridimensionale) au devenit larg răspândite. Transformările constau în faptul că un segment de text simplu este scris într-o astfel de figură de-a lungul unei anumite traiectorii și scris pe o altă traiectorie. Un exemplu al acestui cifr este cifrul Scytala.

Cifrul permutării de rutare a tabelului

Cele mai utilizate sunt cifrurile rutelor de permutare bazate pe dreptunghiuri (tabele). De exemplu, puteți scrie un mesaj într-un tabel dreptunghiular de-a lungul traseului: orizontal, începând din colțul din stânga sus, alternativ de la stânga la dreapta. Vom copia mesajul de-a lungul traseului: pe verticală, începând din colțul din dreapta sus, alternativ de sus în jos.

n r Şi m e
r m O r w
r la T n O
th n e r e
Cu T O n O
V La Şi

CRIPTOGRAMA: yesoeomrnniateairmuptkprrysv

Inversarea pașilor descriși nu va prezenta nicio dificultate la descifrare.

Cifru cu permutare verticală

Un tip de permutare a traseului - permutarea verticală - a devenit larg răspândit. Acest cifru folosește și un tabel dreptunghiular în care mesajul este scris în rânduri de la stânga la dreapta. Cifragrama este scrisă vertical, cu coloanele selectate în ordinea determinată de cheie.

TEXT CLEAR: exemplu de permutare a rutei

CHEIE: (3, 1, 4, 2, 5)

n r Şi m e
r m O r w
r la T n O
th n e r e
Cu T O n O
V La Şi

CRIPTOGRAMA: rmuptkmrnrnrnprrysviateaeshoeo

Umple ultima linie tabelele cu litere „nefuncționale” nu sunt practice, deoarece criptoanalistul care a primit această criptogramă primește informații despre lungimea cheii numerice.

Cod „grilă rotativă”

În 1550, matematicianul italian Gerolamo Cardano (1501-1576) a propus în cartea sa Despre subtilități tehnologie nouă criptarea mesajelor - zăbrele.

Inițial, zăbrele Cardano era un șablon cu găuri în care erau scrise litere, silabe sau cuvinte ale unui mesaj. Apoi șablonul a fost îndepărtat și spatiu liber plin cu text mai mult sau mai puțin semnificativ. Această metodă de ascundere a informațiilor se referă la steganografie.

Mai târziu, a fost propus cifrul „zăbrele rotative” - primul cifr transpozițional (geometric). Chiar dacă există mare diferentaÎntre propunerea inițială a lui Cardano și cifrul cu zăbrele rotative, metodele de criptare bazate pe șablon sunt denumite în mod obișnuit „zăbrele Cardano”.

Pentru a cripta și decripta folosind acest cifru, se realizează un șablon cu celule decupate. Când aplicați un șablon pe o masă de aceeași dimensiune cu patru moduri posibile, tăieturile sale trebuie să acopere complet toate celulele tabelului exact o dată.

La criptare, un șablon este plasat pe masă. Literele de text simplu sunt scrise în celule vizibile de-a lungul unui anumit traseu. În continuare, șablonul este răsturnat de trei ori, efectuând de fiecare dată operația de umplere.

Cifragrama este scrisă din tabelul rezultat de-a lungul unui anumit traseu. Cheia este șablonul, traseul inscripției și ordinea virajelor.

Această metodă criptare utilizată pentru transmisie informatii clasificate conducătorii olandezi în anii 1740. În timpul Primului Război Mondial, armata lui Kaiser Wilhelm a folosit cifrul „grilă rotativă”. Germanii foloseau baruri dimensiuni diferite, însă, pentru un timp foarte scurt (patru luni), spre marea dezamăgire a criptoanaliştilor francezi, care tocmai începuseră să selecteze cheile acestora. Pentru grile de diferite dimensiuni, francezii au venit cu propriile nume de cod: Anna (25 de litere), Bertha (36 de litere), Dora (64 de litere) și Emile (81 de litere).

Aatbash, cifru Scital, zăbrele Cardano - metode cunoscute ascunde informațiile de privirile indiscrete. În sensul clasic, un cifr de permutare este o anagramă. Esența sa constă în faptul că literele textului simplu își schimbă pozițiile după o anumită regulă. Cu alte cuvinte, cheia de cifrare este de a schimba ordinea caracterelor în mesaj deschis. Totuși, dependența cheii de lungimea textului criptat a creat multe inconveniente pentru utilizarea acestui tip de cifră. Dar capetele inteligente au găsit soluții interesante, viclene, care sunt descrise în articol.

Grupuri inversate

Pentru a vă familiariza cu criptarea folosind metoda permutării, vom aminti unul dintre cele mai simple exemple. Algoritmul său constă în împărțirea unui mesaj în n blocuri, care sunt apoi întoarse înapoi în față și schimbate. Să ne uităm la un exemplu.

  • „Ziua trecea și aerul era întunecat pe cer”.

Să împărțim acest mesaj în grupuri. ÎN în acest caz, n = 6.

  • „Denukh odili nebav ozd uhtemny”.

Acum să extindem grupurile, scriind fiecare de la sfârșit.

  • „hunned vaben dzo methu yyn”.

Să le rearanjam într-un anumit fel.

  • "ilido methu yyn huned vaben dzo."

Pentru o persoană ignorantă, în această formă mesajul nu este altceva decât un gunoi. Dar, desigur, cel căruia îi este adresat mesajul se ocupă de algoritmul de decriptare.

Inserție din mijloc

Algoritm criptare dată permutare puțin mai complicată:

  1. Împărțiți mesajul în grupuri cu un număr par de caractere.
  2. Introduceți litere suplimentare în mijlocul fiecărui grup.

Să ne uităm la un exemplu.

    „El a condus făpturile pământului să doarmă”.

    „Zemn yetv ariu vodi lkosnu”.

    "Zeamn yeabtv araiu voabdi lkoasnu."

În acest caz, literele alternative „a” și „ab” au fost introduse în mijlocul grupurilor. Inserțiile pot fi diferite, în funcție de cantități diferite si nu te repeta. În plus, puteți extinde fiecare grup, le puteți amesteca etc.

Cod cifrat „Sandwich”

Un alt exemplu distractiv și simplu de criptare prin permutare. Pentru a-l folosi, trebuie să împărțiți textul simplu în 2 jumătăți și să scrieți una dintre ele caracter cu caracter între literele celeilalte. Să o arătăm cu un exemplu.

  • "Din munca lor; numai eu sunt singur, fara adapost."

Împărțiți în jumătăți cu un număr egal de litere.

  • „Sunt singura persoană fără adăpost din munca lor”.

Acum să scriem prima jumătate a mesajului cu un spațiu mare între litere.

  • „Despre t ikh t u d o v l i s h ”.

Și în aceste spații vom plasa literele din a doua jumătate.

  • „Oyatoidhitnrbuedzodvolminshy”.

În cele din urmă, să grupăm literele într-un fel de cuvinte (operație opțională).

  • „Oyatoi dhi tnrbue dzodvol minshyy”.

Este foarte ușor să criptați text folosind această metodă. Linia de prostii rezultată va trebui să dureze ceva timp pentru ca cei neinițiați să se dezlege.

Rearanjamente de-a lungul „rutei”

Acest nume a fost dat cifrurilor care au fost utilizate pe scară largă în cele mai vechi timpuri. Traseul în construcția lor a fost oricare figură geometrică. Textul simplu a fost scris într-o astfel de figură după un anumit model și preluat conform inversului său. De exemplu, o opțiune ar putea fi să scrieți text simplu într-un tabel folosind schema: un șarpe se târăște în sensul acelor de ceasornic prin celule și un mesaj criptat este compus prin scrierea coloanelor într-un singur rând, de la primul la ultimul. Aceasta este, de asemenea, criptare prin permutare.

Să arătăm cu un exemplu cum să criptăm textul. Încercați să determinați singur ruta de înregistrare și ruta de criptare.

    — Mă pregăteam să suport războiul.

Vom scrie mesajul într-un tabel cu dimensiuni de 3x9 celule. Mărimea tabelului poate fi determinată pe baza lungimii mesajului sau un tabel fix poate fi folosit de mai multe ori.

Vom compune cifrul pornind din dreapta colțul de sus mesele.

  • „Launlvosoyatovvygidtaerprzh”.

Inversarea pașilor descriși nu este dificilă. Este suficient să faci exact invers. Această metodă este extrem de convenabil deoarece facilitează reținerea procedurii de criptare și decriptare. De asemenea, este interesant pentru că orice formă poate fi folosită pentru un cifr. De exemplu, o spirală.

Permutări verticale

Acest tip de cifru este, de asemenea, o variantă de permutare a rutei. Este interesant în primul rând din cauza prezenței unei chei. Această metodă a fost răspândită în trecut și a folosit și tabele pentru criptare. Mesajul este scris în tabel în modul obișnuit - de sus în jos, iar cifra cifrată este scrisă vertical, păstrând ordinea specificată de cheie sau parolă. Să ne uităm la un exemplu de astfel de criptare.

    „Atât cu o cale dureroasă, cât și cu compasiune”

Folosim un tabel cu dimensiuni de 4x8 celule și scriem mesajul nostru în el în mod obișnuit. Și pentru criptare folosim cheia 85241673.

Acum, folosind cheia ca o indicație a ordinii, să scriem coloanele într-o linie.

  • „Gusetmsntmayapoysaotmserinid”.

Este important de reținut că, cu această metodă de criptare, celulele goale din tabel nu ar trebui să fie umplute cu litere sau simboluri aleatorii, în speranța că acest lucru va complica cifrarea. De fapt, dimpotrivă, o astfel de acțiune le va oferi inamicilor un indiciu. Deoarece lungimea cheii va fi egală cu unul dintre divizorii de lungime a mesajului.

Decodificare inversă a permutației verticale

Permutarea verticală este interesantă, deoarece decriptarea unui mesaj nu înseamnă pur și simplu urmarea unui algoritm în sens invers. Oricine cunoaște cheia știe câte coloane sunt în tabel. Pentru a decripta un mesaj, trebuie să determinați numărul de linii lungi și scurte din tabel. Acest lucru vă va permite să determinați de unde să începeți să scrieți cifra cifrată în tabel pentru a citi textul simplu. Pentru a face acest lucru, împărțiți lungimea mesajului la lungimea tastei și obțineți 30/8=3 și 6 ca rest.

Astfel, am aflat că tabelul are 6 coloane lungi și 2 scurte, nu complet umplute cu litere. Privind cheia, vedem că criptarea a început la a 5-a coloană și trebuie să fie lungă. Așa că constatăm că primele 4 litere ale cifrgramei corespund celei de-a cincea coloane a tabelului. Acum puteți nota toate literele la locul lor și puteți citi mesajul secret.

Acest tip aparține așa-numitelor cifruri stencil, dar la baza lui se află criptarea prin metoda permutării simbolului. Cheia este un șablon în formă de masă cu găuri tăiate în ea. De fapt, șablonul poate avea orice formă, dar cel mai adesea se folosește un pătrat sau o masă.

Șablonul Cardano este realizat folosind la următorul principiu: celulele tăiate nu trebuie să se suprapună între ele când sunt rotite la 90°. Adică, după 4 rotații ale șablonului în jurul axei sale, fantele din acesta nu ar trebui să coincidă nici măcar o dată.

Să folosim ca exemplu o rețea Cardano simplă (în figura de mai jos).

Folosind acest șablon, vom cripta expresia „O, muze, mă voi adresa cu un apel”.

- r, p, k, v, t, n - i, s, a, i, e, o - -
p, t, k, d, n, m, r
Z m, r, t, s, b, c, n
b, v, e, o, a, i, s
i, t, a, e, i, o l, d, k, t, v, r, n
i, s, a, i, e, o

Umplem celulele șablonului cu litere conform regulii: mai întâi de la dreapta la stânga și apoi de sus în jos. Când celulele se epuizează, rotiți șablonul cu 90° în sensul acelor de ceasornic. În acest fel obținem următorul tabel.

Și ultima tură.

- - i, s, a, i, e, o - - -

După ce combinăm 4 tabele într-unul singur, primim mesajul final criptat.

o, n, r, l, a, i, s r, p, k, v, t, n i, s, a, i, e, o i, s, a, i, e, o Combinație de litere rusești G
i, t, a, e, i, o r, p, k, v, t, n p, t, k, d, n, m, r i, e, y, i, a, o r, p, k, v, t, n i, k, t, a, p, o, e
Combinație de litere rusești Z l, d, k, t, v, r, n Z e, b, a, i, y m, r, t, s, b, c, n
i, t, a, e, i, o Combinație de litere rusești b, v, e, o, a, i, s Combinație de litere rusești l, d, k, t, v, r, n p, t, k, d, n, m, r
Combinație de litere rusești i, t, a, e, i, o Combinație de litere rusești d, b, n, o, a, i, e Combinație de litere rusești l, d, k, t, v, r, n
i, s, a, i, e, o G n, s, t, l n, s, t, l m, i, l, d, t, r, n Combinație de litere rusești

Deși mesajul poate rămâne același, va fi mai convenabil să primiți o cifrgramă cu aspect familiar pentru transmitere. Pentru a face acest lucru, puteți umple celulele goale cu litere aleatorii și puteți scrie coloanele într-o singură linie:

  • „YAVGVGM OOZGVS MUAKG MBZGN GOSCHAGE SRYUAG”

Pentru a descifra acest mesaj, destinatarul trebuie să aibă o copie exacta stencil care a fost folosit pentru criptare. Acest cifr pentru o lungă perioadă de timp a fost considerat destul de stabil. Are, de asemenea, multe variante. De exemplu, folosind 4 grile Cardano deodată, fiecare dintre ele rotindu-se în felul său.

Analiza cifrurilor de permutare

Toate cifruri de permutare vulnerabil împotriva analizei de frecvență. Mai ales în cazurile în care lungimea mesajului este comparabilă cu lungimea cheii. Și acest fapt nu poate fi schimbat prin utilizarea repetată a permutărilor, oricât de complexe ar fi acestea. Prin urmare, în criptografie, numai acele cifruri care folosesc mai multe mecanisme simultan, pe lângă permutare, pot fi stabile.