Care a venit cu un cifr cu permutare de litere. Cifru cu permutare verticală. Cifre simple de permutare

Poveste

Timpul 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 rearanjarea traseului

Așa-numitele permutări de traseu folosind unele figură geometrică(plată sau volumetrică). 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

Cel mai răspândit coduri de rutare permutări 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.

P R Și m e
R m A R w
R la T n O
th P e R e
Cu T A n O
V La Și

CRIPTOGRAMA: yesoeomrnniateairmuptkprrysv

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

Cifru rearanjare 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)

P R Și m e
R m A R w
R la T n O
th P e R e
Cu T A n O
V La Și

CRIPTOGRAMA: rmuptkmrnrnrnprrysviateaeshoeo

Completati 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 a fost un șablon cu găuri în care erau scrise litere, silabe sau cuvinte ale unui mesaj. Apoi șablonul a fost îndepărtat și loc 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 „rețea rotativă” - primul cifr transpozițional (geometric). Chiar dacă există o 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.

Aceasta metoda criptare utilizată pentru transmisie informatie clasificata conducătorii olandezi în anii 1740. În timpul Primului Război Mondial, armata lui Kaiser Wilhelm a folosit cifrul „grilă rotativă”. Germanii foloseau baruri marimi diferite, însă, pentru o perioadă 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).

Cifre bloc

Din cauza text simplu Deoarece mesajul are de obicei o lungime arbitrară, uneori destul de mare, este împărțit în blocuri mai mici de lungime fixă. Textele acestor blocuri sunt criptate separat și independent unul de celălalt.

Cifrurile bloc cu o singură cheie sunt împărțite în 3 grupuri:

Cifre de permutare

Cifre de substituție

Cifruri compozite.

Când se folosesc cifruri de permutare, care sunt concepute pentru a elimina sensul unui mesaj prin schimbarea ordinii de alternanță a caracterelor acestuia, caracterele de text simplu sunt rearanjate în conformitate cu o anumită regulă (cheie) într-un anumit bloc. Ca urmare a acestui fapt, ordinea normală a apariției lor și însuși sensul mesajului informativ sunt perturbate. În acest caz, se face o distincție între cifrurile de permutare simple și complexe.

Un cifr de permutare simplu rearanjează un grup de litere de text într-o manieră regulată, în conformitate cu o cheie de permutare aleasă (regulă). Există multe exemple din istorie de utilizare a unor astfel de cifruri pentru criptarea manuală. În acest caz, se foloseau adesea tabele speciale, care prevedeau proceduri simple de criptare (chei), conform cărora literele din mesaj erau rearanjate. Cheia pentru astfel de tabele a fost dimensiunea tabelului, o frază care specifică o permutare sau alte caracteristici speciale ale tabelului.

Un exemplu de cel mai simplu cifr de permutare este prezentat în Fig. 5.5.

Orez. 5.5. Cel mai simplu cifr permutări.

După cum se poate observa din fig. 5.5, pentru a cripta mesajul „YUSTACE ALEX MEET YOUR CONNECTED MAN”, acesta din urmă trebuie scris sub forma unui tabel format, de exemplu, din 5 rânduri și 6 coloane. Textul mesajului este scris în coloane, excluzând spațiile. Dacă ultima coloană este incompletă, este completată aleatoriu cu orice litere. Pentru a obține un mesaj criptat, textul original este citit rând cu rând (de la stânga la dreapta) și scris în grupuri, de exemplu, 5 cifre. Ultimul

procedura nu se referă la procesul de criptare și se face doar pentru a face mai convenabilă notarea textului care este lipsit de orice semnificație. Pentru a decripta un astfel de text, trebuie să cunoașteți cheia, și anume numărul de rânduri și coloane din tabel sau, cu alte cuvinte, dimensiunea acestuia.

O metodă de criptare mai practică, foarte asemănătoare cu cea anterioară, este descrisă mai jos. Diferă doar prin faptul că coloanele din tabel sunt rearanjate în funcție de cuvânt cheie, o frază sau un set de numere de lungimea unei linii de tabel.

La criptarea prin permutare simplă, textul cifrat este scris în rânduri succesive sub simbolurile cheie, care nu trebuie repetate Pentru a simplifica memorarea cheii, se folosește un cuvânt cheie, ale cărui litere, numerotate în ordinea locației lor. alfabetul, stabilește regula permutării. Textul cifrat este scris în coloane în ordinea în care literele cheii sunt situate în alfabet sau în ordinea numerelor dintr-o serie naturală, dacă cheia este digitală. Procesul de criptare folosind un cifr de permutare simplu este ilustrat în Fig. 5.6. Să presupunem că trebuie să criptați un mesaj de informații



„Întâlnirea va fi ținută mâine JUSTATIE.”

Pentru a cripta acest text simplu, îl scriem fără spații (participarea acestuia din urmă la procedura de criptare, datorită frecventa inalta repetarea, slăbește semnificativ puterea criptografică a cifrului) și alegeți o cheie de criptare, de exemplu, 245 136. Conform acestei chei, formată din 6 cifre, vom împărți întregul mesaj de informare în blocuri, fiecare dintre ele va conține 6 litere de text. După împărțirea în blocuri, am obținut 4 blocuri cu câte 6 litere fiecare și 1 bloc care conține 5 litere. În astfel de cazuri, ultimul grup de litere mesaj original completat aleatoriu cu diverse simboluri până la obținerea unui bloc complet. În cazul nostru, lipsește o singură literă, așa că selectăm orice literă, de exemplu Ъ, și o adăugăm la sfârșitul celui de-al cincilea bloc.

Orez. 5.6. Cifru de permutare simplu

Apoi, folosind tasta 245 136, literele textului simplu original sunt rearanjate. De exemplu, prima cifră a cheii este 2, indicând că în noul bloc prima literă a textului cifrat va fi a doua literă a blocului text simplu, a doua cifră a cheii este 4, indicând că a doua literă a text cifrat este a patra literă din blocul text simplu etc. d.

În cele din urmă, după permutări în toate blocurile, obținem text cifrat. Citind-o, vedem că este complet lipsită de orice conținut semantic.

Pentru a face cheia mai ușor de reținut, se folosește de obicei un cuvânt cheie. ÎN în acest caz,- acesta este cuvântul „ROOT”. În ea, numărul 1 al cheii corespunde literei E, deoarece este prima dintre toate literele acestui cuvânt găsite în alfabetul nostru, numărul 2 - litera K (din același motiv), etc.

Același mesaj poate fi criptat folosind un tabel format din, de exemplu, 5 rânduri și 6 coloane (lungimea cuvântului cheie). Textul sursă este scris în coloane și formează un tabel (Fig. 5.7). Cuvântul cheie specifică o regulă pentru rearanjarea coloanelor. Dacă într-un cuvânt cheie apar aceleași litere, acestea sunt numerotate în ordine de la stânga la dreapta. Al doilea text cifrat rezultat, așa cum se poate vedea din Fig. 5.7 este complet diferit de primul.

Orez. 5.7. Criptare folosind un tabel

Principalul dezavantaj al acestui cifr este puterea sa criptografică scăzută. Prin factorizarea textului cifrat (nu există multe opțiuni), puteți determina cu ușurință lungimea probabilă a cuvântului de cod care a fost utilizat în timpul criptării.

Pentru a crește puterea criptografică a textului cifrat obținut mai sus, puteți încerca să-l criptați din nou. Această metodă de criptare este cunoscută sub numele de dublă permutare. Esența acestei metode este următoarea. Textul obținut după prima criptare este criptat a doua oară folosind un tabel cu o dimensiune diferită (lungimile rândurilor și coloanelor sunt selectate diferit). În plus, puteți rearanja rândurile într-un tabel și coloanele într-un altul. Puteți completa tabelul cu text sursă căi diferite: zig-zag, șarpe, spirală etc.

Un cifr de permutare simplu folosind proprietățile tabelului numit pătrate magice (Figura 5.8) a fost folosit încă din Evul Mediu. Pătratele magice sunt tabele echilaterale în care toate celulele sunt umplute numere naturale, începând de la 1. Mai mult, aceste numere în sumă dau același număr pentru fiecare coloană, fiecare rând și diagonalele pătratului magic (în cazul nostru, acesta este numărul 34). Text sursă - AȘTEPTĂM SĂ TE ÎNCONTREM DREPTATE, la completarea pătratului magic, se introduce în ordinea numerelor naturale, de exemplu, numărul 1 a fost înlocuit cu 1 literă text sursă(G), numărul 12 - 12 literă a mesajului (C), etc. După scrierea textului simplu, conținutul tabelului este citit rând cu rând, rezultând un text cifrat cu o permutare de litere.

Orez. 5.8. Patrat magic

Cifre de permutare

Această metodă constă în faptul că caracterele textului criptat sunt rearanjate după anumite reguli în cadrul blocului de caractere criptat, adică. transformările duc la o schimbare doar în ordinea caracterelor din mesajul original. Să ne uităm la unele dintre cele mai comune varietăți ale acestei metode - permutări simple, complicate de tabel și complexe de traseu.

Criptare rearanjare simplă (rearanjarea verticală) se realizează după cum urmează:

1) este selectat un cuvânt cheie cu caractere care nu se repetă;

2) textul criptat este scris în rânduri consecutive sub simbolurile cuvintelor cheie;

3) textul cifrat este scris în coloane în ordinea în care literele cheii sunt situate în alfabet (sau în ordinea numerelor dintr-o serie naturală, dacă cheia este digitală).

Ca o ilustrare, iată un exemplu de criptare folosind o simplă rearanjare a mesajului: „FIȚI ATENȚIE CU REPREZENTANTUL DVS. AL COMPANIEI PHOENIX”. În acest caz aplicăm cheie digitală 5 – 8 – 1 – 3 – 7 – 4 – 6 – 2. În textul sursă se folosește o literă în loc de spații A.

B U D b T E A DESPRE
CU T DESPRE R DESPRE ȘI N Y
A CU A P R E D CU
T A ÎN ȘI T E L E
M A F ȘI R M Y A
F E N ȘI LA CU A A

Scriind textul în coloane și grupând caracterele câte cinci, obținem textul criptat sub forma:

DO VF NOYSE LRP IIEZH EEMSB S TMF NDLY TOPT RKUTS A E .

Decriptarea se realizează în următoarea ordine:

1) numărați numărul de caractere din textul cifrat și împărțiți la numărul de caractere din cheie;

2) notați cuvântul cheie și sub semnele acestuia, în ordinea corespunzătoare, notați simbolurile criptate în cantitatea specificată mai sus;

3) citiți textul sursă în funcție de rândurile tabelului.

Numărul de chei nu este mai mare de m!, unde m este numărul de coloane din tabel.

Slăbiciunea criptării prin simpla permutare se datorează faptului că, cu o lungime mare a textului criptat, în textul cifrat pot apărea modele de simboluri cheie. Pentru a elimina acest dezavantaj, puteți schimba cheia după criptarea unui anumit număr de caractere. Schimbând cheia suficient de frecvent, puterea criptării poate fi crescută semnificativ. În același timp, însă, organizarea procesului de criptare și decriptare devine mai complicată.

Pentru a obține și a reține o cheie numerică, există diverse metode. Una dintre cele mai frecvente este de a atribui numere literelor în funcție de ordine alfabetică scrisori Să luăm, de exemplu, cuvântul PERMANENT. Litera A prezentă în ea primește nr. 1. Dacă o literă apare de mai multe ori, aparițiile ei sunt numerotate succesiv de la stânga la dreapta. Prin urmare, a doua apariție a literei A devine #2. Nu există litera B în acest cuvânt, apoi litera B primește nr. 3 etc.:

P E R E CU T A N DESPRE ÎN LA A

Complicarea rearanjarii mesei constă în faptul că pentru a înregistra caracterele textului criptat se folosește un tabel special, în care sunt introduse unele elemente complicate. Complicația este că un anumit număr de celule de tabel nu sunt utilizate (sunt goale în figură). Numărul și locația elementelor neutilizate este cheie suplimentară criptare. Text criptat în blocuri de m x n – s elemente (m x ndimensiunile mesei, s– numărul de elemente neutilizate) se înregistrează în tabel. Criptarea ulterioară este similară cu permutarea simplă.

B U D b T E A DESPRE CU
T DESPRE R DESPRE ȘI N Y A
CU A DESPRE R E D CU T A
ÎN ȘI T E L E M A F
ȘI R M Y A F E N ȘI
LA CU A A A A A A A

Textul criptat va arăta astfel: DOPR BSWIK RRTM OY N ENSEF UT I SS AF I HOE EE T ME TJ DL.

În timpul decriptării, caracterele criptate sunt scrise în coloane de tabel într-o secvență de caractere cheie, omitând elementele neutilizate. Textul sursă este citit rând cu rând. Variind dimensiunea tabelului, secvența caracterelor cheie și numărul și locația elementelor neutilizate, puteți obține puterea necesară a textului cifrat.

O altă opțiune este cifrarea „Grelă rotativă” . Proiectat pentru mesaje cu lungimea de 4 mk. Luați un șablon care măsoară 2m*2k celule, decupați m*k celule astfel încât atunci când este aplicat pe o coală de hârtie de aceeași dimensiune 4 căi diferite(rotire cu 90°) decupările sale acoperă complet întreaga zonă a foii. Literele mesajului sunt introduse secvențial în decupările șablonului linie cu linie, în fiecare linie de la stânga la dreapta, pentru fiecare dintre cele 4 poziții posibile în avans. în modul prescris. Numărul de șabloane posibile, de ex. numărul de chei ale acestui cifr este de 4 mk (cu o dimensiune a șablonului de 8*8, numărul de opțiuni depășește 4 miliarde).

Se poate obține o putere de criptare foarte mare complicând rearanjamentele de-a lungul rutelor precum cele hamiltoniene. Î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 și trei trasee sunt prezentate în Fig. 7, iar un exemplu de criptare este în Fig. 8.

Cifre de înlocuire (de înlocuire). se bazează pe o operaţie algebrică numită substituţie. O permutare este o mapare unu-la-unu a unei mulțimi finite M pe ea însăși. Numărul N de elemente ale mulțimilor se numește grad de substituție. Numărul n de numere mutate efectiv prin substituție se numește lungimea ciclului de substituție.

Cifre de permutare este un cifr, a cărui conversie este schimbată numai ordinea aparitiei caracterele textului sursă, dar nu le modificați singuri.

Slăbiciunea cifrurilor de înlocuire. Dacă în mesaj deschis Dacă un anumit simbol apare frecvent, atunci simbolul corespunzător apare cu aceeași frecvență în mesajul criptat. Pentru cantități mari de text, acest lucru duce la o criptoanaliză de succes. Astfel, este imposibil să criptezi mesajele suficient de lungi folosind o singură cheie.

Rețele (ca element de criptare) - orice cifru bloc este o combinație a primelor două scheme. Folosind conceptul de „rețea” în blocați criptarea constă în repetarea repetată a operaţiilor iniţiale (repetările sunt cicluri sau runde, iar operaţiile în sine sunt straturi). Unele dintre straturi pot conține chei. Asta permite:

  1. Faceți cifrul ușor de complicat (prin creșterea numărului de runde)
  2. Tăiați la dimensiune codul programului
  3. Unificați formula de criptare algoritmică

Rețeaua Feisil (Feistel) este o metodă de construire a unui ciclu de criptare în algoritmi de criptare iterativă bazat pe un registru de deplasare, cu o funcție de feedback în funcție de cheia rotundă (numărul optim de runde este de la 8 la 32)

DES – standard federal de criptare din SUA (1997-2001).

Arhitectură – rețea Faisil clasică, echilibrată, cu permutări inițiale și finale de biți vedere generala. Dimensiunea cheii este de 56 de biți. Pe baza ei - standard international ISO 8372-87. Algoritmul este conceput pentru a cripta datele în blocuri de 64 de biți.

DES este o combinație a două metode principale:

  1. Substituţie
  2. Rearanjare.

O singură combinație a acestor două metode este aplicată textului.



DES are 16 runde, ceea ce înseamnă că aceeași combinație de metode este aplicată textului simplu de 16 ori.

Runda cheii este aplicată utilizând operația XOR

Text sursă => Permutare inițială => Criptare * 16(<=Ключ) =>Permutarea finală => text cifrat

Scopul permutării inițiale este de a distribui uniform biții adiacenți în blocuri.

Aceeași funcție poate fi folosită pentru a cripta și decripta, dar cheile sunt folosite în ordine inversă.

DES oferă 4 tipuri de muncă:

  1. ECB-pad de cifră electronică. Textul simplu este procesat în blocuri de 64 de biți, criptat cu o singură cheie
  2. CBC - block chain. Elimină dezavantajul primului mod. Valoarea de intrare a algoritmului de criptare este setată egală cu diferența XOR dintre blocul de text simplu curent și blocul de text cifrat obținut la pasul anterior. Astfel, toate blocurile textului original sunt conectate (text=>ciphertext=>XOR=>text=>ciphertext)
  3. CFB – feedback cu text cifrat. Algoritmul este convertit într-un cifr de flux, adică fiecare caracter poate fi criptat și transmis imediat destinatarului
  4. OFB – feedback de ieșire. O parte a textului cifrat este introdusă în registrul de deplasare. Pentru fiecare sesiune de criptare, este utilizată o nouă stare inițială a registrului.

Se crede că patru moduri sunt suficiente pentru a utiliza DES în aproape orice zonă pentru care algoritmul este potrivit

Implementarea hardware a algoritmului pe un cip separat face posibilă realizarea de mare viteză criptare cu dimensiuni mici ale dispozitivului.

AES este standardul federal de criptare din SUA, utilizat în prezent.

AES este un standard avansat de criptare.

Cerințe:

  1. Cifrul trebuie să fie blocat
  2. Cifrul trebuie să aibă o lungime de bloc de 128 de biți
  3. Cifrul trebuie să accepte chei cu lungimea de 128, 192, 256 de biți

Algoritmul este neconvențional cifru bloc, deoarece nu folosește rețeaua Feishtel pentru conversii cripto.

Algoritmul reprezintă fiecare bloc de date codificate ca matrice bidimensională octeți de dimensiune 4x4, 4x6 sau 4x8, în funcție de lungimea blocului setată.

Algoritmul constă dintr-un anumit număr de runde (de la 10 la 14 - aceasta depinde de dimensiunea blocului și lungimea cheii).

GOST 28147089 – standard rusesc pentru criptarea datelor și protecția datelor.

Algoritmul este conceput pentru hardware și implementare software, îndeplinește cerințele criptografice necesare și nu impune restricții asupra gradului de secretizare a informațiilor protejate.

Algoritmul implementează criptarea blocurilor de date pe 64 de biți folosind o cheie de 256 de biți constând din opt subchei de 32 de biți.

Pe fiecare runda a I-a Este utilizat conectorul K i.

Algoritmii de criptare GOST 28147-89 au avantajele altor algoritmi pentru sisteme simetrice și le depășesc în capacitățile lor.

La fiecare i-a rundă a algoritmului GOST, urmatoarele operatii:

L i =R i -1 , R i =L i -1 (plus cerc)f(R i -1 , Ki i)

După finalizarea acestor 32 de operațiuni, implementarea algoritmului de criptare va fi finalizată.

Avantajul GOST este prezența protecției împotriva impunerii de date false (modul de inserare a imitației), precum și același ciclu de criptare în toate cele 4 moduri (algoritmi) ale GOST.

Puterea criptografică ridicată este asigurată datorită lungimii mari a cheii (256 de biți) și a 32 de runde de conversie.

Standardul include moduri (algoritmi):

  1. Mod de înlocuire ușoară
  2. Modul Gamma
  3. Modul Gamma cu părere
  4. Modul de generare a inserției de simulare

Algoritmi de criptare asimetrici.

În algoritmii de criptare asimetrică (sau criptografia cu cheie publică) o cheie (publică) este folosită pentru informații criptate, iar alta (secretă) este folosită pentru decriptare

Aceste chei sunt diferite și nu pot fi derivate unele de altele.

Schema de schimb de informații:

  1. Destinatarul calculează cheile publice și secrete; cheia secretă este păstrată secretă, dar cheia publică este pusă la dispoziție (informează expeditorul, un grup de utilizatori din rețea, publică)
  2. Expeditorul, folosind cheia publică a destinatarului, criptează mesajul care este trimis destinatarului
  3. Destinatarul primește mesajul și îl decriptează folosind cheia sa privată

Utilizare metoda asimetrică criptare

Utilizarea unor astfel de cifruri a devenit posibilă datorită lui K. Shannon, care a propus construirea unui cifr în așa fel încât soluția lui să fie echivalentă cu rezolvarea. problema matematica, necesitând volume de calcule care depășesc capacitățile lui calculatoare moderne(de exemplu, operații cu numere prime mari și produsele acestora; găsirea valorii produsului P=x*y)

Criptosistem de criptare a datelor RSA.

În prezent, cea mai dezvoltată metodă protecţie criptografică informația cu o cheie cunoscută este RSA, numită după literele inițiale ale numelor inventatorilor săi (Rivest, Shamir, Adleman)

A folosi algoritmi RSA, trebuie mai întâi să generați cheile publice și private prin rulare pasii urmatori:

  1. Alegeți două foarte mari numere prime p și q și definiți n ca rezultat al înmulțirii p cu q (n=p*q)
  2. Selectați mare Număr aleatoriu d. Acest număr trebuie să fie coprim la m, rezultatul înmulțirii (p-1)(q-1)
  3. Determinați un număr e pentru care următoarea relație este adevărată (e*d)mod(m)=1 sau e=(1mod(m))/d
  4. Cheia publică va fi numerele e,nși cheia secretă - numerele d,n

Crearea cheii este evidențiată cu roșu.

Criptosisteme asimetrice bazate pe curbe eliptice.

Pe baza curbelor eliptice E este posibil să se implementeze nu numai criptoalgoritmi criptare asimetrică, dar și dezvoltarea generală cheie secreta pentru criptare simetrică.

Criptosistemele bazate pe curbe eliptice fac posibilă utilizarea semnificativă dimensiuni mai mici chei comparativ cu alți algoritmi criptografici, menținând în același timp același nivel de putere criptografică.

Pentru implementările de mai sus, sunt utilizate curbele eliptice peste câmpurile Galois GF(p) cu un număr finit p de elemente de două tipuri:

  1. Curbă eliptică peste un câmp finit de tip E(GF(p)), unde p este un număr prim
  2. Curbă eliptică peste un câmp finit de tip E(GF(2m)), unde p=2m

Exemplu: algoritm de criptare asimetrică bazat pe curbe eliptice ECES (Elliptic Curve Encryption Scheme)

Algoritmul ElGamal.

Sistemul ElGamal este un criptosistem cu cheie publică bazat pe problema logaritmului. Acest algoritm folosit atât pentru criptare, cât și pentru semnătură digitală.

Setul de parametri de sistem include un număr prim p și un întreg g, ale căror puteri, modulo p, generează număr mare elementele Z p

Metode de înlocuire.

Un cifr de substituție înlocuiește unele caractere cu altele, dar păstrează ordinea acestora în mesaj.

4 tipuri de înlocuire (înlocuire):

  1. Mono-alfabetic. Formula = Y i =k 1 X i +k 2 (modN), unde Y i este caracterul i al alfabetului, k 1, k 2 sunt constante, X i este caracterul i al textului simplu, N este lungimea alfabetului folosit.

Exemplu. Înlocuire - text simplu, Cheie - Cheie

  1. Substituție omofonică - înlocuirea unui caracter de text simplu se potrivește cu mai multe caractere de text cifrat. Această metodă este folosită pentru a distorsiona proprietăți statistice text cifrat. Se folosește înlocuirea tabelului. Valorile sunt folosite una câte una din coloană.
  1. Substituția polialfabetică este utilizarea mai multor alfabete. Alfabetul se schimbă la fiecare pas de criptare. Se folosește o înlocuire treptată a literelor conform tabelului.
  2. Înlocuire poligramă - format dintr-un singur alfabet folosind reguli speciale. Cifrul este situat într-o matrice, iar textul simplu este împărțit în perechi de simboluri XiXi+1

Cifre de permutare.

Diferența dintre un cifr de permutare este că numai ordinea caracterelor unui text similar este schimbată, dar ele însele nu sunt modificate.

Exemplu. Text „Încărcați portocale în butoaie, frații Karamazov”

Text cifrat „Ptr_aezguionl_byseit_kramchaizryamaak_a__v____oi”

Rearanjarea simplă fără cheie este una dintre cele mai multe metode simple criptare. Literele sunt amestecate conform unor reguli, dar aceste reguli pot fi diferite - atât simple, cât și complexe.

Transpunerea

Să presupunem că avem o frază: „Este POSIBIL, DAR NU”. Și vrem să-l criptăm. Cel mai simplu mod este să scrieți întreaga frază invers: „EL ESTE VICIOUS, ONJOM”. Puteți lăsa ordinea cuvintelor din propoziție ca originală, dar scrieți fiecare cuvânt înapoi: "ONJOM, ESTE VICIOUS". Sau puteți schimba locurile la fiecare două litere: „OMNZH,UNENLYAZ”. Aceasta se numește „transpunere” sau rearanjare simplăîn forma sa cea mai pură.

Transpune

Acest cifru folosește un tabel. Mesajul este scris în tabel pe rânduri și citit în coloane pentru a forma textul cifrat. Ei bine, sau invers - este scris în coloane și citit în rânduri. Se pare că întoarcem masa în raport cu diagonala ei, trecând prin colțurile din stânga sus și din dreapta jos. Matematicienii numesc această metodă de a inversa transpunerea tabelului.

Pentru a cripta trebuie să desenați dimensiune potrivită tabel, introduceți textul criptat acolo rând cu rând, apoi scrieți-l în coloane pe un rând. Pentru a decripta, trebuie doar să furnizați cheia de criptare sub forma dimensiunii tabelului. Poza de mai jos este de la ABCDEFGHIJKL se dovedește ADGJBEHKCFIL. De acord, este aproape imposibil de înțeles fără o imagine că a fost un alfabet.

Deci, de exemplu, trebuie să criptăm textul „Mi-am ridicat un monument, nu făcut de mână, drumul oamenilor către el nu va fi năpădit.” . Are 72 de caractere. 72 este un număr convenabil, este divizibil cu 2,4,6,8,12,18,24,36, deci puteți folosi tabelele 2x36, 3x24, 4x18, 6x12, 8x9, 9x8, 12x6, 18x4, 24x3, 36x2 : ). Decidem cheia (dimensiunea tabelului), introducem textul pe rânduri și apoi îl rescriem în coloane.

Imaginea de mai sus prezintă opțiuni cu tabele 9x8, 8x9, 4x18 și 18x4. Pentru a treia opțiune (tabelul 4×18) veți obține următorul text:

„Yamievvnkoy u atrar yakboieor, n zs oyaopt ezgrtn enatnd pans d uvykmeryoanta (4:18)»

În acest caz, am luat textul „ca atare”, adică cu spații între cuvinte și semne de punctuație. Dar dacă textul are sens, atunci semnele de punctuație și spațiile dintre cuvinte nu pot fi folosite.

Gard

O versiune simplificată a transpunerii (cu un tabel cu două linii) este „gard de pichet”. „În design”, seamănă cu un gard de șah.

Aceasta este o metodă de criptare foarte simplă, folosită adesea de școlari. Expresia este scrisă pe două rânduri: litere impare sunt scrise în partea de sus, litere pare în partea de jos. Apoi, mai întâi trebuie să scrieți contractul linia de sus, apoi cel de jos. Această criptare este ușor de făcut în mintea ta, fără a scrie mai întâi două rânduri.

„Mi-am ridicat un monument, nu făcut de mână” se transformă în „YAYANKEEODINRKTONY PMTISBVZVGEUOVRY”.

Skitala

Se știe că în secolul al V-lea î.Hr., conducătorii Spartei, cel mai războinic dintre statele grecești, aveau un sistem bine dezvoltat de comunicații militare secrete și își criptau mesajele folosind „skalta”, primul dispozitiv criptografic simplu care implementa metoda permutării simple.

Criptarea a fost efectuată după cum urmează. O fâșie de pergament a fost înfășurată într-o spirală (turn-to-turn) pe o tijă cilindrică, care a fost numită „skitala”, și mai multe rânduri de text de mesaj au fost scrise pe ea de-a lungul tijei. Apoi o fâșie de pergament cu text scris a fost scoasă din tijă. Literele de pe această bandă s-au dovedit a fi localizate haotic. Pentru a restabili textul, a fost necesar un rătăcitor de același diametru.

În esență, o scytale este masa noastră plată obișnuită înfășurată în jurul unui cilindru.

Se crede că autorul metodei de spargere a cifrului rătăcitorului este Aristotel, care a înfășurat banda pe un băț în formă de con până când au apărut bucăți de text lizibile. Inițial, dispozitivul antic a fost folosit pentru a stoca rețete secrete. Acum, în loc de o fâșie îngustă de pergament, puteți folosi serpentină, iar rolul rătăcitorului va fi jucat de un creion.

Schimb

Un rezultat similar se poate obține dacă literele mesajului sunt scrise printr-un anumit număr de poziții până la epuizarea întregului text. Mai jos este un exemplu de puzzle finalizat compilat conform acestor reguli. „Trei fracțiuni patru” este un indiciu că trei cuvinte sunt criptate, trebuie să citiți fiecare a patra literă (4-8-12-16-..), când ajungeți la sfârșit, reveniți la început cu o schimbare de 1 litera la stânga (3-7- 11-15-..), etc. Imaginea de mai jos spune „Mergeți pe traseul desemnat”.

O singură permutare prin cheie

O metodă de criptare mai practică numită permutarea unei singure chei este foarte asemănătoare cu cea anterioară. Diferă doar prin aceea că coloanele din tabel nu sunt deplasate, ci rearanjate în funcție de un cuvânt cheie, o expresie sau un set de numere de lungimea unei linii de tabel. Fraza codificată este scrisă într-un tabel adecvat rând cu rând. Apoi deasupra tabelului este inserat linie goalăși un cuvânt cheie/expresie/secvență de numere se încadrează în el. Acest cuvânt cheie/expresie/secvență este apoi sortat după alfabet/înțeles, iar coloanele sunt sortate împreună cu el, amestecând astfel întregul tabel. Fraza criptată este apoi scrisă rând cu rând din acest tabel amestecat.

De exemplu, puteți face un puzzle bazat pe Sudoku. Rezolvatorul primește textul „-UROMKULO BUYOZEBYADL NZYATLYA TSBADNEPU EMMDNITOYO ICHTYUKNOO UNYYVYCHOS HIEPOTODTs PRMGOUIK-” și i se cere să rezolve un Sudoku în care este marcată una dintre linii.

Va trebui să rezolvați acest puzzle astfel: mai întâi trebuie să scrieți textul într-un tabel 9x9, apoi să rezolvați Sudoku, să desenați un tabel 9x9 gol, să scrieți o linie cheie din linia marcată deasupra lui și apoi să introduceți coloane în tabel. sub numere conform numerelor lor de serie din tabelul original.

Pentru copii, puteți folosi aceeași metodă, dar mai simplă, chiar și fără numere, și desenați imediat ordinea permutării sub formă de căi.

Permutare dublă

Pentru securitate sporită, puteți recripta un mesaj care a fost deja criptat. Această metodă este cunoscută sub numele de „permutare dublă”. Pentru a face acest lucru, dimensiunea celui de-al doilea tabel este selectată, astfel încât lungimile rândurilor și coloanelor sale să nu fie aceleași ca în primul tabel. Cel mai bine este dacă sunt relativ prime. În plus, coloanele din primul tabel pot fi rearanjate, iar rândurile din al doilea tabel.

Rearanjarea traseului

Transpunerea obișnuită a unui tabel (completare rânduri, citire în coloane) poate fi complicată și citită nu pe coloane, ci într-un șarpe, în zig-zag, în spirală sau într-un alt mod, de ex. stabiliți o rută de traversare a mesei. Astfel de metode de completare a tabelului, dacă nu măresc puterea cifrului, fac procesul de criptare mult mai distractiv. Adevărat, procesul de decriptare devine mai complicat, mai ales dacă ruta este necunoscută și încă trebuie descoperită.

În figura de mai sus, secvența de caractere „ABVGDEYEZHZIYKLMNOPRSTUFHTSCHSHSHSHCHYYYYUYA.,?” a introdus rând cu rând într-un tabel 6x6 și apoi citit pe traseul indicat de linii. Se obțin următoarele criptări:

    AYOLSCHEBZHMTSHYUVZNUSHYAGIOF.DYPKHY, EKRTS?

    AYOLSCHEYUYA,

    ABELZHVGZMSCHTNIDEYOUSHEYUSHFPKRHYA.YTS,?

    AYOLSCHEYUSHTMZHBVZNUSHYA.ЪFOIGDYPKHY,?BTsRKE

    NZVBAYOZHMLSTSHCHEYASCHUF.,?YHTSRPYKEDGIO

Și aici trebuie să ocoliți masa „cu o mișcare de cavaler”, iar traseul a fost deja desenat, așa că acesta este doar pentru cei mici :)

Dar dacă prezentați acest puzzle așa cum se arată mai jos, atunci nu va fi deloc ușor, deoarece pot exista multe opțiuni pentru a vă deplasa în jurul cavalerului și va trebui să găsiți singurul corect dintre toate aceste opțiuni.

Criptat „Pușkin. Călăreț de bronz”.

Permutarea „Pătrat magic”

Pătratele magice (sau magice) sunt tabele pătrate cu numere naturale consecutive de la 1 la n 2 (unde n este dimensiunea pătratului) înscrise în celulele lor, care se adună la același număr pentru fiecare coloană, fiecare rând și fiecare diagonală.

În pătratul Lo-Shu de ordinul al treilea (3×3), cunoscut în China antică, constanta pătrată 15 se repetă de 8 ori:

    de-a lungul a trei linii orizontale: 2+9+4 = 7+5+3 = 6+1+8 = 15

    de-a lungul a trei verticale: 2+7+6 = 9+5+1 = 4+3+8 = 15

    de-a lungul a două diagonale: 2+5+8 = 4+5+6 = 15

Apropo, constanta unui pătrat impar poate fi calculată cu ușurință prin înmulțirea numărului mediu al seriei din care este format pătratul cu ordinea pătratului. Pentru un pătrat de ordinul 3 (3×3), constanta este 1234 5 6789 *3=15.

Apoi, pentru a cripta un mesaj, trebuie mai întâi să selectați sau să compuneți un pătrat magic de dimensiune adecvată, apoi să desenați un tabel gol de aceeași dimensiune și să introduceți literele textului una câte una în tabel în conformitate cu cifrele. în pătratul magic. Apoi pur și simplu notăm literele din tabel rând cu rând într-una singură sfoară lungă. Ordinea pătratului trebuie să fie egală cu cea rotunjită latura mare rădăcina lungimii șirului criptat, astfel încât șirul să se potrivească complet în pătrat. Dacă linia este mai scurtă, atunci restul poate fi umplut cu litere sau numere arbitrare.

La prima vedere, pare că există foarte puține pătrate magice. Cu toate acestea, numărul lor crește foarte repede pe măsură ce dimensiunea pătratului crește. Astfel, există un singur pătrat magic de dimensiunea 3x3, dacă nu țineți cont de rotațiile și reflexiile acestuia. Numărul de pătrate magice de ordinul 4 se numără deja în sute, al 5-lea - în sute de mii. Prin urmare, pătrate magice dimensiuni mari ar fi putut fi o bază bună pentru un sistem de criptare fiabil de atunci, deoarece enumerarea manuală a tuturor opțiunilor cheie pentru acest cifr era de neconceput.

Există o metodă foarte simplă de alcătuire a pătratelor magice impare, de ex. dimensiuni 3x3, 5x5, 7x7 etc. Aceasta este metoda „terasă” sau „piramidă”.

Se desenează un pătrat dimensiunea potrivităși i se adaugă „terase” în trepte (indicate printr-o linie punctată). Apoi, de-a lungul diagonalelor de sus în jos spre dreapta, pătratul este umplut cu numere succesive. După aceasta, „terasele” sunt transferate în interiorul pătratului: cele din dreapta - la stânga, cele din stânga - la dreapta, cele de sus - în jos, iar cele inferioare - în sus. Se dovedește a fi un pătrat magic!

Pe baza acestei metode, puteți crea diferite puzzle-uri. Dacă utilizați metoda direct, veți obține un puzzle ca acesta:

Pentru a rezolva acest puzzle, trebuie să mutați literele de pe „terase” într-un pătrat, apoi pătratul va citi mesaj complet. Expresia „Există o ambuscadă în spatele podului, nu poți trece, treci râul într-un vad” este criptată aici.

Și dacă folosești metoda invers, vei ajunge cu un puzzle ca acesta.

Pentru a o rezolva, trebuie să scoateți literele corespunzătoare din pătrat în „terase”.

Pentru pătrate 4x4, 6x6 etc. astfel de moduri simple nu există o compilație a acestora, așa că este mai ușor să le folosiți pe cele gata făcute. De exemplu, Piața Durer.