Algoritmi moderni de criptare. Algoritmi de criptare a datelor. Algoritmi simetrici de criptare. Algoritm de criptare RSA. Algoritm de criptare DES. Selectarea unui algoritm de criptare

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL FEDERATIEI RUSE

INSTITUȚIE DE ÎNVĂȚĂMÂNT FEDERALĂ DE STAT

ÎNVĂŢĂMÂNT PROFESIONAL SUPERIOR

„UNIVERSITATEA FEDERALĂ DE SUD”

INSTITUTUL DE TEHNOLOGIE

UNIVERSITATEA FEDERALA DE SUD DIN TAGANROG

Facultatea de Securitate Informațională

Departamentul BIT

Rezumat pe subiect

„Criptografie și tipuri de criptare”

Artă. gr. I-21

Completat de: V. I. Mișcenko

Verificat de: E. A. Maro

Taganrog - 2012

Introducere

1. Istoria criptografiei

1.1 Apariția cifrurilor

1.2 Evoluția criptografiei

2. Criptanaliză

2.1 Caracteristicile mesajului

2.2 Proprietăți ale textului natural

2.3 Criterii de determinare a naturaleței

3. Criptare simetrică

4. Criptare asimetrică

Concluzie

Bibliografie

Introducere

Ca parte a practicii mele educaționale, am ales subiectul „Criptografie și tipuri de criptare”. În timpul lucrărilor, au fost luate în considerare aspecte precum istoria criptografiei, evoluția acesteia și tipurile de criptare. Am efectuat o revizuire a algoritmilor de criptare existenți, în urma căreia se poate observa că umanitatea nu stă pe loc și vine în mod constant cu diverse modalități de stocare și protejare a informațiilor.

Problema protejării informațiilor valoroase prin modificarea acestora pentru a preveni citirea lor de către o persoană necunoscută a îngrijorat cele mai bune minți umane încă din cele mai vechi timpuri. Istoria criptării are aproape aceeași vârstă cu istoria vorbirii umane. În plus, scrisul în sine a fost inițial un sistem criptografic, deoarece în societățile antice doar câțiva aleși dețineau astfel de cunoștințe. Manuscrisele sacre ale diferitelor state antice sunt exemple în acest sens.

De când scrisul s-a răspândit, criptografiile a început să devină o știință complet independentă. Primele sisteme criptografice pot fi găsite deja la începutul erei noastre. De exemplu, Iulius Caesar a folosit un cifru sistematic în corespondența sa personală, care mai târziu a fost numit după el.
Sistemele de criptare au primit o dezvoltare serioasă în timpul Primului și al Doilea Război Mondial. De la începutul erei postbelice și până în zilele noastre, apariția dispozitivelor moderne de calcul a accelerat crearea și îmbunătățirea metodelor de criptare.
De ce problema utilizării metodelor de criptare în sistemele informatice (CS) a devenit deosebit de relevantă în epoca noastră?
În primul rând, s-a extins domeniul de aplicare al rețelelor de calculatoare, precum World Wide Web, cu ajutorul cărora sunt transmise volume uriașe de informații de natură statală, militară, comercială și personală, făcând imposibil accesul terților. aceasta.
În al doilea rând, apariția computerelor moderne super-puternice, a tehnologiilor avansate de rețea și de calcul neuronal fac posibilă discreditarea sistemelor de criptare care chiar ieri erau considerate complet sigure.

1. Istoria criptografiei

Odată cu apariția civilizației umane, a apărut necesitatea transmiterii informațiilor către oamenii potriviți, astfel încât să nu devină cunoscute străinilor. La început, oamenii foloseau doar vocea și gesturile pentru a difuza mesaje.

Odată cu apariția scrisului, problema asigurării secretului și autenticității mesajelor difuzate a devenit deosebit de importantă. În consecință, după invenția scrisului a apărut arta criptografiei, o metodă de „scriere secretă” - un set de tehnici concepute pentru a transmite în secret mesaje înregistrate de la un interior la altul.

Omenirea a venit cu un număr considerabil de tehnologii secrete de scriere, în special, cerneală simpatică care dispare la scurt timp după scrierea unui text sau este invizibilă de la început, „dizolvarea” informațiilor valoroase într-un text mare cu o semnificație complet „străină”. , pregătirea mesajelor folosind simboluri ciudate de neînțeles.

Criptarea a apărut tocmai ca un subiect practic care studiază și dezvoltă metode de criptare a informațiilor, adică la transferul mesajelor - nu ascund faptul transmiterii, ci făcând textul mesajului inaccesibil citirii de către neinițiați. În acest scop, textul mesajului trebuie scris în așa fel încât nimeni, cu excepția destinatarilor înșiși, să se poată familiariza cu conținutul acestuia.

Apariția primelor computere la mijlocul secolului al XX-lea a schimbat foarte mult situația - criptarea practică a făcut un salt uriaș în dezvoltarea sa, iar termenul „criptografie” s-a îndepărtat semnificativ de sensul său original - „scriere secretă”, „scriere secretă”. În prezent, acest subiect combină metode de protejare a informațiilor de natură complet eterogenă, bazate pe transformarea datelor folosind algoritmi secreti, inclusiv algoritmi care folosesc diverși parametri secreti.

1 Apariția cifrurilor

Unele dintre sistemele criptografice au ajuns la noi din cele mai vechi timpuri. Cel mai probabil s-au născut concomitent cu scrierea în mileniul IV î.Hr. Metodele de corespondență secretă au fost inventate independent în multe state antice, cum ar fi Egipt, Grecia și Japonia, dar compoziția detaliată a criptologiei în ele este acum necunoscută. Criptogramele pot fi găsite chiar și în cele mai vechi timpuri, deși datorită scrierii ideografice folosite în lumea antică sub formă de pictograme stilizate, acestea erau destul de primitive. Se pare că sumerienii au folosit arta scrisului secret.

Arheologii au găsit o serie de tăblițe cuneiforme de lut, în care prima intrare era adesea acoperită cu un strat gros de lut, pe care se făcea a doua intrare. Apariția unor astfel de tablete ciudate ar putea fi justificată atât prin scrierea secretă, cât și prin reciclare. Deoarece numărul de caractere din scrierea ideografică a numărat mai mult de o mie, memorarea lor a fost o sarcină destul de dificilă - nu a fost timp pentru criptare. Cu toate acestea, codurile, care apăreau în același timp cu dicționarele, erau foarte familiare în Babilon și statul asirian, iar egiptenii antici foloseau cel puțin trei sisteme de criptare. Odată cu originea scrierii fonetice, scrierea a devenit imediat mai simplă. În vechiul alfabet semitic din mileniul II î.Hr. existau doar aproximativ 30 de caractere. Ele desemnau consoane, precum și unele sunete vocale și silabe. Simplificarea scrisului a dus la dezvoltarea criptografiei și a criptării.

Chiar și în cărțile Bibliei putem găsi exemple de criptare, deși aproape nimeni nu le observă. În cartea profetului Ieremia (22.23) citim: „... și împăratul Sessacului va bea după ei”. Acest rege și acest regat nu au existat - este chiar greșeala autorului? Nu, doar că uneori manuscrisele evreiești sacre erau criptate folosind înlocuirea obișnuită. În loc de prima literă a alfabetului, au scris-o pe ultima, în loc de a doua, penultima, și așa mai departe. Această metodă veche de criptografie se numește atbash. Citind cu ajutorul lui cuvântul SESAH, în limba originală avem cuvântul BABILON, iar întregul sens al manuscrisului biblic poate fi înțeles chiar și de cei care nu cred orbește în adevărul scripturii.

2 Evoluția criptografiei

Dezvoltarea criptării în secolul al XX-lea a fost foarte rapidă, dar complet inegală. Privind istoria dezvoltării sale ca domeniu specific al activității umane, putem distinge trei perioade fundamentale.

Elementar. S-a ocupat doar de cifrurile manuale. A început în cele mai vechi timpuri și s-a încheiat abia la sfârșitul anilor treizeci ai secolului al XX-lea. În acest timp, scrisul secret a parcurs un drum lung de la arta magică a preoților preistorici până la profesia de zi cu zi a lucrătorilor agenției secrete.

Perioada ulterioară poate fi marcată de crearea și introducerea pe scară largă în practică a dispozitivelor de criptare mecanice, apoi electromecanice și, în final, electronice, crearea de rețele întregi de comunicații criptate.

Nașterea celei de-a treia perioade în dezvoltarea criptării este de obicei considerată a fi 1976, în care matematicienii americani Diffie și Hellman au inventat o modalitate fundamental nouă de organizare a comunicațiilor criptate care nu necesita furnizarea prealabilă a abonaților cu chei secrete - așa-numita criptare cu cheie publică. Ca urmare a acestui fapt, au început să apară sisteme de criptare bazate pe metoda inventată încă din anii 40 de Shannon. El a propus crearea unui cifr în așa fel încât decriptarea lui să fie echivalentă cu rezolvarea unei probleme matematice complexe care necesita calcule care să depășească capacitățile sistemelor informatice moderne. Această perioadă de dezvoltare a criptării se caracterizează prin apariția sistemelor de comunicații criptate complet automatizate, în care orice utilizator deține parola personală pentru verificare, o stochează, de exemplu, pe o cartelă magnetică sau în altă parte și o prezintă atunci când autorizează în sistem. , iar totul se întâmplă automat.

2. Criptanaliză

Există un decalaj uriaș între metodele de criptare manuală și computerizată. Cifrurile de mână sunt foarte variate și pot fi cele mai surprinzătoare. În plus, mesajele pe care le criptează sunt destul de laconice și scurte. Prin urmare, hacking-ul lor este mult mai eficient de către oameni decât de către mașini. Cifrurile computerizate sunt mai stereotipe, foarte complexe din punct de vedere matematic și sunt concepute pentru a cripta mesaje de lungime destul de semnificativă. Desigur, nici nu ar trebui să încercați să le rezolvați manual. Cu toate acestea, și în acest domeniu, criptoanalistii joacă un rol principal, fiind comandanții unui atac criptografic, în ciuda faptului că bătălia în sine este dusă doar de hardware și software. Subestimarea acestui fenomen a dus la fiasco-ul cifrurilor mașinilor de cifrat Enigma în timpul celui de-al Doilea Război Mondial.

Tipul de criptare și limbajul mesajului sunt aproape întotdeauna cunoscute. Ele pot fi sugerate de alfabetul și caracteristicile statistice ale criptografiei. Cu toate acestea, informațiile despre limbajul și tipul de cifrare sunt adesea obținute din surse de informații. Această situație este un pic ca spargerea unui seif: chiar dacă „spărgătorul” nu cunoaște dinainte designul seifului piratat, ceea ce pare destul de puțin probabil, îl identifică totuși rapid după aspectul său, sigla companiei. În acest sens, necunoscutul este doar cheia care trebuie dezlegată. Dificultatea constă în faptul că, așa cum nu toate bolile pot fi vindecate cu același medicament și fiecare dintre ele are propriile mijloace specifice, astfel încât anumite tipuri de cifruri pot fi sparte numai prin metodele proprii.

2.1 Caracteristicile mesajului

Mesajele, oricât de complexe ar fi, sunt foarte posibil de imaginat sub forma unei anumite ordini de simboluri. Aceste simboluri trebuie luate dintr-un set prefixat, de exemplu, din alfabetul rus sau dintr-o paletă de culori (roșu, galben, verde). În mesaje pot apărea caractere diferite la frecvențe diferite. În acest sens, cantitatea de informații transmise prin diferite simboluri poate fi diferită. În înțelegerea propusă de Shannon, cantitatea de informații este determinată de valoarea medie a numărului de întrebări posibile cu opțiuni de răspuns DA și NU pentru a prezice caracterul ulterior din mesaj. Dacă caracterele din text sunt aranjate într-o secvență care este independentă unele de altele, atunci cantitatea medie de informații dintr-un astfel de mesaj pe caracter este egală cu:

unde Pi este frecvența de apariție a semnului i și Ld este logaritmul binar. Trei fenomene ale acestei distribuții de informații trebuie remarcate.

Este complet independent de semantică, de sensul mesajului și poate fi folosit chiar și într-o situație în care sensul exact nu este complet clar. Aceasta implică faptul că probabilitatea manifestării simbolurilor nu depinde de istoria lor preliminară.

Este cunoscut dinainte sistemul simbolic în care este transmis mesajul, adică limba și metoda de criptare.

În ce unități se măsoară volumul de informații conform lui Shannon? Răspunsul cel mai precis la această întrebare poate fi dat de teorema de criptare, care afirmă că orice mesaj poate fi criptat cu simbolurile 0 și 1 în așa fel încât volumul de informații rezultat să fie arbitrar apropiat de sus de H. Această teoremă ne permite să specificăm unitatea de informație - aceasta este un pic.

2 Proprietăți ale textului natural

Acum să ne uităm vizual la o modalitate de a aplica cunoștințele despre caracteristicile textului natural pentru nevoile de criptare. Este necesar să se determine dintr-o bucată de text ce este - un mesaj care poartă o încărcare semantică sau doar o secvență de caractere aleatorii. O serie de metode de criptare trebuie să fie sparte pe un computer prin simpla forță brută a cheilor, dar încercarea manuală a peste o mie de bucăți de text pe zi este pur și simplu imposibilă, iar viteza forței brute este foarte mică. În acest sens, este necesar să implementați o astfel de sarcină folosind un computer.

Să presupunem că trebuie să sortăm aproximativ un miliard de chei pe un computer cu o viteză de o mie de taste pe secundă. Acest lucru ne va dura aproximativ zece zile. În acest caz, riscăm să cădem în două extreme. Dacă suntem prea atenți în evaluările noastre, unele dintre fragmentele de text fără sens vor fi identificate ca mesaje și returnate persoanei. Această eroare este cel mai adesea numită „alarma falsă” sau eroare de tip I.

Cu volumul unor astfel de erori depășind o mie pe zi, o persoană care stă la computer va obosi și poate verifica ulterior fragmente de text cu neatenție. Aceasta înseamnă că este posibil să nu faci mai mult de o eroare de acest fel la 100.000 de verificări. La cealaltă extremă, dacă abordați cu neatenție cecul, atunci este foarte posibil să pierdeți un text semnificativ și la sfârșitul căutării complete va trebui să îl repetați din nou. Pentru a nu risca să fie repetat întreaga cantitate de muncă, erorile de al doilea tip, numite și „omisiuni ale unui fragment”, pot fi făcute doar într-un caz din 100 sau 1000.

3 Criterii de determinare a naturaleței

Cel mai simplu criteriu care poate veni în minte la prima vedere este utilizarea alfabetului fragmentului de mesaj. Având în vedere că teoretic numai semne de punctuație, numere și litere rusești mari și mici pot fi găsite în el, nu mai mult de jumătate din setul de tabel de cod ASCII poate fi găsit în textul unui fragment de mesaj.

Aceasta înseamnă că dacă întâlnești un semn inacceptabil într-o bucată de text, computerul poate declara cu siguranță că nu are sens - erorile de al doilea tip sunt practic eliminate dacă canalul de comunicare funcționează bine.

Pentru a reduce posibilitatea teoretică a „alarmelor false” la valoarea indicată în articolul precedent, este nevoie ca fragmentul de mesaj să fie format din cel puțin douăzeci și trei de caractere. Întrebarea devine mai complicată dacă codul de litere folosit nu este redundant, ca reprezentarea ASCII a textului rusesc, dar conține exact atâtea caractere câte sunt în alfabet.

În acest caz, va trebui să introducem o evaluare bazată pe posibilitățile teoretice ale personajelor care se încadrează în text. Pentru a asigura posibilitățile acceptate de erori de primul și al doilea tip, la evaluarea probabilității maxime posibile, este necesar să se analizeze aproximativ 100 de caractere, iar analiza posibilității de întâlnire a bigramelor reduce doar puțin această valoare.

Prin urmare, fragmentele scurte de mesaje cu o valoare cheie mare sunt practic imposibil de decodat fără ambiguitate, deoarece fragmentele aleatorii de text care apar pot coincide foarte bine cu fraze semnificative. Aceeași problemă trebuie rezolvată la monitorizarea calității criptografiei. În acest caz, însă, posibilitatea unei alarme false poate fi mărită făcând-o să nu depășească o miime, cu aceeași posibilitate de a ignora un fragment din mesaj. Acest lucru ne va permite să ne limităm la doar douăzeci până la treizeci de caractere pentru verificarea textelor.

3. Criptare simetrică

Criptosistemele simetrice (de asemenea criptarea simetrică, cifrurile simetrice) sunt o metodă de criptare în care aceeași cheie criptografică este utilizată pentru criptare și decriptare. Înainte de inventarea schemei de criptare asimetrică, singura metodă care exista a fost criptarea simetrică. Cheia algoritmului trebuie ținută secretă de ambele părți. Algoritmul de criptare este selectat de către părți înainte de începerea schimbului de mesaje.

În prezent, cifrurile simetrice sunt:

Cifre bloc. Ei procesează informații în blocuri de o anumită lungime (de obicei 64, 128 de biți), aplicând o cheie blocului într-o ordine prescrisă, de obicei prin mai multe cicluri de amestecare și înlocuire, numite runde. Rezultatul repetării rundelor este un efect de avalanșă - o pierdere tot mai mare a corespondenței biților între blocurile de date deschise și criptate.

Majoritatea cifrurilor simetrice folosesc o combinație complexă de un număr mare de substituții și permutări. Multe astfel de cifruri sunt executate în mai multe treceri (uneori până la 80), folosind o „cheie de acces” la fiecare trecere. Setul de „chei de acces” pentru toate permisele se numește „program cheie”. De regulă, este creat dintr-o cheie prin efectuarea anumitor operațiuni asupra acesteia, inclusiv permutări și substituții.

O modalitate tipică de a construi algoritmi de criptare simetrică este rețeaua Feistel. Algoritmul construiește o schemă de criptare bazată pe funcția F(D, K), unde D este o bucată de date de jumătate din dimensiunea blocului de criptare, iar K este „cheia de trecere” pentru o anumită trecere. Funcția nu trebuie să fie inversabilă - funcția sa inversă poate fi necunoscută. Avantajele rețelei Feistel sunt coincidența aproape completă a decriptării cu criptarea (singura diferență este ordinea inversă a „cheilor de trecere” în program), ceea ce facilitează foarte mult implementarea hardware.

Operația de permutare amestecă biții de mesaj conform unei anumite legi. În implementările hardware, este implementat trivial ca inversare de fir. Operațiile de permutare fac posibilă obținerea „efectului de avalanșă”. Operația de permutare este liniară - f(a) xor f(b) == f(a xor b)

Operațiile de înlocuire sunt efectuate ca înlocuirea valorii unei părți a mesajului (adesea 4, 6 sau 8 biți) cu un număr standard, cablat în algoritm, prin accesarea unui tablou constant. Operația de substituție introduce neliniaritatea în algoritm.

Adesea, puterea unui algoritm, în special împotriva criptoanalizei diferențiale, depinde de alegerea valorilor din tabelele de căutare (S-boxes). Cel puțin, se consideră nedorit să existe elemente fixe S(x) = x, precum și absența influenței unui bit din octetul de intrare asupra unui bit din rezultat - adică cazurile în care bitul rezultat este același pentru toate perechile de cuvinte de intrare care diferă doar în acest bit.

Figura 1. Tipuri de chei

4. Criptare asimetrică

Un sistem criptografic cu cheie publică (sau criptare asimetrică, cifru asimetric) este un sistem de criptare și/sau semnătură digitală electronică în care cheia publică este transmisă pe un canal deschis (adică neprotejat, observabil) și este utilizată pentru a verifica semnătura digitală. și pentru a cripta mesajul. O cheie secretă este folosită pentru a genera semnătura digitală și a decripta mesajul. Sistemele criptografice cu cheie publică sunt acum utilizate pe scară largă în diferite protocoale de rețea, în special în protocoalele TLS și predecesorul său SSL (care stă la baza HTTPS), în SSH.

Ideea criptografiei cu cheie publică este foarte strâns legată de ideea de funcții unidirecționale, adică funcții despre care se știe că este destul de ușor de găsit valoarea, în timp ce determinarea acesteia este imposibilă într-un timp rezonabil.

Dar funcția unidirecțională în sine este inutilă de utilizat: poate cripta un mesaj, dar nu-l poate decripta. Prin urmare, criptografia cu cheie publică utilizează funcții unidirecționale cu o ușă în spate. O lacună este un fel de secret care ajută la descifrare. Adică, există astfel încât, știind și, se poate calcula. De exemplu, dacă dezasamblați un ceas în mai multe componente, este foarte dificil să reasamblați din nou ceasul. Dar dacă există o instrucțiune de asamblare (lacună), atunci această problemă poate fi rezolvată cu ușurință.

Următorul exemplu vă ajută să înțelegeți ideile și metodele de criptare cu cheie publică - stocarea parolelor pe un computer. Fiecare utilizator din rețea are propria sa parolă. Când se conectează, el își specifică numele și introduce o parolă secretă. Dar dacă stocați o parolă pe discul unui computer, atunci cineva o poate citi (acest lucru este deosebit de ușor pentru administratorul acestui computer) și să obțină acces la informații secrete. Pentru a rezolva problema, se folosește o funcție unidirecțională. La crearea unei parole secrete, nu parola în sine este stocată pe computer, ci rezultatul calculării unei funcții a acestei parole și nume de utilizator. De exemplu, utilizatorul Alice a venit cu parola „Gladiolus”. La salvarea acestor date, se calculează rezultatul funcției (GLADIOlus), să fie rezultatul șirul MUSEEL, care va fi salvat în sistem. Ca rezultat, fișierul cu parole va arăta astfel:


Conectarea acum arată astfel:


Când Alice introduce parola „secretă”, computerul verifică dacă funcția aplicată la GLADIOLUS produce rezultatul corect, MUSETEL, stocat pe discul computerului. Merită să schimbați cel puțin o literă din nume sau parolă, iar rezultatul funcției va fi complet diferit. Parola „secretă” nu este stocată pe computer sub nicio formă. Fișierul cu parole poate fi acum vizualizat de alți utilizatori fără a-și pierde confidențialitatea, deoarece funcția este practic ireversibilă.

Exemplul anterior folosește o funcție unidirecțională fără ușă în spate, deoarece nu este necesară preluarea mesajului original din mesajul criptat. Următorul exemplu examinează o schemă cu capacitatea de a restabili mesajul original utilizând o „trapdoor”, adică informații dificil de accesat. Pentru a cripta textul, puteți lua un director mare de abonați, format din mai multe volume groase (este foarte ușor să găsiți numărul oricărui rezident al orașului care îl folosește, dar este aproape imposibil să găsiți un abonat folosind un număr cunoscut). Pentru fiecare literă din mesajul criptat, este selectat un nume care începe cu aceeași literă. Astfel, scrisoarea este atribuită numărului de telefon al abonatului. Mesajul trimis, de exemplu „BOX”, va fi criptat după cum urmează:

Mesaj

Numele selectat

Criptotext

Kirsanova

Arseniev

Criptotextul va fi un lanț de numere scrise în ordinea în care se află

selecție în director. Pentru a face decodarea mai dificilă, ar trebui să alegeți nume aleatorii care încep cu litera dorită. Astfel, mesajul original poate fi criptat prin mai multe liste diferite de numere (criptotexte).

Exemple de astfel de criptotexte:

Criptotext 1

Criptotext 2

Criptotext 3


Pentru a descifra textul, trebuie să aveți o carte de referință compilată în funcție de numere crescătoare. Acest director este o ușă în spate (un secret care ajută la obținerea textului inițial) cunoscut doar de utilizatorii legali. Fără o copie a directorului în mână, criptoanalistul va petrece mult timp decriptându-l.

Schema de criptare cu cheie publică

Fie spațiul cheii și și cheile de criptare și, respectiv, de decriptare. - funcție de criptare pentru o cheie arbitrară, astfel încât:

Aici , unde este spațiul text cifrat și , unde este spațiul mesajului.

O funcție de decriptare care poate fi utilizată pentru a găsi mesajul original dat textului cifrat:

(: ) este setul de criptare și (: ) este setul de decriptare corespunzător. Fiecare pereche are proprietatea: știind , este imposibil să rezolvi ecuația, adică pentru un anumit text cifrat arbitrar, este imposibil să găsești mesajul. Aceasta înseamnă că este imposibil să se determine cheia de decriptare corespunzătoare din aceste date. este o funcție unidirecțională și este o lacună.

Mai jos este o diagramă a transferului de informații de la persoana A la persoana B. Aceștia pot fi fie indivizi, fie organizații și așa mai departe. Dar pentru o percepție mai ușoară, se obișnuiește să se identifice participanții la program cu persoane denumite cel mai adesea Alice și Bob. Participantul care încearcă să intercepteze și să decripteze mesajele lui Alice și Bob este cel mai adesea numit Eve.

<#"655904.files/image030.gif">și trimite cheia de criptare (cheia publică) către Alice pe un canal public, iar cheia de decriptare (cheia privată) este protejată și secretă (nu trebuie transmisă pe un canal public).

Pentru a trimite un mesaj lui Bob, Alice folosește funcția de criptare definită de cheia publică: , - textul cifrat rezultat.

Bob decriptează textul cifrat folosind transformarea inversă definită în mod unic de valoare.

Baza stiintifica

Cifrurile asimetrice au fost introduse de Whitfield Diffie și Martin Hellman în New Directions in Modern Cryptography, publicat în 1976. Influențați de munca lui Ralph Merkle privind distribuția cheilor publice, ei au propus o metodă de obținere a cheilor private folosind un canal public. Această metodă exponențială de schimb de chei, care a devenit cunoscută sub numele de schimb de chei Diffie-Hellman, a fost prima metodă practică publicată pentru stabilirea partajării cheilor secrete între utilizatorii autentificați ai unui canal. În 2002, Hellman a propus să numească acest algoritm „Diffie-Hellman-Merkle”, recunoscând contribuția lui Merkle la inventarea criptografiei cu cheie publică. Aceeași schemă a fost dezvoltată de Malcolm Williamson în anii 1970, dar a fost ținută secretă până în 1997. Metoda Merkle de distribuire a cheilor publice a fost inventată în 1974 și publicată în 1978, numită și puzzle-ul Merkle.

În 1977, oamenii de știință Ronald Rivest, Adi Shamir și Leonard Adleman de la Massachusetts Institute of Technology au dezvoltat un algoritm de criptare bazat pe problema factorizării. Sistemul a fost numit după primele litere ale numelor lor de familie (RSA - Rivest, Shamir, Adleman). Același sistem a fost inventat în 1973 de Clifford Cox, care lucra la Centrul de Comunicații al Guvernului (GCHQ), dar această lucrare a fost păstrată doar în documentele interne ale centrului, așa că existența sa nu a fost cunoscută până în 1977. RSA a fost primul algoritm potrivit atât pentru criptare, cât și pentru semnătură digitală.

În general, baza cunoscutelor criptosisteme asimetrice este una dintre problemele matematice complexe, care permite construirea de funcții unidirecționale și funcții backdoor. De exemplu, criptosistemele Merkle-Hellman și Hoare-Rivest se bazează pe așa-numita problemă de ambalare a rucsacului.

Principii de bază ale construirii criptosistemelor cu cheie publică

Să începem cu o sarcină dificilă. Ar trebui rezolvat într-un mod complex în sensul teoriei: nu ar trebui să existe un algoritm cu care s-ar putea parcurge toate opțiunile de rezolvare a problemei în timp polinomial raportat la dimensiunea problemei. Ar fi mai corect să spunem: nu ar trebui să existe un algoritm polinom cunoscut care să rezolve această problemă - deoarece nu s-a dovedit încă pentru nicio problemă că nu există în principiu un algoritm potrivit pentru aceasta.

Puteți izola o sarcină secundară ușoară din . Ar trebui rezolvat în timp polinomial și mai bine dacă în timp liniar.

„Shuffle and shake” pentru a obține o problemă complet diferită de cea originală. Problema ar trebui să arate cel puțin ca o problemă grea originală.

Se deschide cu o descriere a modului în care poate fi utilizată ca cheie de criptare. Cum să-l obțineți este ținut secret ca o portiță secretă.

Criptosistemul este organizat astfel încât algoritmii de decriptare pentru un utilizator legal și pentru un criptoanalist să fie semnificativ diferiți. În timp ce al doilea rezolvă problema -, primul folosește o lacună secretă și rezolvă problema -.

Criptografie cu chei publice multiple

Următorul exemplu arată o schemă în care Alice criptează un mesaj astfel încât numai Bob să-l poată citi și, invers, Bob criptează un mesaj astfel încât numai Alice să-l poată decripta.

Să fie 3 chei , , , distribuite așa cum se arată în tabel.

cheie de criptare simetrică

Avantajul acestei scheme este că necesită un singur mesaj și n chei (într-o schemă cu n agenți). Dacă sunt transmise mesaje individuale, adică sunt folosite chei separate pentru fiecare agent (un total de n chei) și fiecare mesaj, atunci sunt necesare chei pentru a transmite mesaje către toate subseturile diferite.

Dezavantajul acestei scheme este că este necesară și difuzarea unui subset de agenți (lista de nume poate fi impresionantă) către care trebuie transmis mesajul. În caz contrar, fiecare dintre ei va trebui să încerce toate combinațiile de taste în căutarea celei potrivite. De asemenea, agenții vor trebui să stocheze o cantitate considerabilă de informații despre chei.

Criptanaliză a algoritmilor cu cheie publică

S-ar părea că un criptosistem cu cheie publică este un sistem ideal care nu necesită un canal securizat pentru a transmite cheia de criptare. Acest lucru ar presupune că doi utilizatori legitimi ar putea comunica printr-un canal deschis fără a se întâlni pentru a schimba cheile. Din păcate, nu este. Figura ilustrează modul în care Eve, acționând ca un interceptător activ, poate deturna un sistem (decripta un mesaj destinat lui Bob) fără a rupe sistemul de criptare.
. Acest lucru evidențiază nevoia de autentificare cu cheie publică. Certificatele sunt de obicei folosite pentru aceasta. Gestionarea cheilor distribuite în PGP rezolvă această problemă cu ajutorul garanților.

O altă formă de atac este calcularea cheii private cunoscând cheia publică (poza de mai jos). Un criptoanalist cunoaște algoritmul de criptare, îl analizează, încearcă să-l găsească. Acest proces este simplificat dacă criptoanalistul a interceptat mai multe criptotexte trimise de persoana A către persoana B.

Figura 4. Criptosistem asimetric cu un interceptător pasiv.

Majoritatea criptosistemelor cu cheie publică se bazează pe problema factorizării numerelor mari. De exemplu, RSA folosește produsul a două numere mari ca cheie publică n. Dificultatea de a pirata un astfel de algoritm constă în dificultatea factorizării numărului n. Dar această problemă poate fi rezolvată în mod realist. Și în fiecare an procesul de descompunere devine din ce în ce mai rapid. Mai jos sunt datele de factorizare folosind algoritmul Quadratic Sieve.


De asemenea, problema de descompunere poate fi rezolvată folosind algoritmul lui Shor folosind un computer cuantic suficient de puternic.

Pentru multe metode de criptare asimetrică, puterea criptografică obținută ca urmare a criptoanalizei diferă semnificativ de valorile revendicate de dezvoltatorii algoritmilor bazați pe estimări teoretice. Prin urmare, în multe țări problema utilizării algoritmilor de criptare a datelor este supusă reglementărilor legislative. În special, în Rusia, numai acele software de criptare a datelor care au trecut certificarea de stat de către autoritățile administrative, în special FSB, sunt permise pentru utilizare în organizațiile guvernamentale și comerciale.

Concluzie

Pe parcursul lucrului asupra temei alese ca parte a practicii educaționale, am realizat: o trecere în revistă a istoriei dezvoltării criptografiei și criptoanalizei; revizuirea analitică a tipurilor existente de algoritmi criptografici (se iau în considerare cifrurile simetrice și asimetrice) și metodele de evaluare a puterii acestora. Sper că dezvoltarea criptografiei va aduce numai beneficii omenirii.

Bibliografie

Gatchin Yu.A., Korobeinikov A.G. Bazele algoritmilor criptografici. Tutorial. - Sankt Petersburg: SPbGITMO (TU), 2002.

Kohn P. Algebră universală. - M.: Mir. - 1968

Korobeinikov A.G. Fundamentele matematice ale criptografiei. Tutorial. Sankt Petersburg: Sankt Petersburg GITMO (TU), 2002.

Schneier B. Criptografia aplicată. Protocoale, algoritmi, texte sursă în limbaj C = Criptografie aplicată. Protocoale, algoritmi și cod sursă în C. - M.: Triumph, 2002.

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL FEDERĂȚIA RUSĂ INSTITUȚIA DE ÎNVĂȚĂMÂNT FEDERALĂ DE STAT DE ÎNVĂȚĂMUL PROFESIONAL SUPERIOR

„UNIVERSITATEA FEDERALĂ DE SUD”

INSTITUTUL TEHNOLOGIC AL UNIVERSITĂȚII FEDERALE DE SUD DIN TAGANROG Facultatea de Securitate Informațională Departamentul BIT Rezumat pe tema

„Criptografie și tipuri de criptare”

Artă. gr. I-21

Completat de: V. I. Mishchenko Verificat de: E. A. Maro Taganrog - 2012

Introducere

1. Istoria criptografiei

1.1 Apariția cifrurilor

1.2 Evoluția criptografiei

2. Criptanaliză

2.1 Caracteristici mesaje

2.2 Proprietăți ale textului natural

2.3 Criterii de determinare a naturaleței

3. Criptare simetrică

4. Criptare asimetrică

Concluzie

Introducere Ca parte a practicii mele educaționale, am ales subiectul „Criptografie și tipuri de criptare”. În timpul lucrărilor, au fost luate în considerare aspecte precum istoria criptografiei, evoluția acesteia și tipurile de criptare. Am efectuat o revizuire a algoritmilor de criptare existenți, în urma căreia se poate observa că umanitatea nu stă pe loc și vine în mod constant cu diverse modalități de stocare și protejare a informațiilor.

Problema protejării informațiilor valoroase prin modificarea acestora pentru a preveni citirea lor de către o persoană necunoscută a îngrijorat cele mai bune minți umane încă din cele mai vechi timpuri. Istoria criptării are aproape aceeași vârstă cu istoria vorbirii umane. În plus, scrisul în sine a fost inițial un sistem criptografic, deoarece în societățile antice doar câțiva aleși dețineau astfel de cunoștințe. Manuscrisele sacre ale diferitelor state antice sunt exemple în acest sens.

De când scrisul s-a răspândit, criptografiile a început să devină o știință complet independentă. Primele sisteme criptografice pot fi găsite deja la începutul erei noastre. De exemplu, Iulius Caesar a folosit un cifru sistematic în corespondența sa personală, care mai târziu a fost numit după el.
Sistemele de criptare au primit o dezvoltare serioasă în timpul Primului și al Doilea Război Mondial. De la începutul erei postbelice și până în zilele noastre, apariția dispozitivelor moderne de calcul a accelerat crearea și îmbunătățirea metodelor de criptare.
De ce problema utilizării metodelor de criptare în sistemele informatice (CS) a devenit deosebit de relevantă în epoca noastră?
În primul rând, s-a extins domeniul de aplicare al rețelelor de calculatoare, precum World Wide Web, cu ajutorul cărora sunt transmise volume uriașe de informații de natură statală, militară, comercială și personală, făcând imposibil accesul terților. aceasta.
În al doilea rând, apariția computerelor moderne super-puternice, a tehnologiilor avansate de rețea și de calcul neuronal fac posibilă discreditarea sistemelor de criptare care chiar ieri erau considerate complet sigure.

1. Istoria criptografiei Odată cu apariția civilizației umane, a apărut nevoia de a transfera informațiile către oamenii potriviți, astfel încât să nu devină cunoscute străinilor. La început, oamenii foloseau doar vocea și gesturile pentru a difuza mesaje.

Odată cu apariția scrisului, problema asigurării secretului și autenticității mesajelor difuzate a devenit deosebit de importantă. În consecință, după invenția scrisului a apărut arta criptografiei, o metodă de „scriere secretă” – un set de tehnici concepute pentru a transmite în secret mesaje înregistrate de la un insider la altul.

Omenirea a venit cu un număr considerabil de tehnologii secrete de scriere, în special, cerneală simpatică care dispare la scurt timp după scrierea unui text sau este invizibilă de la început, „dizolvarea” informațiilor valoroase într-un text mare cu o semnificație complet „străină”. , pregătirea mesajelor folosind simboluri ciudate de neînțeles.

Criptarea a apărut tocmai ca un subiect practic care studiază și dezvoltă metode de criptare a informațiilor, adică la transferul mesajelor - nu ascund faptul transmiterii, ci făcând textul mesajului inaccesibil citirii de către neinițiați. În acest scop, textul mesajului trebuie scris în așa fel încât nimeni, cu excepția destinatarilor înșiși, să se poată familiariza cu conținutul acestuia.

Apariția primelor computere la mijlocul secolului al XX-lea a schimbat foarte mult situația - criptarea practică a făcut un salt uriaș în dezvoltarea sa, iar termenul „criptografie” s-a îndepărtat semnificativ de sensul său original - „scriere secretă”, „scriere secretă”. În prezent, acest subiect combină metode de protejare a informațiilor de natură complet eterogenă, bazate pe transformarea datelor folosind algoritmi secreti, inclusiv algoritmi care folosesc diverși parametri secreti.

1.1 Apariția cifrurilor Unele dintre sistemele criptografice au ajuns la noi din cele mai vechi timpuri. Cel mai probabil s-au născut concomitent cu scrierea în mileniul IV î.Hr. Metodele de corespondență secretă au fost inventate independent în multe state antice, cum ar fi Egipt, Grecia și Japonia, dar compoziția detaliată a criptologiei în ele este acum necunoscută. Criptogramele pot fi găsite chiar și în cele mai vechi timpuri, deși datorită scrierii ideografice folosite în lumea antică sub formă de pictograme stilizate, acestea erau destul de primitive. Se pare că sumerienii au folosit arta scrisului secret.

Arheologii au găsit o serie de tăblițe cuneiforme de lut, în care prima intrare era adesea acoperită cu un strat gros de lut, pe care se făcea a doua intrare. Apariția unor astfel de tablete ciudate ar putea fi justificată atât prin scrierea secretă, cât și prin reciclare. Deoarece numărul de caractere din scrierea ideografică a numărat mai mult de o mie, memorarea lor a fost o sarcină destul de dificilă - nu a fost timp pentru criptare. Cu toate acestea, codurile, care apăreau în același timp cu dicționarele, erau foarte familiare în Babilon și statul asirian, iar egiptenii antici foloseau cel puțin trei sisteme de criptare. Odată cu originea scrierii fonetice, scrierea a devenit imediat mai simplă. În vechiul alfabet semitic din mileniul II î.Hr. existau doar aproximativ 30 de caractere. Ele desemnau consoane, precum și unele sunete vocale și silabe. Simplificarea scrisului a dus la dezvoltarea criptografiei și a criptării.

Chiar și în cărțile Bibliei putem găsi exemple de criptare, deși aproape nimeni nu le observă. În cartea profetului Ieremia (22.23) citim: „... și împăratul Sessacului va bea după ei”. Acest rege și acest regat nu au existat - este chiar greșeala autorului? Nu, doar că uneori manuscrisele evreiești sacre erau criptate folosind înlocuirea obișnuită. În loc de prima literă a alfabetului, au scris-o pe ultima, în loc de a doua - penultima și așa mai departe. Această metodă veche de criptografie se numește atbash. Citind cu ajutorul lui cuvântul SESAH, în limba originală avem cuvântul BABILON, iar întregul sens al manuscrisului biblic poate fi înțeles chiar și de cei care nu cred orbește în adevărul scripturii.

1.2 Evoluția criptografiei Dezvoltarea criptării în secolul al XX-lea a fost foarte rapidă, dar complet inegală. Privind istoria dezvoltării sale ca domeniu specific al activității umane, putem distinge trei perioade fundamentale.

Elementar. S-a ocupat doar de cifrurile manuale. A început în cele mai vechi timpuri și s-a încheiat abia la sfârșitul anilor treizeci ai secolului al XX-lea. În acest timp, scrisul secret a parcurs un drum lung de la arta magică a preoților preistorici până la profesia de zi cu zi a lucrătorilor agenției secrete.

Perioada ulterioară poate fi marcată de crearea și introducerea pe scară largă în practică a dispozitivelor de criptare mecanice, apoi electromecanice și, în final, electronice, crearea de rețele întregi de comunicații criptate.

Nașterea celei de-a treia perioade în dezvoltarea criptării este de obicei considerată a fi 1976, în care matematicienii americani Diffie și Hellman au inventat o modalitate fundamental nouă de organizare a comunicațiilor criptate care nu necesita furnizarea prealabilă a abonaților cu chei secrete - așa-numita criptare cu cheie publică. Ca urmare a acestui fapt, au început să apară sisteme de criptare bazate pe metoda inventată încă din anii 40 de Shannon. El a propus crearea unui cifr în așa fel încât decriptarea lui să fie echivalentă cu rezolvarea unei probleme matematice complexe care necesita calcule care să depășească capacitățile sistemelor informatice moderne. Această perioadă de dezvoltare a criptării se caracterizează prin apariția sistemelor de comunicații criptate complet automatizate, în care orice utilizator deține parola personală pentru verificare, o stochează, de exemplu, pe o cartelă magnetică sau în altă parte și o prezintă atunci când autorizează în sistem. , iar totul se întâmplă automat.

2. Criptanaliză Există un decalaj uriaș între metodele de criptare manuale și computerizate. Cifrurile de mână sunt foarte variate și pot fi cele mai surprinzătoare. În plus, mesajele pe care le criptează sunt destul de laconice și scurte. Prin urmare, hacking-ul lor este mult mai eficient de către oameni decât de către mașini. Cifrurile computerizate sunt mai stereotipe, foarte complexe din punct de vedere matematic și sunt concepute pentru a cripta mesaje de lungime destul de semnificativă. Desigur, nici nu ar trebui să încercați să le rezolvați manual. Cu toate acestea, și în acest domeniu, criptoanalistii joacă un rol principal, fiind comandanții unui atac criptografic, în ciuda faptului că bătălia în sine este dusă doar de hardware și software. Subestimarea acestui fenomen a dus la fiasco-ul cifrurilor mașinilor de cifrat Enigma în timpul celui de-al Doilea Război Mondial.

Tipul de criptare și limbajul mesajului sunt aproape întotdeauna cunoscute. Ele pot fi sugerate de alfabetul și caracteristicile statistice ale criptografiei. Cu toate acestea, informațiile despre limbajul și tipul de cifrare sunt adesea obținute din surse de informații. Această situație este un pic ca spargerea unui seif: chiar dacă „spărgătorul” nu cunoaște dinainte designul seifului piratat, ceea ce pare destul de puțin probabil, îl identifică totuși rapid după aspectul său, sigla companiei. În acest sens, necunoscutul este doar cheia care trebuie dezlegată. Dificultatea constă în faptul că, așa cum nu toate bolile pot fi vindecate cu același medicament și fiecare dintre ele are propriile mijloace specifice, astfel încât anumite tipuri de cifruri pot fi sparte numai prin metodele proprii.

2.1 Caracteristicile mesajelor Mesajele, oricât de complexe ar fi, sunt foarte posibil de imaginat sub forma unei anumite ordini de simboluri. Aceste simboluri trebuie luate dintr-un set prefixat, de exemplu, din alfabetul rus sau dintr-o paletă de culori (roșu, galben, verde). În mesaje pot apărea caractere diferite la frecvențe diferite. În acest sens, cantitatea de informații transmise prin diferite simboluri poate fi diferită. În înțelegerea propusă de Shannon, cantitatea de informații este determinată de valoarea medie a numărului de întrebări posibile cu opțiuni de răspuns DA și NU pentru a prezice caracterul ulterior din mesaj. Dacă caracterele din text sunt aranjate într-o secvență care este independentă unele de altele, atunci cantitatea medie de informații dintr-un astfel de mesaj pe caracter este egală cu:

unde Pi este frecvența de apariție a semnului i și Ld este logaritmul binar. Trei fenomene ale acestei distribuții de informații trebuie remarcate.

Este complet independent de semantică, de sensul mesajului și poate fi folosit chiar și într-o situație în care sensul exact nu este complet clar. Implică faptul că probabilitatea manifestării simbolurilor nu depinde de istoria lor preliminară.

Este cunoscut dinainte sistemul simbolic în care este transmis mesajul, adică limba și metoda de criptare.

În ce unități se măsoară volumul de informații conform lui Shannon? Răspunsul cel mai precis la o astfel de întrebare poate fi dat de o teoremă de criptare, care afirmă că orice mesaj poate fi criptat cu simbolurile 0 și 1 în așa fel încât volumul de informații rezultat să fie arbitrar apropiat de sus de H. Acest lucru teorema ne permite să specificăm unitatea de informație - aceasta este un pic.

2.2 Proprietățile textului natural Acum să luăm în considerare vizual o modalitate de a aplica cunoștințele despre proprietățile textului natural pentru nevoile de criptare. Este necesar să se determine dintr-o bucată de text ce este - un mesaj care poartă o încărcare semantică sau doar o secvență de caractere aleatorii. O serie de metode de criptare trebuie să fie sparte pe un computer prin simpla forță brută a cheilor, dar încercarea manuală a peste o mie de bucăți de text pe zi este pur și simplu imposibilă, iar viteza forței brute este foarte mică. În acest sens, este necesar să implementați o astfel de sarcină folosind un computer.

Să presupunem că trebuie să sortăm aproximativ un miliard de chei pe un computer cu o viteză de o mie de taste pe secundă. Acest lucru ne va dura aproximativ zece zile. În acest caz, riscăm să cădem în două extreme. Dacă suntem prea atenți în evaluările noastre, unele dintre fragmentele de text fără sens vor fi identificate ca mesaje și returnate persoanei. Această eroare este cel mai adesea numită „alarma falsă” sau eroare de tip I.

Cu volumul unor astfel de erori depășind o mie pe zi, o persoană care stă la computer va obosi și poate verifica ulterior fragmente de text cu neatenție. Aceasta înseamnă că este posibil să nu faci mai mult de o eroare de acest fel la 100.000 de verificări. La cealaltă extremă, dacă abordați cu neatenție cecul, atunci este foarte posibil să pierdeți un text semnificativ și la sfârșitul căutării complete va trebui să îl repetați din nou. Pentru a nu risca să fie repetat întreaga cantitate de muncă, erorile de al doilea tip, numite și „omisiuni ale unui fragment”, pot fi făcute doar într-un caz din 100 sau 1000.

2.3 Criterii de determinare a naturaleței Cel mai simplu criteriu care poate veni în minte la prima vedere este folosirea alfabetului fragmentului de mesaj. Având în vedere că teoretic numai semne de punctuație, numere și litere rusești mari și mici pot fi găsite în el, nu mai mult de jumătate din setul de tabel de cod ASCII poate fi găsit în textul unui fragment de mesaj.

Aceasta înseamnă că dacă întâlnești un semn inacceptabil într-o bucată de text, computerul poate declara cu siguranță că nu are sens - erorile de al doilea tip sunt practic excluse dacă canalul de comunicare funcționează bine.

Pentru a reduce posibilitatea teoretică a „alarmelor false” la valoarea indicată în articolul precedent, este nevoie ca fragmentul de mesaj să fie format din cel puțin douăzeci și trei de caractere. Întrebarea devine mai complicată dacă codul de litere folosit nu este redundant, ca reprezentarea ASCII a textului rusesc, dar conține exact atâtea caractere câte sunt în alfabet.

În acest caz, va trebui să introducem o evaluare bazată pe posibilitățile teoretice ale personajelor care se încadrează în text. Pentru a asigura posibilitățile acceptate de erori de primul și al doilea tip, la evaluarea probabilității maxime posibile, este necesar să se analizeze aproximativ 100 de caractere, iar analiza posibilității de întâlnire a bigramelor reduce doar puțin această valoare.

Prin urmare, fragmentele scurte de mesaje cu o valoare cheie mare sunt practic imposibil de decodat fără ambiguitate, deoarece fragmentele aleatorii de text care apar pot coincide foarte bine cu fraze semnificative. Aceeași problemă trebuie rezolvată la monitorizarea calității criptografiei. În acest caz, însă, posibilitatea unei alarme false poate fi mărită făcând-o să nu depășească o miime, cu aceeași posibilitate de a ignora un fragment din mesaj. Acest lucru ne va permite să ne limităm la doar douăzeci până la treizeci de caractere pentru verificarea textelor.

3. Criptare simetrică Criptosistemele simetrice (de asemenea criptarea simetrică, cifrurile simetrice) sunt o metodă de criptare în care aceeași cheie criptografică este utilizată pentru criptare și decriptare. Înainte de inventarea schemei de criptare asimetrică, singura metodă care exista a fost criptarea simetrică. Cheia algoritmului trebuie ținută secretă de ambele părți. Algoritmul de criptare este selectat de către părți înainte de începerea schimbului de mesaje.

În prezent, cifrurile simetrice sunt:

Cifre bloc. Ei procesează informații în blocuri de o anumită lungime (de obicei 64, 128 de biți), aplicând o cheie blocului într-o ordine prescrisă, de obicei prin mai multe cicluri de amestecare și înlocuire, numite runde. Rezultatul repetării rundelor este un efect de avalanșă - o pierdere tot mai mare a corespondenței biților între blocurile de date simple și criptate.

Cifrare în flux, în care criptarea este efectuată pe fiecare bit sau octet al textului original (plat) folosind gamma. Un cifr de flux poate fi creat cu ușurință pe baza unui cifr de bloc (de exemplu, GOST 28 147-89 în modul gamma), lansat într-un mod special.

Majoritatea cifrurilor simetrice folosesc o combinație complexă de un număr mare de substituții și permutări. Multe astfel de cifruri sunt executate în mai multe treceri (uneori până la 80), folosind o „cheie de acces” la fiecare trecere. Setul de „chei de acces” pentru toate permisele se numește „program cheie”. De regulă, este creat dintr-o cheie prin efectuarea anumitor operațiuni asupra acesteia, inclusiv permutări și substituții.

O modalitate tipică de a construi algoritmi de criptare simetrică este rețeaua Feistel. Algoritmul construiește o schemă de criptare bazată pe funcția F (D, K), unde D este o bucată de date de jumătate din dimensiunea blocului de criptare, iar K este „cheia de trecere” pentru o anumită trecere. O funcție nu trebuie să fie inversabilă; este posibil ca funcția sa inversă să nu fie cunoscută. Avantajele rețelei Feistel sunt coincidența aproape completă a decriptării cu criptarea (singura diferență este ordinea inversă a „cheilor de trecere” în program), ceea ce facilitează foarte mult implementarea hardware.

Operația de permutare amestecă biții de mesaj conform unei anumite legi. În implementările hardware, este implementat trivial ca inversare de fir. Operațiile de permutare fac posibilă obținerea „efectului de avalanșă”. Operația de permutare este liniară -- f (a) xor f (b) == f (a xor b)

Operațiile de înlocuire sunt efectuate ca înlocuirea valorii unei părți a mesajului (adesea 4, 6 sau 8 biți) cu un număr standard, cablat în algoritm, prin accesarea unui tablou constant. Operația de substituție introduce neliniaritatea în algoritm.

Adesea, puterea unui algoritm, în special împotriva criptoanalizei diferențiale, depinde de alegerea valorilor din tabelele de căutare (S-boxes). Cel puțin, se consideră nedorit să existe elemente fixe S (x) = x, precum și absența influenței unui bit din octetul de intrare asupra unui bit din rezultat - adică cazurile în care bitul rezultat este același pentru toate perechile de cuvinte de intrare care diferă numai în acest liliac.

Figura 1. Tipuri de chei

4. Criptare asimetrică Un sistem criptografic cu cheie publică (sau criptare asimetrică, cifru asimetric) este un sistem de criptare și/sau semnătură digitală electronică în care cheia publică este transmisă pe un canal deschis (adică neprotejat, observabil) și este utilizată pentru verifica semnătura digitală și pentru a cripta mesajul. O cheie secretă este folosită pentru a genera semnătura digitală și a decripta mesajul. Sistemele criptografice cu cheie publică sunt acum utilizate pe scară largă în diferite protocoale de rețea, în special în protocoalele TLS și predecesorul său SSL (care stă la baza HTTPS), în SSH.

Ideea criptografiei cu cheie publică este foarte strâns legată de ideea de funcții unidirecționale, adică funcții despre care se știe că este destul de ușor de găsit valoarea, în timp ce determinarea din este imposibilă într-un timp rezonabil.

Dar funcția unidirecțională în sine este inutilă de utilizat: poate cripta un mesaj, dar nu-l poate decripta. Prin urmare, criptografia cu cheie publică utilizează funcții unidirecționale cu o ușă în spate. O lacună este un fel de secret care ajută la descifrare. Adică există unul care, știind și, poate fi calculat. De exemplu, dacă dezasamblați un ceas în mai multe componente, este foarte dificil să reasamblați din nou ceasul.

Următorul exemplu vă ajută să înțelegeți ideile și metodele de criptare cu cheie publică - stocarea parolelor pe un computer. Fiecare utilizator din rețea are propria sa parolă. Când se conectează, el își specifică numele și introduce o parolă secretă. Dar dacă stocați o parolă pe discul unui computer, atunci cineva o poate citi (acest lucru este deosebit de ușor pentru administratorul acestui computer) și să obțină acces la informații secrete. Pentru a rezolva problema, se folosește o funcție unidirecțională. La crearea unei parole secrete, nu parola în sine este stocată pe computer, ci rezultatul calculării unei funcții a acestei parole și nume de utilizator. De exemplu, utilizatorul Alice a venit cu parola „Gladiolus”. La salvarea acestor date, se calculează rezultatul funcției (GLADIOlus), să fie rezultatul șirul MUSEEL, care va fi salvat în sistem. Ca rezultat, fișierul cu parole va arăta astfel:

Conectarea acum arată astfel:

Când Alice introduce parola „secretă”, computerul verifică dacă funcția aplicată la GLADIOLUS produce rezultatul corect, MUSETEL, stocat pe discul computerului. Merită să schimbați cel puțin o literă din nume sau parolă, iar rezultatul funcției va fi complet diferit. Parola „secretă” nu este stocată pe computer sub nicio formă. Fișierul cu parole poate fi acum vizualizat de alți utilizatori fără a-și pierde confidențialitatea, deoarece funcția este practic ireversibilă.

Exemplul anterior folosește o funcție unidirecțională fără ușă în spate, deoarece nu este necesară preluarea mesajului original din mesajul criptat. Următorul exemplu examinează o schemă cu capacitatea de a restabili mesajul original utilizând o „trapdoor”, adică informații dificil de accesat. Pentru a cripta textul, puteți lua un director mare de abonați, format din mai multe volume groase (este foarte ușor să găsiți numărul oricărui rezident al orașului care îl folosește, dar este aproape imposibil să găsiți un abonat folosind un număr cunoscut). Pentru fiecare literă din mesajul criptat, este selectat un nume care începe cu aceeași literă. Astfel, scrisoarea este atribuită numărului de telefon al abonatului. Mesajul trimis, de exemplu „BOX”, va fi criptat după cum urmează:

Mesaj

Numele selectat

Criptotext

Kirsanova

Arseniev

Criptotextul va fi un lanț de numere scrise în ordinea în care au fost selectate în director. Pentru a face decodarea mai dificilă, ar trebui să alegeți nume aleatorii care încep cu litera dorită. Astfel, mesajul original poate fi criptat prin mai multe liste diferite de numere (criptotexte).

Exemple de astfel de criptotexte:

Criptotext 1

Criptotext 2

Criptotext 3

Pentru a descifra textul, trebuie să aveți o carte de referință compilată în funcție de numere crescătoare. Acest director este o ușă în spate (un secret care ajută la obținerea textului inițial) cunoscut doar de utilizatorii legali. Fără o copie a directorului în mână, criptoanalistul va petrece mult timp decriptându-l.

Schema de criptare a cheii publice Fie spațiul cheii și, respectiv, cheile de criptare și de decriptare. -- funcție de criptare pentru o cheie arbitrară, astfel încât:

Aici, unde este spațiul text cifrat și unde este spațiul mesajului.

Funcția de decriptare, cu ajutorul căreia puteți găsi mesajul original, cunoscând textul cifrat:

(: ) este setul de criptare și (: ) este setul de decriptare corespunzător. Fiecare pereche are proprietatea: știind, este imposibil să rezolvi ecuația, adică pentru un anumit text cifrat arbitrar, este imposibil să găsești mesajul. Aceasta înseamnă că este imposibil să se determine cheia de decriptare corespunzătoare din aceste date. este o funcție unidirecțională și este o lacună.

Mai jos este o diagramă a transferului de informații de la persoana A la persoana B. Aceștia pot fi fie indivizi, fie organizații și așa mai departe. Dar pentru o percepție mai ușoară, se obișnuiește să se identifice participanții la program cu persoane denumite cel mai adesea Alice și Bob. Participantul care încearcă să intercepteze și să decripteze mesajele lui Alice și Bob este cel mai adesea numit Eve.

Figura 2. Criptare asimetrică Bob selectează o pereche și îi trimite lui Alice cheia de criptare (cheie publică) pe un canal public, dar cheia de decriptare (cheie privată) este protejată și secretă (nu trebuie trimisă pe un canal public).

Pentru a trimite un mesaj lui Bob, Alice folosește funcția de criptare definită de cheia publică:, -- textul cifrat rezultat.

Bob decriptează textul cifrat folosind transformarea inversă unică a valorii.

Context științific Cifrurile asimetrice au început cu lucrarea „New Directions in Modern Cryptography” de Whitfield Diffie și Martin Hellman, publicată în 1976. Influențați de munca lui Ralph Merkle privind distribuția cheilor publice, ei au propus o metodă de obținere a cheilor private folosind un canal public. Această metodă de schimb de chei exponențial, care a devenit cunoscută sub numele de schimb de chei Diffie-Hellman, a fost prima metodă practică publicată pentru stabilirea partajării cheilor secrete între utilizatorii autentificați ai unui canal. În 2002, Hellman a propus să numească acest algoritm „Diffie-Hellman-Merkle”, recunoscând contribuția lui Merkle la inventarea criptografiei cu cheie publică. Aceeași schemă a fost dezvoltată de Malcolm Williamson în anii 1970, dar a fost ținută secretă până în 1997. Metoda Merkle de distribuire a cheilor publice a fost inventată în 1974 și publicată în 1978, numită și puzzle-ul Merkle.

În 1977, oamenii de știință Ronald Rivest, Adi Shamir și Leonard Adleman de la Massachusetts Institute of Technology au dezvoltat un algoritm de criptare bazat pe problema factorizării. Sistemul a fost numit după primele litere ale numelor lor de familie (RSA - Rivest, Shamir, Adleman). Același sistem a fost inventat în 1973 de Clifford Cox, care lucra la Centrul de Comunicații al Guvernului (GCHQ), dar această lucrare a fost păstrată doar în documentele interne ale centrului, așa că existența sa nu a fost cunoscută până în 1977. RSA a fost primul algoritm potrivit atât pentru criptare, cât și pentru semnătură digitală.

În general, baza cunoscutelor criptosisteme asimetrice este una dintre problemele matematice complexe, care permite construirea de funcții unidirecționale și funcții backdoor. De exemplu, criptosistemele Merkle-Hellman și Hoare-Rivest se bazează pe așa-numita problemă de ambalare a rucsacului.

Principii de bază pentru construirea criptosistemelor cu cheie publică Să începem cu o sarcină dificilă. Ar trebui rezolvat într-un mod complex în sensul teoriei: nu ar trebui să existe un algoritm cu care s-ar putea parcurge toate opțiunile de rezolvare a problemei în timp polinomial raportat la dimensiunea problemei. Ar fi mai corect să spunem: nu ar trebui să existe un algoritm polinom cunoscut care să rezolve această problemă - deoarece nu s-a dovedit încă pentru nicio problemă că nu există în principiu un algoritm potrivit pentru aceasta.

Puteți selecta o sarcină secundară ușoară din. Ar trebui rezolvat în timp polinomial și mai bine dacă în timp liniar.

„Shuffle and shake” pentru a crea o problemă care este complet diferită de cea originală. Problema ar trebui să arate cel puțin ca o problemă originală greu de rezolvat.

se deschide cu o descriere a modului în care poate fi utilizat ca cheie de criptare. Cum să-l obțineți este ținut secret ca o portiță secretă.

Criptosistemul este organizat astfel încât algoritmii de decriptare pentru un utilizator legal și pentru un criptoanalist să fie semnificativ diferiți. În timp ce al doilea rezolvă problema -, primul folosește o lacună secretă și rezolvă problema -.

Criptografie cu chei publice multiple Următorul exemplu arată o schemă în care Alice criptează un mesaj astfel încât numai Bob să-l poată citi și, invers, Bob criptează un mesaj astfel încât numai Alice să-l poată decripta.

Să fie 3 chei distribuite așa cum se arată în tabel.

cheie de criptare simetrică

Apoi Alice poate cripta mesajul cu cheia, iar Ellen îl poate decripta cu cheile, Carol îl poate cripta cu cheia, iar Dave îl poate decripta cu cheile. Dacă Dave criptează mesajul cu cheia, atunci Ellen poate citi mesajul, dacă cu cheia, atunci Frank îl poate citi, dar dacă cu ambele chei și, atunci Carol va citi mesajul. Alți participanți acționează în mod similar. Astfel, dacă un subset de chei este utilizat pentru criptare, atunci cheile rămase din set sunt necesare pentru decriptare. Această schemă poate fi utilizată pentru n chei.

Acum puteți trimite mesaje către grupuri de agenți fără a cunoaște în prealabil compoziția grupului.

Să luăm mai întâi în considerare un set format din trei agenți: Alice, Bob și Carol. Alice i se dau cheile și, Bob - și, Carol - și. Acum, dacă mesajul trimis este criptat cu o cheie, atunci numai Alice îl poate citi, folosind secvențial cheile și. Dacă vrei să-i trimiți un mesaj lui Bob, mesajul este criptat cu o cheie, Carol - cu o cheie. Dacă trebuie să trimiteți un mesaj atât lui Alice, cât și lui Carol, atunci cheile și sunt folosite pentru criptare.

Avantajul acestei scheme este că necesită un singur mesaj și n chei (într-o schemă cu n agenți). Dacă sunt transmise mesaje individuale, adică sunt folosite chei separate pentru fiecare agent (un total de n chei) și fiecare mesaj, atunci sunt necesare chei pentru a transmite mesaje către toate subseturile diferite.

Dezavantajul acestei scheme este că este necesară și difuzarea unui subset de agenți (lista de nume poate fi impresionantă) către care trebuie transmis mesajul. În caz contrar, fiecare dintre ei va trebui să încerce toate combinațiile de taste în căutarea celei potrivite. De asemenea, agenții vor trebui să stocheze o cantitate considerabilă de informații despre chei.

Criptanaliza algoritmilor cu cheie publică S-ar părea că un criptosistem cu cheie publică este un sistem ideal care nu necesită un canal securizat pentru transmiterea cheii de criptare. Acest lucru ar presupune că doi utilizatori legitimi ar putea comunica printr-un canal deschis fără a se întâlni pentru a schimba cheile. Din păcate, nu este. Figura ilustrează modul în care Eve, acționând ca un interceptător activ, poate deturna un sistem (decripta un mesaj destinat lui Bob) fără a rupe sistemul de criptare.

Figura 3. Criptosistem cu cheie publică cu interceptare activ În acest model, Eve interceptează cheia publică trimisă de Bob către Alice. Apoi creează o pereche de chei și se „mascarează” ca Bob, trimițându-i Alicei o cheie publică despre care Alice o crede că este cheia publică trimisă de Bob. Eve interceptează mesajele criptate de la Alice către Bob, le decriptează folosind cheia privată, le re-criptează cu cheia publică a lui Bob și îi trimite mesajul lui Bob. Astfel, niciunul dintre participanți nu realizează că există o terță parte care poate fie pur și simplu să intercepteze mesajul, fie să-l înlocuiască cu un mesaj fals. Acest lucru evidențiază nevoia de autentificare cu cheie publică. Certificatele sunt de obicei folosite pentru aceasta. Gestionarea cheilor distribuite în PGP rezolvă această problemă cu ajutorul garanților.

O altă formă de atac este calcularea cheii private, cunoscând cheia publică (figura de mai jos). Un criptoanalist cunoaște algoritmul de criptare, îl analizează, încearcă să-l găsească. Acest proces este simplificat dacă criptoanalistul a interceptat mai multe criptotexte trimise de persoana A către persoana B.

Figura 4. Criptosistem asimetric cu interceptare pasiv.

Majoritatea criptosistemelor cu cheie publică se bazează pe problema factorizării numerelor mari. De exemplu, RSA folosește produsul a două numere mari ca cheie publică n. Dificultatea de a pirata un astfel de algoritm constă în dificultatea factorizării numărului n. Dar această problemă poate fi rezolvată în mod realist. Și în fiecare an procesul de descompunere devine din ce în ce mai rapid. Mai jos sunt datele de factorizare folosind algoritmul Quadratic Sieve.

De asemenea, problema de descompunere poate fi rezolvată folosind algoritmul lui Shor folosind un computer cuantic suficient de puternic.

Pentru multe metode de criptare asimetrică, puterea criptografică obținută ca urmare a criptoanalizei diferă semnificativ de valorile revendicate de dezvoltatorii algoritmilor bazați pe estimări teoretice. Prin urmare, în multe țări problema utilizării algoritmilor de criptare a datelor este supusă reglementărilor legislative. În special, în Rusia, numai acele software de criptare a datelor care au trecut certificarea de stat de către autoritățile administrative, în special FSB, sunt permise pentru utilizare în organizațiile guvernamentale și comerciale.

Concluzie Pe parcursul lucrului asupra temei alese ca parte a practicii educaționale, am realizat: o trecere în revistă a istoriei dezvoltării criptografiei și criptoanalizei; revizuirea analitică a tipurilor existente de algoritmi criptografici (se iau în considerare cifrurile simetrice și asimetrice) și metodele de evaluare a puterii acestora. Sper că dezvoltarea criptografiei va aduce numai beneficii omenirii.

Referințe Gatchin Yu A., Korobeinikov A. G. Fundamentele algoritmilor criptografici. Tutorial. - Sankt Petersburg: SPbGITMO (TU), 2002.

Kohn P. Algebră universală. — M.: Mir. — 1968

Korobeinikov A.G. Fundamentele matematice ale criptografiei. Tutorial. Sankt Petersburg: Sankt Petersburg GITMO (TU), 2002.

Schneier B. Criptografia aplicată. Protocoale, algoritmi, texte sursă în limbaj C = Criptografie aplicată. Protocoale, algoritmi și cod sursă în C. - M.: Triumph, 2002.

Constă din următoarele. Fiecare literă a mesajului este înlocuită cu alta, care în alfabetul rus este la trei poziții mai departe de cea originală. Astfel, litera A este înlocuită cu G, B cu D și așa mai departe până la litera b, care a fost înlocuită cu I, apoi E cu A, Yu cu B și, în final, I cu B.

ABVGDEYZHZIYKLMNOPRSTUFHTSCHSHSHSHYYYYUYA Lista 1.1. Alfabetul original

Tabelul 1.1. Enumerarea opțiunilor pentru a găsi o cheie folosind metoda Caesar
Criptograma interceptată CHSYUEYU
1 SHTAYUYAY 17 APEL
2 DE CE 18 IGPOPL
3 JFBABE 19 YDRPRM
4 YHVBVYU 20 KESRSN
5 LTSGVGYA 21 VARĂ
6 ECHDGDA 22 MZHUTUP
7 YUSHEDEB 23 NZFUFR
8 IASCHIEEV 24 OIHFHS
9 АЪжЁжГ 25 PYTSHCT
10 BYZZZZD 26 RKCHTSCHU
11 VISIE 27 SLSHCHSHF
12 GEYYYO 28 TMSHSHSHCHH
13 DYUKYKZH 29 UNISC
14 EYALKLZ 30 FOYYCH
15 YOAMLMI 31 HPIYSH
16 Zhbnmny 32 TsREESCH

Vedem că singurul cuvânt care are sens este Apel. Acest cuvânt este pe locul 17. Prin urmare, dacă textul cifrat este deplasat înainte cu 17 poziții, rezultatul este text simplu. Aceasta înseamnă că pentru a obține textul cifrat, textul clar trebuie deplasat cu (33-17)=16 poziții. Astfel, am constatat că cheia de criptare este n=16.

Deoarece nicio altă schimbare nu a produs un mesaj semnificativ, atunci, cel mai probabil, am descifrat corect acest mesaj. Această ipoteză despre unicitatea soluției este destul de justificată atunci când mesajul original este compus într-una dintre limbile naturale (în exemplul luat în considerare, rusă) și conține mai mult de cinci sau șase caractere. Dar dacă mesajul este foarte scurt, pot exista mai multe soluții posibile. Singura soluție este și foarte greu de găsit dacă mesajul original constă, de exemplu, din numere.

Deci, de exemplu, alfabetul original este format din cifre arabe, adică are forma

0 1 2 3 4 5 6 7 8 9.

Unul dintre abonați dorește să-i trimită celuilalt un cod secret de blocare, format din cinci numere și egal cu 12345. Expeditorul și destinatarul au convenit în prealabil că cheia de criptare n va fi egală cu 3. Expeditorul criptează mesajul original 12345 cu cheia selectată, primește 45678 și transmite valoarea primită către abonatul său. Este posibil ca inamicul să intercepteze criptograma și să încerce să o spargă folosind metoda forței brute, ca înainte. Deoarece alfabetul original era format din 10 caractere, valoarea cheii poate fi cuprinsă între 1 și 9. Să notăm, ca și mai înainte, toate opțiunile care se obțin prin deplasarea fiecărui caracter al mesajului interceptat cu 1, 2, 3, ..., respectiv 9 poziții (

Concepte de bază de criptografie

Problema protejării informațiilor împotriva accesului neautorizat (neautorizat) s-a agravat vizibil din cauza utilizării pe scară largă a rețelelor de calculatoare locale și mai ales globale.

Protecția informațiilor este necesară pentru a reduce probabilitatea de scurgere (dezvăluire), modificare (denaturare intenționată) sau pierdere (distrugere) a informațiilor de o anumită valoare pentru proprietarul acesteia.

Problema securității informațiilor a îngrijorat oamenii de câteva secole.

Potrivit lui Herodot, deja în secolul al V-lea. î.Hr e. s-a folosit transformarea informaţiei prin metoda de codificare.

Unul dintre primele dispozitive de criptare a fost rătăcit care a fost folosit în secolul al V-lea. î.Hr. în timpul războiului Spartei împotriva Atenei. Un scytale este un cilindru pe care a fost înfășurată rând cu rând o panglică îngustă de papirus (fără goluri sau suprapuneri). Apoi, pe această bandă de-a lungul axei cilindrului (în coloane), a fost scris textul necesar transmiterii. Banda a fost desfășurată din cilindru și trimisă destinatarului. După ce a primit un astfel de mesaj, destinatarul a înfășurat banda pe un cilindru cu același diametru ca și diametrul carcasei expeditorului. Ca rezultat, mesajul criptat a putut fi citit.

Aristotel a venit cu ideea de a sparge un astfel de cifr. El a propus să facă un con lung și, pornind de la bază, să-l înfășoare cu o bandă cu un mesaj criptat, mutându-l treptat în vârf. Într-o parte a conului, secțiunile de text care pot fi citite vor începe să fie vizibile. Așa se determină dimensiunea secretă a cilindrului.

Cifrele au apărut în antichitate sub formă de criptograme (în greacă - scriere secretă). Uneori, textele sacre evreiești erau criptate folosind metoda substituției. În locul primei litere a alfabetului, s-a scris ultima literă, în loc de a doua, penultima, etc. Acest cifr antic a fost numit atbash. Se știe că corespondența este criptată Iulius Cezar(100-44 î.Hr.) cu Cicero (106-43 î.Hr.).

Cifrul Cezarului se implementează prin înlocuirea fiecărei litere din mesaj cu o altă literă din același alfabet, distanțată de aceasta în alfabet printr-un număr fix de litere. În cifrurile sale, Cezar a înlocuit litera textului original cu o literă cu trei poziții înaintea literei originale.

În Grecia Antică (secolul al II-lea î.Hr.) era cunoscut un cifr care a fost creat folosind pătratul Polybius. Tabelul de criptare era un pătrat cu cinci coloane și cinci rânduri, care erau numerotate de la 1 la 5. În fiecare celulă a unui astfel de tabel era scrisă câte o literă. Ca urmare, fiecare literă corespundea unei perechi de numere, iar criptarea s-a redus la înlocuirea literei cu o pereche de numere.

Ilustram ideea pătratului lui Polybius cu un tabel cu litere rusești. Numărul de litere din alfabetul rus diferă de numărul de litere din alfabetul grec, prin urmare dimensiunea tabelului a fost aleasă diferit (6 x 6 pătrat). Rețineți că ordinea simbolurilor din pătratul Polybius este informații secrete (cheie).

Să criptăm cuvântul CRYPTOGRAFIE folosind pătratul Polybius:

26 36 24 35 42 34 14 36 11 44 24 63

Exemplul arată că în cifrgramă numărul rândului este indicat primul, iar numărul coloanei al doilea. Într-un pătrat Polybius, coloanele și rândurile pot fi marcate nu numai cu cifre, ci și cu litere.

În prezent, se ocupă de probleme de securitate a informațiilor criptologie(kryptos - secret, logos - știință). Criptologia este împărțită în două domenii - criptografie și criptoanaliza. Obiectivele acestor două ramuri ale criptologiei sunt direct opuse.

Criptografie- știința protejării informațiilor împotriva primirii neautorizate de către persoane neautorizate. Domeniul de interes al criptografiei este dezvoltarea și cercetarea metodelor de criptare a informațiilor.

Sub criptareînseamnă o astfel de transformare a informațiilor care face ca datele originale să nu fie citite și dificil de dezvăluit fără cunoașterea unor informații secrete speciale - cheie ÎN Ca urmare a criptării, textul simplu se transformă într-o cifrgramă și devine ilizibil fără utilizarea unei transformări de decriptare. Cifragrama Poate fi numit diferit: text cifrat, criptogramă, criptare sau text cifrat. Cifragrama vă permite să ascundeți semnificația mesajului transmis.

Zona de interes criptoanaliza opusul este dezvoltarea și cercetarea metodelor de decriptare (descoperire) a unei cifrgrame chiar și fără a cunoaște cheia secretă.

Sub cheie este înțeleasă ca informație secretă care determină ce transformare din setul de posibile transformări de criptare se realizează în acest caz pe textul simplu. Când folosiți un hulk, cheia este diametrul cilindrului.

Decriptare- procesul invers de criptare. Când se decriptează folosind o cheie, textul cifrat (cifrgramă, criptare) este convertit în textul simplu original.

Procesul prin care criptoanaliștii obțin un mesaj clar dintr-o criptogramă fără o cheie cunoscută anterior este numit autopsie sau efractie cifru.

Există mai multe clasificări ale cifrurilor.

În funcție de natura cheii utilizate, algoritmii de criptare sunt împărțiți în două tipuri: simetric(cu o cheie, în alt fel - cu o cheie secretă) și asimetric(cu două chei sau cu o cheie publică). Uneori sunt numiți algoritmi de criptare și decriptare asimetrică asimetric.

În primul caz, criptatorul expeditorului și cel al destinatarului folosesc aceeași cheie (Cheia 1, vezi figura). Codificatorul produce o cifrgramă, care este o funcție a textului simplu. Tipul specific de funcție de conversie (criptare) este determinat de cheia secretă. Decodorul destinatarului mesajului realizează transformarea inversă a transformării efectuate în codificator. Cheia secretă este păstrată secretă și transmisă printr-un canal care împiedică interceptarea cheii de către un criptoanalist al unui inamic sau al unui competitor comercial.

În al doilea caz (când folosește un algoritm asimetric), destinatarul transmite mai întâi expeditorului o cheie publică (Cheia 1) printr-un canal deschis, cu care expeditorul criptează informația. Când primește informații, destinatarul le decriptează folosind a doua cheie secretă (Cheia 2). Interceptarea cheii publice (Cheia 1) de către un criptoanalist inamic nu permite decriptarea mesajului privat, deoarece acesta este decriptat doar de a doua cheie secretă (Cheia 2). În acest caz, cheia secretă 2 este aproape imposibil de calculat folosind cheia publică 1.

Atunci când se evaluează eficacitatea unui cifr, ei sunt de obicei ghidați de regula olandeză Auguste Kerkhoff(1835-1903), conform căruia puterea unui cifr este determinată doar de secretul cheii, adică criptoanalistul cunoaște toate detaliile procesului (algoritmului) de criptare și decriptare, dar nu se știe care cheie a fost folosit pentru a cripta un anumit text.

Puterea criptografică este o caracteristică a unui cifr care determină rezistența acestuia la decriptare fără a cunoaște cheia (adică rezistența la criptoanaliza). Există mai mulți indicatori ai puterii criptografice, inclusiv numărul tuturor cheilor posibile și timpul mediu necesar pentru criptoanaliza.

Algoritmii de criptare cu chei publice folosesc ceea ce se numește funcții ireversibile sau unidirecționale. Aceste funcții au următoarea proprietate: dat fiind valoarea argumentului X Este relativ ușor să calculezi valoarea unei funcții f(x). Cu toate acestea, dacă valoarea Funcției este cunoscută y =f(x), atunci nu există o modalitate ușoară de a calcula valoarea argumentului X.

Toate criptosistemele cu cheie publică utilizate în prezent se bazează pe unul dintre următoarele tipuri de transformări ireversibile.

1. Factorizarea numerelor mari în factori primi (algoritm RSA, autori - Rivest, Shamir și Adleman - Rivest, Shamir, Adleman).

2. Calculul logaritmului sau exponentiatiei (algoritmul DH, autori - Diffie si Hellman).

3. Calculul rădăcinilor ecuațiilor algebrice.

Să luăm în considerare cel mai simplu exemplu de funcții „ireversibile”. Este ușor să găsești în minte produsul a două numere prime 11 și 13. Dar încearcă rapid să găsești două numere prime al căror produs este 437. Dificultăți similare apar atunci când folosești tehnologia computerizată pentru a găsi doi factori primi pentru un număr foarte mare. : puteți găsi factorii, dar va dura mult timp.

Astfel, sistemul de codificare prin factorizare RSA folosește două chei diferite: una pentru a cripta mesajul, și o a doua, diferită, dar legată de prima, pentru a decripta. Cheia de criptare (cheie publică, non-secretă) se bazează pe produsul a două numere prime uriașe, iar cheia de decriptare (cheie privată, secretă) se bazează pe numerele prime în sine.

Rețineți că operația de factorizare a unui număr prim este uneori numită factorizarea.

Termenul de funcții „ireversibile” este regretabil. Mai corect ar fi să le numim funcții rapide (sau pur și simplu) ireversibile. Cu toate acestea, acest termen este bine stabilit și inexactitatea trebuie tolerată.

În anii 40 ai secolului XX. Inginerul și matematicianul american Claude Shannon a propus dezvoltarea unui cifr în așa fel încât soluția lui să fie echivalentă cu rezolvarea unei probleme matematice complexe. Mai mult, complexitatea problemei trebuie să fie astfel încât volumul calculelor necesare să depășească capacitățile computerelor moderne.

În sistemele asimetrice, este necesară utilizarea cheilor lungi (2048 biți sau mai mult). O cheie lungă crește timpul de criptare a unui mesaj clar. În plus, generarea cheilor devine foarte consumatoare de timp. Dar puteți trimite chei publice prin canale de comunicare neprotejate (neclasificate, deschise). Acest lucru este deosebit de convenabil, de exemplu, pentru partenerii comerciali separați de distanțe mari. Este convenabil să transferați cheia publică de la bancher către mai mulți investitori simultan.

ÎN simetric algoritmii folosesc chei mai scurte, astfel încât criptarea și decriptarea sunt mai rapide. Dar în astfel de sisteme, distribuirea cheilor este o procedură complexă. Cheile trebuie transferate prin canale închise (secrete). Folosirea curierilor pentru a distribui cheile private este costisitoare, complexă și lentă.

În Statele Unite, cel mai utilizat standard pentru transmiterea mesajelor secrete este DES (Data Encryption Standard).

Standardul DES este un cifru bloc. Criptează datele în blocuri de 64 de biți. Criptarea folosește o cheie de 56 de biți. Acest standard a fost supus mai multor criptoanalize detaliate. Pentru a-l pirata, au fost dezvoltate computere specializate care au costat până la 20 de milioane de dolari. Metode de încălcare forțată a standardului DES au fost dezvoltate pe baza calculului distribuit folosind mai multe computere. Pentru a crește puterea criptografică, a fost dezvoltată ulterior o metodă de criptare DES care utilizează trei chei - așa-numita „des triplu”.

Se poate susține că de mulți ani a fost ajutată decriptarea criptogramelor analiza frecventei apariția personajelor individuale și combinațiile lor. Probabilitățile ca literele individuale să apară în text variază foarte mult. Pentru limba rusă, de exemplu, litera „o” apare de 45 de ori mai des decât litera „f” și de 30 de ori mai des decât litera „e”. Analizând un text suficient de lung criptat prin metoda înlocuirii, este posibil să se efectueze o înlocuire inversă pe baza frecvenței de apariție a caracterelor și să se restabilească textul simplu original. Tabelul arată frecvențele relative de apariție a literelor rusești.

Scrisoare Frecvență Scrisoare Frecvență Scrisoare Frecvență Scrisoare Frecvență
O 0.09 V 0.038 h 0.016 și 0.007
a ei 0.072 l 0.035 s 0.016 w 0.006
A 0.062 La 0.028 b 0.014 Yu 0.006
Și 0.062 m 0.026 ь, ъ 0.014 ts 0.004
n 0.053 d 0.025 G 0.013 sch 0.003
T 0.053 P 0.023 h 0.012 uh 0.003
Cu 0.045 la 0.021 Și 0.01 f 0.002
R 0.04 eu 0.018 X 0.009

Frecvența relativă de apariție a unui spațiu sau semn de punctuație în limba rusă este 0,174. Numerele date înseamnă următoarele: între 1000 de litere de text, în medie vor fi 174 de spații și semne de punctuație, 90 de litere „o”, 72 de litere „e”, etc.

Când efectuați criptoanaliza, trebuie să decideți dintr-o mică bucată de text dacă textul decriptat este un mesaj semnificativ sau un set de caractere aleatorii. Adesea, criptoanalistii sparg cifrurile pe un computer folosind enumerarea cheilor. Este imposibil să analizați manual mai multe fragmente de texte decriptate. Prin urmare, problema identificării textului semnificativ (adică detectarea textului corect descifrat) este rezolvată folosind un computer. În acest caz, sunt folosite principiile teoretice dezvoltate la sfârșitul secolului al XIX-lea. Matematician din Sankt Petersburg A.A. Markov, așa-numitele lanțuri Markov.

Trebuie remarcat faptul că, potrivit unor experți, nu există cifre care nu pot fi sparte. Puteți declasifica (spărge) orice cifrgramă fie într-un timp îndelungat, fie pentru mulți bani. În cel de-al doilea caz, decriptarea va necesita utilizarea mai multor supercomputere, ceea ce va duce la costuri materiale semnificative. Din ce în ce mai mult, resursele distribuite de internet sunt folosite pentru a sparge mesaje secrete, paralelizând calculele și implicând sute și chiar mii de stații de lucru în calcule.

Există o altă părere. Dacă lungimea cheii este egală cu lungimea mesajului, iar cheia este generată din numere aleatorii cu o distribuție la fel de probabilă și se modifică cu fiecare mesaj nou, atunci cifrul nu poate fi spart nici măcar teoretic. O abordare similară a fost descrisă pentru prima dată de G. Vernam la începutul secolului al XX-lea, propunând algoritmul de un singur pad.

Să luăm în considerare o altă clasificare a cifrurilor.

Multe metode moderne de criptare pot fi împărțite în patru mari grupuri: metode înlocuitori(înlocuiri), permutări, aditiv(jocuri de noroc) și combinate metode.

În cod permutări toate literele textului simplu rămân neschimbate, dar sunt mutate din pozițiile lor inițiale în alte locuri (un exemplu este criptarea folosind un scytale).

Următoarea „cifrare” cea mai simplă a fost obținută prin rearanjarea a două litere adiacente RKPIOTRGFAYAI.

În acest mesaj „secret” este ușor să recunoști cuvântul CRIPTOGRAFIE.

Un algoritm de permutare mai complex se rezumă la împărțirea mesajului în grupuri de trei litere. În fiecare grup, prima literă este plasată pe locul trei, iar a doua și a treia literă sunt deplasate cu o poziție spre stânga. Rezultatul este o criptogramă: RICTOPRAGIYAF.

Permutările sunt obținute prin scrierea textului original și citirea textului cifrat pe diferite căi ale unei figuri geometrice.

În cod înlocuitori pozițiile literelor în cifru rămân aceleași ca și în textul simplu, dar caracterele textului simplu sunt înlocuite cu caractere dintr-un alfabet diferit. Un exemplu este pătratul Polybius. Aici literele sunt înlocuite cu numerele corespunzătoare.

Metoda de înlocuire este adesea implementată de mulți utilizatori accidental atunci când lucrează la un computer. Dacă, din cauza uitării, nu comutați carcasa de pe tastatură de la latină la chirilică, atunci în loc de litere ale alfabetului rus, la introducerea textului, vor fi tipărite litere ale alfabetului latin. Ca rezultat, mesajul original va fi „criptat” cu litere latine. De exemplu, rhbgnjuhfabz - așa este criptat cuvântul criptografie.

ÎN aditivÎn această metodă, literele alfabetului sunt mai întâi înlocuite cu numere, la care se adaugă apoi numerele unei secvențe secrete de numere pseudoaleatoare (gamma). Compoziția scalei variază în funcție de cheia utilizată. De obicei, operația logică „SAU exclusiv” este utilizată pentru criptare. În timpul decriptării, același gamma este aplicat datelor criptate. Metoda gamma este utilizată pe scară largă în sistemele criptografice militare. Cifrele obținute prin metoda aditivă sunt uneori numite cifruri flux.

Combinate metodele implică utilizarea mai multor metode simultan pentru a cripta un mesaj (de exemplu, mai întâi înlocuirea caracterelor și apoi rearanjarea lor).

Există o altă abordare a transmiterii mesajelor secrete. Se rezumă la ascunderea faptului însuși de a transmite informații. Știința se ocupă de astfel de metode de criptare steganografie.

Dacă criptografia face ca un mesaj deschis să nu fie citit fără a cunoaște cheia secretă, atunci steganografia dezvoltă metode de criptare care fac dificilă observarea faptului de a transmite informații.

Steganografia folosește containere speciale în care mesajul transmis este ascuns. De exemplu, textul secret este încorporat într-un design inofensiv al unei flori de pe o felicitare.


Criptarea mesajelor folosind diverse metode

În loc de coadă există un picior, iar pe picior sunt coarne.

L. Derbeneev.

Să vedem cum să criptăm un mesaj metodă substituție (cu alte cuvinte, metoda substituției). Mai întâi folosim cifrul Caesar. Să presupunem că doriți să criptați mesajul „UNDE E ABBA”.

După cum se știe, cifrul ciclic Caesar se obține prin înlocuirea fiecărei litere a textului simplu cu litere din același alfabet, situate în față printr-un anumit număr de poziții, de exemplu, prin trei poziții. Ciclic se numește deoarece atunci când se efectuează o înlocuire, ultima literă a alfabetului este din nou urmată de prima literă a alfabetului. Să notăm fragmente din alfabetul rus și să arătăm cum se realizează criptarea (ordinea de înlocuire):

Ca rezultat al transformării, se va obține următoarea cifrgramă:

YOZHZ GDDG.

În acest caz, cheia este valoarea shift (numărul de poziții dintre litere). Numărul de chei din acest cifr este mic (este egal cu numărul de litere ale alfabetului). Nu este dificil să deschideți o astfel de cifrgramă căutând prin toate cheile posibile. Dezavantajul cifrului Caesar este puterea sa criptografică scăzută. Acest lucru se explică prin faptul că în textul criptat literele sunt încă aranjate în ordine alfabetică, doar punctul de plecare este deplasat cu mai multe poziții.

Înlocuirea poate fi efectuată cu caractere dintr-un alfabet diferit și cu o cheie mai complexă (algoritm de înlocuire). Pentru simplitate, prezentăm din nou doar părțile inițiale ale alfabetelor. Liniile arată ordinea înlocuirii literelor alfabetului rus cu literele alfabetului latin. Să criptăm expresia „UNDE E ABBA”

Rezultatul acestei criptări este următoarea criptogramă:

Este mai rațional să scrieți cheia folosită în ultimul caz sub forma unui tabel:

A B ÎN G D E
E F A CU D ÎN

La criptare, literele pot fi înlocuite cu cifre (în cel mai simplu caz, numerele de serie ale literelor din alfabet). Apoi criptarea noastră va arăta astfel:

Caracterele în text simplu pot fi înlocuite cu personaje speciale, de exemplu, cu „bărbați care dansează”, ca în povestea lui K. Doyle, sau cu ajutorul steagurilor, așa cum fac marinarii.

Au o putere criptografică mai mare în comparație cu cifrul Caesar. criptosisteme afine.

În criptosistemele afine, datorită transformărilor matematice, literele care înlocuiesc textul simplu sunt amestecate haotic. În criptosistemele afine, literele textului simplu sunt numerotate, de exemplu, pentru alfabetul chirilic de la 0 la 32. Fiecare literă a textului simplu este apoi înlocuită cu o literă, al cărei număr de serie este calculat folosind o ecuație liniară și calculând restul diviziunii întregi.

Criptosistemele afine sunt definite folosind două numere Ași b . Pentru alfabetul rus, aceste numere sunt selectate din condiție a ≥ 0, b≤ 32. Numărul maxim de caractere din alfabetul utilizat este indicat prin simbolul γ. Mai mult, numerele A iar γ = 33 trebuie să fie relativ prim. Dacă această condiție nu este îndeplinită, atunci două litere diferite pot fi afișate (transformate) într-una singură. Fiecare cod de literă text simplu μ este înlocuit cu un cod de literă criptogramă conform următoarei reguli. Mai întâi se calculează numărul α= a∙μ + b , iar apoi se efectuează operația de împărțire între întregi a numărului α la numărul γ = 33, adică α= β(mod (γ)). Restul diviziunii întregi este folosit ca cod al simbolului Ciphergram. Pentru a fi concret, să alegem următoarele numere: A= 5 și b=3. Un fragment al procedurii care ilustrează procedura de criptare este prezentat în tabel.

În cifrurile pe care le-am analizat anterior, fiecare literă a textului simplu corespundea unei anumite litere a criptogramei. Astfel de cifre se numesc cifre înlocuire monoalfabetică.

Mesaje lungi primite folosind metoda de înlocuire monoalfabetică (un alt nume este cifru simplu o singură literă înlocuitori), sunt dezvăluite folosind tabele de frecvențe relative. Pentru a face acest lucru, frecvența de apariție a fiecărui simbol este calculată și împărțită la numărul total de simboluri din cifrgramă. Apoi, folosind un tabel de frecvențe relative, se determină ce înlocuire a fost făcută în timpul criptării.

Creșteți puterea criptografică cifruri polialfabetice substituții (sau cifruri de substituție cu mai multe valori). În acest caz, fiecare simbol al alfabetului deschis este asociat nu cu unul, ci cu mai multe simboluri de criptare.

Mai jos este un fragment al cheii de înlocuire polialfabetică:

A B ÎN G D E

Folosind un cifr multi-alfabetic, mesajul „UNDE E ABBA” poate fi criptat în mai multe moduri:

19-83-32-48-4-7-12,

10-99-15-12-4-14-12 etc.

Pentru fiecare literă a alfabetului original, se creează un anumit set de simboluri cifrograme, astfel încât seturile fiecărei litere să nu conțină elemente identice. Cifrurile multi-alfabetice modifică tiparul frecvențelor statistice de apariție a literelor și, prin urmare, fac dificilă spargerea cifrului fără a cunoaște cheia.

Să luăm în considerare un alt cifr de substituție polialfabetică, care a fost descris în 1585 de diplomatul francez Blaise de Vigenere. Criptarea se realizează folosind așa-numitul tabel Vigenère. Aici, ca și înainte, este afișată doar o parte a tabelului pentru a prezenta doar ideea metodei.

Fiecare rând din acest tabel corespunde unui cifr de substituție simplu (cum ar fi un cifru Caesar). La criptare, mesajul deschis este scris pe o linie, iar cheia este plasată sub ea. Dacă tasta este mai scurtă decât mesajul, atunci tasta se repetă ciclic. Criptarea se obține prin găsirea simbolului în matricea de litere a cifrgramei. Simbolul cifrului este situat la intersecția coloanei cu litera text simplu și a rândului cu litera cheie corespunzătoare.

Să presupunem că doriți să criptați mesajul „UNDE E ABBA”. Să alegem cuvântul „FECIOARĂ” ca cheie. Ca rezultat obținem:

YAYAG AYEW.

Sistem Joacă cinstit creează cifruri multialfabetice. Să luăm în considerare ideea de bază a acestui sistem.

Criptarea se realizează folosind un pătrat (sau dreptunghi) care conține literele alfabetului național corespunzător. Literele sunt scrise într-un pătrat sau dreptunghi, în orice ordine. Această ordine de litere și configurația tabelului este cheia secretă. Pentru a fi specific, să luăm un tabel dreptunghiular care măsoară 8x4, să folosim alfabetul chirilic ca litere ale alfabetului și să aranjam literele în ordine alfabetică. Deoarece numărul de litere rusești este 33, iar numărul de celule este 32, vom exclude litera E din tabel.

Să presupunem că doriți să criptați cuvântul CRYPTOGRAFIE. Să ne uităm la regulile de criptare.

1. Textul simplu este împărțit în blocuri de două litere. Literele dintr-un singur bloc nu ar trebui să fie la fel. Să împărțim cuvântul original în blocuri de două litere KR-IP-TO-GR-AF-YA.

2. Dacă literele blocului criptat sunt în rânduri și coloane diferite, atunci literele situate în colțurile dreptunghiului care încadrează literele text clar sunt folosite ca litere de înlocuire. De exemplu, blocul KR este înlocuit cu simboluri IT.

3. Dacă literele textului simplu se încadrează pe o singură linie, atunci cifra cifră este obținută prin deplasarea ciclică către o celulă la dreapta. De exemplu, blocul IP va fi convertit în YI. Un alt exemplu pentru această regulă. Dacă, să presupunem, este necesară transformarea blocului KN, atunci rezultatul va fi LO.

4. Dacă ambele litere ale textului simplu se încadrează în aceeași coloană, atunci se efectuează o deplasare ciclică cu o celulă în jos pentru criptare.

Blocul ZhC va fi convertit în simboluri OYU, iar blocul ТЪ în simboluri ЪВ.

În conformitate cu regulile descrise, cuvântul CRYPTOGRAFIE va fi convertit în criptograma ITYITSKAUDRPSH.

Rețineți că dacă blocurile de text simplu constau din aceleași litere, atunci criptograma va conține și aceleași perechi de caractere. Din acest motiv, cifra considerată este monoalfabetică. Cu toate acestea, modificarea acestui cifru îl transformă într-un sistem multi-alfabetic. Pentru a face acest lucru, sunt utilizate mai multe tabele Playfair și se realizează criptarea multiplă.

Aici este oportun să luăm în considerare sistemul criptografic Hilla,în care criptarea se realizează folosind transformări matematice: calcule folosind tehnici de algebră liniară.

Acest cifr pentru o singură literă poate fi considerat multi-alfabetic. Cu toate acestea, perechile de litere sunt criptate în același mod peste tot. Prin urmare, într-un sens larg, sistemul criptografic Hill ar trebui clasificat ca un cifr mono-alfabetic.

Textul simplu original ar trebui convertit într-o colecție de numere folosind metoda înlocuirii. Să presupunem că un text scris cu 26 de litere latine este criptat. Vom alege următorul algoritm pentru înlocuirea literelor cu cifre: vom înlocui literele latine A, B, C, D, ..., Z cu numerele 1, 2, 3, 4, ..., 26, respectiv. Cu alte cuvinte: vom numerota literele în ordinea locației lor în alfabet, iar la înlocuire vom folosi numerele lor de serie. În acest caz, a fost ales un astfel de algoritm de înlocuire, dar este clar că poate fi orice.

Să presupunem că trebuie să criptăm cuvântul german ZEIT. Să înlocuim literele în conformitate cu numerele lor de serie din alfabet cu patru numere: 26 - 5 - 9 - 20.

Apoi trebuie să alegeți un număr d > 2. Acest număr arată ordinea în care textul simplu este împărțit în grupuri de caractere (determină câte litere vor fi în fiecare grup). Din punct de vedere matematic, numărul d arată câte rânduri ar trebui să fie în vectorii coloană. Să acceptăm d= 2. Aceasta înseamnă că numerele 26 - 5 - 9 - 20 trebuie împărțite în grupuri de două numere din fiecare grup și scrise ca vectori coloană:

Să ne uităm la exemple de criptare a mesajelor folosind metoda permutări.

Ideea acestei metode de criptare este că textul simplu este scris și criptarea este apoi citită de-a lungul diferitelor căi ale unei figuri geometrice (de exemplu, un pătrat).

Pentru a explica ideea, să luăm un tabel pătrat (matrice) 8x8. Vom scrie textul secvenţial în rânduri de sus în jos, şi îl vom citi în coloane secvenţial de la stânga la dreapta.

Să presupunem că doriți să criptați un mesaj:

E GREU DE STUDIAT ÎN PRIMUL AN NUMAI PRIMII PATRU ANI DE STUDIU DECANULUI.

n A _ P E R V DESPRE
m La U R CU E _
T eu și E L DESPRE _ U
h ȘI T b CU eu _ T
DESPRE L b LA DESPRE _ P E
R V s E _ H E T
s R E _ G DESPRE d A
_ d E LA A n A T

În tabel, simbolul „_” indică un spațiu.

Ca urmare a transformărilor, criptarea va fi

NMTCHORY_A_YAILVRD_KZHTYEPUUEKE_KERLSO_GARSOYA_CHONVE_

PEDAO_UTETAT.

După cum puteți vedea din exemplu, criptarea și textul simplu conțin aceleași caractere, dar sunt situate în locuri diferite.

Cheia în acest caz este dimensiunea matricei, ordinea în care este scris textul simplu și este citită cifra. Desigur, cheia poate fi diferită. De exemplu, scrierea textului simplu pe rânduri se poate face în următoarea ordine: 48127653, iar citirea unei criptograme se poate face pe coloane în următoarea ordine: 81357642.

Vom numi ordinea de scriere în rândurile matricei cheie de scriere, iar ordinea de citire a cifrgramei în coloane - cheia de citire.

Atunci regula de descifrare a unei criptograme obținută prin metoda permutării poate fi scrisă după cum urmează.

Pentru a decripta o criptogramă obținută folosind o matrice p x p, trebuie să împărțiți criptograma în grupuri de simboluri conform P personaje din fiecare grupă. Scrieți grupul din stânga de sus în jos într-o coloană al cărei număr coincide cu prima cifră a tastei de citire. Scrieți al doilea grup de caractere într-o coloană al cărei număr coincide cu a doua cifră a tastei de citire etc. Textul simplu este citit din matrice rând cu rând în conformitate cu cifrele cheii de înregistrare.

Să luăm în considerare un exemplu de decriptare a unei criptograme obținute prin metoda permutării. Se știe că criptarea folosește o matrice 6x6, o cheie de scriere de 352146 și o cheie de citire de 425316. Textul cifrgramei este următorul:

DKAGCHYOVA_RUAAKOEBZERE_DSOHTESE_T_LU

Să împărțim cifra cifrată în grupuri de 6 caractere:

DKAGCH OVA_RU AAKOEB ZERE_D SOKHTES E_T_LU

Apoi scriem primul grup de caractere în coloana 4 a matricei 6x6, deoarece prima cifră a cheii de citire este 4 (vezi Figura a). Vom scrie al doilea grup de 6 simboluri în coloana 2 (vezi Figura b), al treilea grup de simboluri în coloana 5 (vezi Figura c), sărind peste două faze de umplere a matricei, vom reprezenta o matrice complet completată (vezi Figura d).

Începem să citim textul simplu conform tastei de scriere de pe linia 3, apoi folosim linia 5 etc. Ca rezultat al decriptării, obținem textul simplu:

CARACTERUL UNUI OM ÎȘI CREAȚI DETINUL

Desigur, procedura descrisă pentru decriptarea unei criptograme este efectuată automat de un computer folosind programe pre-dezvoltate.


D
LA
A
G
h
b
DESPRE d
ÎN La
A A
G
R h
U b

DESPRE D A
ÎN LA A
A A LA
G DESPRE
R h E
U b B
CU DESPRE d A E
DESPRE ÎN E La A
X A R A LA T
T E G DESPRE
E R h E L
CU U d b B U

Pentru a crește puterea criptografică, metodele de substituție și permutare sunt adesea utilizate în combinație cu metoda aditivă.

©2015-2019 site
Toate drepturile aparțin autorilor lor. Acest site nu pretinde autor, dar oferă o utilizare gratuită.
Data creării paginii: 2016-04-11

În această zi, Serviciul Criptografic Rus își sărbătorește sărbătoarea profesională.

"Criptografie" din greaca veche inseamna „scriere secretă”.

Cum ai ascuns cuvintele înainte?

O metodă deosebită de transmitere a unei scrisori secrete a existat în timpul domniei dinastiei faraonilor egipteni:

au ales un sclav. I-au bărbierit capul chel și au pictat mesajul pe el cu vopsea vegetală rezistentă la apă. Când părul a crescut din nou, acesta a fost trimis destinatarului.

Cifru- acesta este un fel de sistem de conversie a textului cu un secret (cheie) pentru a asigura secretul informațiilor transmise.

AiF.ru a făcut o selecție de fapte interesante din istoria criptării.

Toate scrierile secrete au sisteme

1. Acrostic- un text cu sens (cuvânt, frază sau propoziție), alcătuit din literele inițiale ale fiecărui rând din poezie.

Iată, de exemplu, o poezie ghicitoare cu răspunsul în primele litere:

D Sunt cunoscut sub numele meu;
R Necinstiții și nevinovații jură pe el,
U Sunt mai mult decât un tehnician în dezastre,
ȘI Viața este mai dulce cu mine și în cel mai bun lot.
B Pot sluji singur armonia sufletelor pure,
Aîntre răufăcători – nu am fost creat.
Yuri Neledinsky-Meletsky
Serghei Esenin, Anna Akhmatova, Valentin Zagoryansky au folosit adesea acrostice.

2. Litoree- un tip de scriere criptată folosit în literatura rusă antică scrisă de mână. Poate fi simplu și înțelept. Una simplă se numește scriere gibberish, constă în următoarele: plasarea literelor consoane pe două rânduri în ordinea:

folosesc în scris litere mari în loc de cele mai mici și invers, iar vocalele rămân neschimbate; de exemplu, tokepot = pisoiși așa mai departe.

Litoree înțeleaptă implică reguli de substituție mai complexe.

3. „ROT1”- un cod pentru copii?

Poate că l-ați folosit și în copilărie. Cheia cifrului este foarte simplă: fiecare literă a alfabetului este înlocuită cu următoarea literă.

A este înlocuit cu B, B este înlocuit cu C și așa mai departe. „ROT1” înseamnă literal „rotiți înainte cu 1 literă din alfabet”. Fraza „Îmi place borșul” se va transforma într-o frază secretă „Ah myvmya”. Acest cifru este conceput pentru a fi distractiv și ușor de înțeles și de descifrat, chiar dacă cheia este folosită invers.

4. Din rearanjarea termenilor...

În timpul Primului Război Mondial, mesajele confidențiale au fost trimise folosind așa-numitele fonturi de permutare. În ele, literele sunt rearanjate folosind anumite reguli sau chei date.

De exemplu, cuvintele pot fi scrise invers, astfel încât fraza „Mama a spălat cadrul” se transformă într-o frază „amam alym umar”. O altă cheie de permutare este rearanjarea fiecărei perechi de litere astfel încât mesajul anterior să devină „Sunt sunt y al ar um”.

Se poate părea că regulile complexe de permutare pot face aceste cifruri foarte dificile. Cu toate acestea, multe mesaje criptate pot fi decriptate folosind anagrame sau algoritmi de computer moderni.

5. Cifrul de alunecare al lui Cezar

Este format din 33 de cifruri diferite, câte unul pentru fiecare literă a alfabetului (numărul de cifruri variază în funcție de alfabetul limbii folosite). Persoana trebuia să știe ce cifră Iulius Caesar să folosească pentru a descifra mesajul. De exemplu, dacă se folosește cifra E, atunci A devine E, B devine F, C devine Z și așa mai departe alfabetic. Dacă se folosește cifrul Y, atunci A devine Y, B devine Z, B devine A și așa mai departe. Acest algoritm stă la baza multor cifruri mai complexe, dar în sine nu oferă protecție fiabilă pentru secretul mesajelor, deoarece verificarea a 33 de chei de cifr diferite va dura un timp relativ scurt.

Nimeni nu putea. Incearca-l

Mesajele publice criptate ne tachinează cu intriga lor. Unele dintre ele rămân încă nerezolvate. Aici sunt ei:

Kryptos. O sculptură creată de artistul Jim Sanborn care se află în fața sediului Central Intelligence Agency din Langley, Virginia. Sculptura conține patru criptări, codul celui de-al patrulea nu a fost încă spart. În 2010, a fost dezvăluit că caracterele 64-69 NYPVTT din partea 4 înseamnă cuvântul BERLIN.

Acum că ați citit articolul, probabil că veți putea rezolva trei cifruri simple.

Lăsați opțiunile dvs. în comentariile acestui articol. Răspunsul va apărea la ora 13:00 pe 13 mai 2014.

Răspuns:

1) Farfurie

2) Puiul de elefant s-a săturat de tot

3) Vreme bună