Algoritmi de criptare de bază. Cele mai simple metode de criptare a cheii private

Rezolvarea problemei determinării unei chei prin simpla încercare a tuturor opțiunilor posibile este, în general, nepractică, cu excepția utilizării unei chei foarte scurte. Prin urmare, dacă un criptoanalist dorește să aibă o șansă reală de a sparge un cifr, trebuie să renunțe la metodele de forță brută și să folosească o strategie diferită. Analiza statistică folosind frecvența de apariție a caracterelor individuale sau combinații de caractere poate fi utilizată pentru a rezolva multe scheme de criptare. Pentru a complica rezolvarea problemei ruperii unui cifr folosind analiza statistică, K. Shannon a propus două concepte de criptare, numite amestecarea (confuzie) Și difuziune (difuziune). Mixarea este utilizarea substituției în care relația dintre cheie și textul cifrat devine cât se poate de complexă. Aplicarea acestui concept complică utilizarea analizei statistice, care restrânge zona de căutare a cheii, iar decriptarea chiar și a unei secvențe de criptograme foarte scurte necesită căutarea printr-un număr mare de chei. La rândul său, difuzia este aplicarea unor astfel de transformări care netezesc diferențele statistice dintre simboluri și combinațiile lor. Ca rezultat, utilizarea de către criptoanalist a analizei statistice poate duce la un rezultat pozitiv numai dacă este interceptat un segment suficient de mare al textului cifrat.

Implementarea scopurilor proclamate de aceste concepte se realizează prin utilizarea repetată a metodelor elementare de criptare precum metoda substituției, permutării și amestecării.

10.4.1. Metoda de înlocuire.

Cea mai simplă și mai lungă istorie este metoda substituției, a cărei esență este că un caracter din textul sursă este înlocuit cu altul, selectat din acest sau altul alfabet conform regulii specificate de cheia de criptare. Locația personajului în text nu se schimbă. Unul dintre cele mai timpurii exemple de utilizare a metodei de stadializare este Cifrul Caesar, care a fost folosit de Gaius Julius Caesar în timpul campaniilor sale galice. În ea, fiecare literă a textului simplu a fost înlocuită cu alta, luată din același alfabet, dar deplasată ciclic cu un anumit număr de caractere. Aplicarea acestei metode de criptare este ilustrată de exemplul prezentat în Fig. 10.3, în care transformarea de criptare se bazează pe utilizarea unui alfabet cu o deplasare ciclică de cinci poziții.

Orez. 10.3, A )

Text original

Criptogramă

Orez. 10.3, b )

Evident, cheia de cifrare este valoarea de deplasare ciclică. Dacă selectați o cheie diferită de cea prezentată în exemplu, cifra se va schimba.

Un alt exemplu de schemă de substituție clasică este un sistem de criptare numit pătratul Polybius. În legătură cu alfabetul rus, această schemă poate fi descrisă după cum urmează. Inițial, literele E și E sunt combinate într-una singură; I, J și b, b, al căror adevărat sens în textul decriptat este ușor de restabilit din context. Apoi 30 de caractere ale alfabetului sunt plasate într-un tabel de dimensiunea 65, un exemplu de umplere care este prezentat în Fig. 10.4.

Orez. 10.4.

Criptarea oricărei litere de text simplu se realizează prin specificarea adresei acesteia (adică numărul rândului și al coloanei sau invers) în tabelul furnizat. Deci, de exemplu, cuvântul CAESAR este criptat folosind un pătrat Polybius ca 52 21 23 11 41 61. Este absolut clar că codul poate fi schimbat ca urmare a rearanjamentelor literelor din tabel. De asemenea, trebuie remarcat faptul că cei care au participat la un tur al cazematelor Cetății Petru și Pavel ar trebui să-și amintească cuvintele ghidului despre cum au bătut prizonierii între ei. Evident, metoda lor de comunicare este acoperită complet de această metodă de criptare.

Un exemplu de cifru polialfabetic este o schemă bazată pe așa-numitul. cheia progresivă a lui Trithemius. Baza acestei metode de criptare este tabelul prezentat în Fig. 10.5, ale căror linii sunt copii ale alfabetului original deplasate ciclic cu o poziție. Deci, prima linie are o schimbare zero, a doua este deplasată ciclic cu o poziție la stânga, a treia este de două poziții față de prima linie etc.

Orez. 10.5.

O metodă de criptare folosind un astfel de tabel este utilizarea, în locul primului caracter de text simplu, a unui caracter din prima schimbare ciclică a alfabetului original, situat sub simbolul criptat, al doilea caracter de text simplu din șirul corespunzător celei de-a doua deplasări ciclice. , etc. Un exemplu de criptare a unui mesaj într-un mod similar este prezentat mai jos (Fig. 10.6).

Text simplu

Cifrarea textului

Orez. 10.6.

Sunt cunoscute mai multe variante interesante de cifruri bazate pe cheia progresivă Trithemius. Într-una dintre ele, chemat Metoda cheii Viginère, se aplică un cuvânt cheie care specifică liniile pentru a cripta și decripta fiecare caracter text simplu ulterior: prima literă a cheii specifică rândul tabelului din Fig. 10.5, cu care se criptează primul caracter al mesajului, a doua literă a cheii determină rândul tabelului care criptează al doilea caracter al textului simplu etc. Lăsați cuvântul „THROMB” să fie ales ca cheie, apoi mesajul criptat folosind cheia Viginère poate fi prezentat după cum urmează (Fig. 10.7). Este evident că cheia poate fi deschisă pe baza analizei statistice a cifrgramei.

Text simplu

Cifrarea textului

Orez. 10.7.

O variantă a acestei metode este așa-numita. metoda automata (deschis) cheie Viginera, în care ca cheie de formare este folosită o singură literă sau cuvânt. Această cheie oferă șirul sau șirurile de început pentru criptarea primelor sau a primelor câteva caractere ale textului simplu, similar cu exemplul discutat anterior. Caracterele text simplu sunt apoi folosite ca cheie pentru a selecta șirul de criptare. În exemplul de mai jos, litera „I” este folosită ca cheie de formare (Fig. 10.8):

Text simplu

Cifrarea textului

Orez. 10.8.

După cum arată exemplul, alegerea șirurilor de criptare este complet determinată de conținutul textului simplu, adică Feedback-ul în text simplu este introdus în procesul de criptare.

O altă variantă a metodei Viginère este metoda automata (criptat) Cheia Viginère. Ea, ca și criptarea cu chei publice, folosește, de asemenea, o cheie formativă și feedback. Diferența este că, după criptare folosind cheia generatoare, fiecare simbol al cheii ulterioare din secvență este preluat nu din textul simplu, ci din criptograma rezultată. Mai jos este un exemplu care explică principiul utilizării acestei metode de criptare, în care, ca și înainte, litera „I” este folosită ca cheie de formare (Fig. 10.9):

Text simplu

Cifrarea textului

Orez. 10.9.

După cum se poate vedea din exemplul de mai sus, deși fiecare simbol al cheii ulterior este determinat de simbolul criptogramei precedent, acesta depinde funcțional de toate simbolurile anterioare ale mesajului deschis și ale cheii de formare. În consecință, există un efect de dispersie a proprietăților statistice ale textului sursă, ceea ce face dificilă aplicarea analizei statistice pentru un criptoanalist. Punctul slab al acestei metode este că textul cifrat conține caracterele cheie.

Conform standardelor actuale, criptarea Viginère nu este considerată sigură, dar principala sa contribuție este descoperirea că secvențele de chei care nu se repetă pot fi generate folosind fie mesajele în sine, fie funcțiile mesajelor.

O opțiune pentru implementarea tehnologiei de substituție care implementează suficient conceptul de amestecare este următorul exemplu, bazat pe o transformare neliniară. Fluxul de biți de informații este pre-împărțit în blocuri de lungime m, cu fiecare bloc reprezentat de unul dintre simboluri diferite. Apoi o mulțime de
simbolurile sunt amestecate astfel încât fiecare simbol să fie înlocuit cu un alt simbol din acest set. După operația de amestecare, simbolul se transformă din nou în m– bloc de biți. Un dispozitiv care implementează algoritmul descris când
, prezentată în Fig. 10.10, unde tabelul specifică regula de amestecare a simbolurilor unui set de
elemente.

Orez. 10.10.

Nu este greu să arăți că există
diferite substituiri sau posibile modele asociate acestora. În legătură cu care, la valori mari m sarcina criptoanalistului devine aproape imposibilă din punct de vedere computațional. De exemplu, când
numărul de substituţii posibile este definit ca
, adică reprezintă un număr astronomic. Evident, cu o asemenea valoare m această transformare folosind bloc de substituție (substituţie bloc, S-bloc) poate fi considerat a avea secret practic. Cu toate acestea, implementarea sa practică este cu greu posibilă, deoarece presupune existența
conexiuni.

Să ne asigurăm acum că S- blocul prezentat în fig. 10.10, realizează într-adevăr o transformare neliniară, pentru care folosim principiul suprapunerilor: transformarea
este liniară dacă. Să ne prefacem că
, A
. Apoi, a, de unde rezultă că S– blocul este neliniar.

10.4.2. Metoda de rearanjare.

La rearanjare(sau transpuneri) în conformitate cu cheia, ordinea caracterelor de text simplu se modifică, dar sensul caracterului este păstrat. Cifrurile de permutare sunt cifruri bloc, adică textul sursă este mai întâi împărțit în blocuri, în care se realizează permutarea specificată de cheie.

Cea mai simplă implementare a acestei metode de criptare poate fi algoritmul de intercalare discutat anterior, a cărui esență este împărțirea fluxului de simboluri de informații în blocuri de lungime.
, scriindu-l rând cu rând într-o matrice de memorie de dimensiune linii şi coloane și citire pe coloane. Acest algoritm este ilustrat printr-un exemplu cu
în fig. 10.11, timp în care se înregistrează fraza X= „Timpul examenului va începe în curând.” Apoi, ieșirea dispozitivului de permutare va primi o criptogramă a formei

Orez. 10.11.

Varianta considerată a metodei permutării poate fi complicată prin introducerea cheilor
Și
, care determină ordinea de scriere a rândurilor și, respectiv, a coloanelor de citire, așa cum este ilustrat de tabelul din Fig. 10.12. Rezultatul transformării va arăta astfel

Orez. 10.12.

În fig. Figura 10.13 prezintă un exemplu de permutare binară a datelor (operație liniară), din care se poate observa că datele sunt pur și simplu amestecate sau rearanjate. Transformarea se realizează folosind un bloc de permutare ( permutare bloc, P-bloc). Tehnologia de amestecare implementată de acest bloc are un dezavantaj major: este vulnerabilă la mesajele frauduloase. Mesajul fraudulos este prezentat în Fig. 10.13 și constă în transmiterea unei singure unități la intrare, restul fiind zerouri, ceea ce permite detectarea uneia dintre conexiunile interne. Dacă un criptoanalist ar analiza o astfel de schemă folosind un atac de text simplu, el ar trimite o secvență de mesaje momeală similare, schimbând o singură poziție 1 cu o poziție cu fiecare transmisie. Ca urmare a unui astfel de atac, toate conexiunile de intrare și de ieșire vor fi stabilite. Acest exemplu demonstrează de ce securitatea unui circuit nu ar trebui să depindă de arhitectura acestuia.

10.4.3. Metoda Gamma.

P Multe sisteme moderne de telecomunicații care folosesc operațiuni de amestecare demonstrează încercări de a aborda secretul perfect. Sub încurcătură se referă la procesul de suprapunere a codurilor de caractere de text simplu cu coduri ale unei secvențe aleatoare de numere, care se mai numește și gamma (numită după litera  a alfabetului grecesc, folosită în formulele matematice pentru a desemna un proces aleatoriu). Gumarea se referă la metodele de criptare a fluxului, atunci când caracterele succesive de text simplu sunt convertite secvenţial în caractere de cifrare, ceea ce măreşte viteza de conversie. Deci, de exemplu, un flux de biți de informații ajunge la o intrare a sumatorului modulo 2 prezentat în Fig. 10.14, în timp ce pe a doua există o secvență binară amestecată
. Ideal consistență
trebuie să fie o secvență aleatorie cu valori la fel de probabile de zerouri și unu. Apoi fluxul de ieșire criptat
va fi independent din punct de vedere statistic de secvența informațională
, ceea ce înseamnă că va fi îndeplinită condiția suficientă a secretului perfect. De fapt, este o coincidență totală
nu este necesar, deoarece altfel destinatarul nu ar putea recupera textul simplu. Într-adevăr, restaurarea textului simplu pe partea de recepție ar trebui să fie efectuată conform regulii
, astfel încât să fie generată exact aceeași secvență de amestecare și cu aceeași fază pe partea de recepție. Cu toate acestea, din cauza aleatoriei absolute
această procedură devine imposibilă.

În practică, secvențele pseudo-aleatorie (PRS) au găsit o utilizare pe scară largă ca secvențe de amestecare, care pot fi reproduse pe partea de recepție. În tehnologia de criptare a fluxului, un generator bazat pe registru cu deplasare liniară cu feedback (liniar părere schimb Inregistreaza-te(LFSR)). O structură tipică a unui generator PSP, prezentată în Fig. 10.15, include un registru de deplasare, care constă în – elemente private delay sau biți având stări posibile și stocarea unui element de câmp
în timpul unui interval de ceas, un circuit de feedback care include multiplicatori de elemente (stări) stocate în biți de constante , și viperă. Formarea PSP este descrisă printr-o relație recurentă a formei

unde sunt coeficienții
sunt constante fixe care îi aparțin
, conform căruia fiecare element următor al secvenței este calculat pe baza n cele anterioare.

Deoarece numărul de stări diferite ale registrului este finit (cel mult ) este inevitabilă o situație când, după un anumit număr de cicluri, starea se repetă sub forma unuia dintre cele apărute anterior. Cu toate acestea, începând cu o încărcare inițială, de ex. stare fixă, diagrama din Fig. 10.15 va forma doar o singură secvență determinată de recursiunea menționată. În consecință, repetarea stării registrului duce la repetarea tuturor simbolurilor generate ulterioare, ceea ce înseamnă că orice PRP este periodic. Mai mult, în cazul unei stări zero a registrului (prezența zerourilor în toți biții), se va forma întotdeauna o secvență degenerată infinită, constând doar din zerouri. Evident, un astfel de caz este absolut fără speranță, așa că starea zero a registrului trebuie exclusă. Ca urmare, nu mai rămâne
stări permise de registru, care limitează perioada maximă posibilă a secvenței la o valoare nu mai mare decât
.

Exemplul 10.4.1. În fig. 10.16, A, este prezentată implementarea unui generator bazat pe un registru de deplasare cu feedback liniar, generând o secvență binară pseudo-aleatorie a perioadei
. Rețineți că, în cazul PSP-ului binar, înmulțirea cu unu este echivalentă cu simpla conectare a ieșirii biților la sumator. Orez. 10.16, b, ilustrează conținutul succesiv al registrului (stări de biți), precum și starea ieșirii de feedback (punctul de feedback din diagramă) atunci când sunt aplicate impulsuri de ceas. Secvența se citește sub forma stărilor succesive ale extremei n rang egal. Citirea stărilor altor biți are ca rezultat copii ale aceleiași secvențe, deplasate cu unul sau două cicluri de ceas.

La prima vedere, se poate presupune că utilizarea lățimii de bandă a memoriei pe termen lung poate oferi o securitate destul de ridicată. De exemplu, în sistemul de comunicații mobile celulare al standardului IS-95, PSP-ul perioadei este folosit ca amestecare.
printre jetoanele elementare. La o viteză a cipului de 1,228810 6 simboluri/sec, perioada sa este:

Prin urmare, se poate presupune că, deoarece secvența nu se repetă pe o perioadă atât de lungă, ea poate fi considerată aleatorie și oferă un secret perfect. Cu toate acestea, există o diferență fundamentală între o secvență pseudo-aleatoare și o secvență cu adevărat aleatoare: o secvență pseudo-aleatoare este formată conform unui algoritm. Astfel, dacă algoritmul este cunoscut, atunci secvența în sine va fi cunoscută. Ca rezultat al acestei caracteristici, o schemă de criptare care utilizează un registru de deplasare cu feedback liniar este vulnerabilă la un atac de text simplu cunoscut.

Pentru a determina atingerile de feedback, starea inițială a registrului și întreaga secvență, criptoanalistul trebuie doar să aibă
biți de text simplu și textul cifrat corespunzător. Evident, valoarea 2 n semnificativ mai mică decât perioada PSP, egală cu
. Să ilustrăm vulnerabilitatea menționată cu un exemplu.

Exemplul 10.4.2. Lăsați perioada PSP să fie folosită ca amestec
, generat folosind recursiunea formei

la starea iniţială a registrului 0001. Ca urmare, se va genera secvenţa. Să presupunem că un criptoanalist, care nu știe nimic despre structura de feedback a generatorului PSP, a reușit să obțină
bit din criptogramă și echivalentul său deschis:

Apoi, prin adăugarea ambelor secvențe modulo 2, criptoanalistul are la dispoziție un fragment din secvența de amestecare, care arată starea registrului de deplasare în momente diferite. Deci, de exemplu, primii patru biți ai secvenței de taste corespund stării registrului la un moment dat în timp . Dacă acum deplasăm fereastra care alocă biții cvadrupli cu o poziție spre dreapta, atunci stările registrului de deplasare vor fi obținute în momente succesive de timp.
. Având în vedere structura liniară a circuitului de feedback, putem scrie asta

Unde simbolul PSP, care este generat de circuitul de feedback și furnizat la intrarea primei cifre a registrului și
determină absenţa sau prezenţa i-a conexiune între ieșirea bitului de registru de deplasare și sumator, adică circuit de feedback.

Analizând stările registrului de deplasare la patru momente consecutive de timp, putem crea următorul sistem de patru ecuații cu patru necunoscute:

Rezolvarea acestui sistem de ecuații dă următoarele valori ale coeficientului:

Astfel, după ce s-a determinat diagrama de conexiune de feedback a registrului liniar și cunoscând starea acestuia la momentul de timp , criptoanalistul este capabil să reproducă secvența de amestecare la un moment arbitrar în timp și, prin urmare, este capabil să decripteze criptograma interceptată.

Generalizarea exemplului considerat la cazul unui registru arbitrar de deplasare a memoriei n, ecuația inițială poate fi reprezentată ca

,

iar sistemul de ecuații se scrie sub următoarea formă matriceală

,

Unde
, A
.

Se poate arăta că coloanele matricei sunt liniar independente și, prin urmare, există o matrice inversă
. Prin urmare

.

Inversarea matricei necesită ordine operațiuni, deci când
avem
, că pentru un computer cu viteză de funcționare, o operație în 1 μs va necesita 1 secundă pentru a inversa matricea. Evident, slăbiciunea registrului de deplasare se datorează liniarității feedback-ului.

Pentru a face mai dificil pentru analiști să calculeze elementele PSP atunci când compară text simplu și fragmente de text cifrat, este utilizat feedback-ul asupra rezultatului și al textului cifrat. În fig. 10.17 explică principiul introducerii feedback-ului prin text cifrat.

Orez. 10.17. Criptare în flux cu feedback.

În primul rând, este transmis un preambul, care conține informații despre parametrii PSP-ului generat, inclusiv valoarea fazei inițiale. Z 00. Pentru fiecare n simbolurile de cifrare generate sunt calculate și o nouă valoare de fază este setată în generator
. Feedback-ul face ca metoda gamma să fie sensibilă la distorsiunile criptogramei. Astfel, din cauza interferenței în canalul de comunicație, unele simboluri primite pot fi distorsionate, ceea ce va duce la calcularea unei valori eronate a fazei PRP și va complica decodificarea ulterioară, dar după primire. n caractere criptate corecte, sistemul este restaurat. În același timp, o astfel de distorsiune poate fi explicată prin încercarea unui atacator de a impune date false.

Serghei Panasenko,
Șef al departamentului de dezvoltare software la Ankad,
[email protected]

Noțiuni de bază

Procesul de conversie a datelor deschise în date criptate și invers se numește de obicei criptare, iar cele două componente ale acestui proces sunt numite criptare și, respectiv, decriptare. Matematic, această transformare este reprezentată de următoarele dependențe care descriu acțiuni cu informațiile originale:

C = Ek1(M)

M" = Dk2(C),

unde M (mesaj) este informație deschisă (în literatura despre securitatea informațiilor este adesea numită „text sursă”);
C (text cifrat) - textul cifrat (sau criptograma) obținut ca urmare a criptării;
E (criptare) - o funcție de criptare care efectuează transformări criptografice asupra textului sursă;
k1 (cheie) - parametrul funcției E, numită cheie de criptare;
M" - informații obținute ca urmare a decriptării;
D (decriptare) - funcție de decriptare care realizează transformări criptografice inverse asupra textului cifrat;
k2 este cheia folosită pentru decriptarea informațiilor.

Conceptul de „cheie” din standardul GOST 28147-89 (algoritm de criptare simetrică) este definit după cum urmează: „o stare secretă specifică a unor parametri ai algoritmului de transformare criptografică, asigurând selecția unei transformări dintr-un set de transformări posibile pentru un algoritm dat.” Cu alte cuvinte, cheia este un element unic cu ajutorul căruia poți modifica rezultatele algoritmului de criptare: același text sursă va fi criptat diferit atunci când folosești chei diferite.

Pentru ca rezultatul decriptării să se potrivească cu mesajul original (adică, pentru M" = M), trebuie îndeplinite două condiții simultan. În primul rând, funcția de decriptare D trebuie să se potrivească cu funcția de criptare E. În al doilea rând, cheia de decriptare k2 trebuie să se potrivească cu criptarea tasta k1.

Dacă pentru criptare a fost folosit un algoritm de criptare puternic din punct de vedere criptografic, atunci în absența cheii corecte k2 este imposibil să se obțină M" = M. Puterea criptografică este principala caracteristică a algoritmilor de criptare și indică în primul rând gradul de complexitate al obținerii originalei. text dintr-un text criptat fără cheie k2.

Algoritmii de criptare pot fi împărțiți în două categorii: criptare simetrică și asimetrică. Pentru primul, raportul dintre cheile de criptare și de decriptare este definit ca k1 = k2 = k (adică, funcțiile E și D folosesc aceeași cheie de criptare). Cu criptarea asimetrică, cheia de criptare k1 este calculată din cheia k2 în așa fel încât transformarea inversă să fie imposibilă, de exemplu, folosind formula k1 = ak2 mod p (a și p sunt parametrii algoritmului utilizat).

Criptare simetrică

Algoritmii de criptare simetrică datează din cele mai vechi timpuri: această metodă de a ascunde informații a fost folosită de împăratul roman Gaius Julius Caesar în secolul I î.Hr. e., iar algoritmul inventat de el este cunoscut sub numele de „criptosistem Caesar”.

În prezent, cel mai cunoscut algoritm de criptare simetrică este DES (Data Encryption Standard), dezvoltat în 1977. Până de curând, a fost „standardul SUA”, întrucât guvernul acestei țări recomanda utilizarea lui pentru implementarea diferitelor sisteme de criptare a datelor. În ciuda faptului că DES a fost inițial planificat să fie utilizat pentru cel mult 10-15 ani, încercările de a-l înlocui au început abia în 1997.

Nu vom lua în considerare DES în detaliu (aproape toate cărțile de pe lista de materiale suplimentare au o descriere detaliată a acestuia), ci ne vom întoarce la algoritmi de criptare mai moderni. Este de remarcat doar faptul că principalul motiv pentru modificarea standardului de criptare este puterea sa criptografică relativ slabă, motivul pentru care lungimea cheii DES este de numai 56 de biți semnificativi. Se știe că orice algoritm de criptare puternic poate fi spart încercând toate cheile de criptare posibile (așa-numitul atac de forță brută). Este ușor de calculat că un grup de 1 milion de procesoare, fiecare dintre ele calculând 1 milion de chei pe secundă, va verifica 256 de variante de chei DES în aproape 20 de ore Și, deoarece o astfel de putere de calcul este destul de realistă în conformitate cu standardele actuale, este clar că o cheie de 56 de biți este prea scurtă și algoritmul DES trebuie înlocuit cu unul mai puternic.

Astăzi, doi algoritmi moderni de criptare puternici sunt din ce în ce mai folosiți: standardul intern GOST 28147-89 și noul standard cripto din SUA - AES (Advanced Encryption Standard).

Standard GOST 28147-89

Algoritmul definit de GOST 28147-89 (Fig. 1) are o lungime a cheii de criptare de 256 de biți. Acesta criptează informațiile în blocuri de 64 de biți (astfel de algoritmi se numesc algoritmi bloc), care sunt apoi împărțiți în două subblocuri de 32 de biți (N1 și N2). Subblocul N1 este procesat într-un anumit mod, după care valoarea sa este adăugată cu valoarea subblocului N2 (adăugarea se efectuează modulo 2, adică se aplică operația XOR logică - „exclusiv sau”), iar apoi subblocurile sunt schimbate. Această transformare este efectuată de un anumit număr de ori („runde”): 16 sau 32, în funcție de modul de funcționare al algoritmului. În fiecare rundă se efectuează două operații.

Primul este cheiatul. Conținutul subblocului N1 este adăugat modulo 2 cu partea de 32 de biți a cheii Kx. Cheia de criptare completă este reprezentată ca o concatenare de subchei pe 32 de biți: K0, K1, K2, K3, K4, K5, K6, K7. În timpul procesului de criptare, se utilizează una dintre aceste subchei, în funcție de numărul rotund și de modul de funcționare al algoritmului.

A doua operație este înlocuirea mesei. După introducere, subblocul N1 este împărțit în 8 părți a câte 4 biți, valoarea fiecăruia fiind înlocuită în conformitate cu tabelul de înlocuire pentru această parte a subblocului. Subblocul este apoi rotit cu 11 biți spre stânga.

Inlocuiri de tabel(Cutie de substituție - S-box) sunt adesea folosite în algoritmii moderni de criptare, așa că merită explicat cum este organizată o astfel de operațiune. Valorile de ieșire ale blocurilor sunt înregistrate în tabel. Un bloc de date de o anumită dimensiune (în cazul nostru, de 4 biți) are propria sa reprezentare numerică, care determină numărul valorii de ieșire. De exemplu, dacă S-box arată ca 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 și blocul de 4 biți „0100” a venit la intrare (valoarea 4), apoi, conform tabelului, valoarea de ieșire va fi 15, adică „1111” (0 a 4, 1 a 11, 2 a 2 ...).

Algoritmul, definit de GOST 28147-89, oferă patru moduri de funcționare: înlocuire simplă, gamma, gamma cu feedback și generarea de atașamente de imitație. Ei folosesc aceeași transformare de criptare descrisă mai sus, dar, deoarece scopul modurilor este diferit, această transformare se realizează diferit în fiecare dintre ele.

În modul inlocuire usoara Pentru a cripta fiecare bloc de informații pe 64 de biți, sunt efectuate cele 32 de runde descrise mai sus. În acest caz, subcheile pe 32 de biți sunt utilizate în următoarea secvență:

K0, K1, K2, K3, K4, K5, K6, K7, K0, K1 etc. - în rundele 1 până la 24;

K7, K6, K5, K4, K3, K2, K1, K0 - în rundele 25 până la 32.

Decriptarea în acest mod se realizează exact în același mod, dar cu o secvență ușor diferită de utilizare a subcheilor:

K0, K1, K2, K3, K4, K5, K6, K7 - în rundele 1 până la 8;

K7, K6, K5, K4, K3, K2, K1, K0, K7, K6 etc. - în rundele 9 până la 32.

Toate blocurile sunt criptate independent unul de celălalt, adică rezultatul criptării fiecărui bloc depinde numai de conținutul acestuia (blocul corespunzător al textului original). Dacă există mai multe blocuri identice de text original (plat), blocurile de text cifrat corespunzătoare vor fi, de asemenea, identice, ceea ce oferă informații utile suplimentare pentru un criptoanalist care încearcă să spargă cifrul. Prin urmare, acest mod este utilizat în principal pentru criptarea cheilor de criptare în sine (se implementează foarte des schemele cu mai multe chei, în care, din mai multe motive, cheile sunt criptate una pe cealaltă). Alte două moduri de operare sunt destinate criptării informațiilor în sine - gamma și gamma cu feedback.

ÎN modul gamma Fiecare bloc de text simplu este adăugat bit cu bit modulo 2 la un bloc gamma de criptare de 64 de biți. Cifrul gamma este o secvență specială care se obține în urma anumitor operații cu registrele N1 și N2 (vezi Fig. 1).

1. Umplerea lor inițială este scrisă în registrele N1 și N2 - o valoare de 64 de biți numită mesaj de sincronizare.

2. Conținutul registrelor N1 și N2 (în acest caz, mesajele de sincronizare) este criptat în modul de înlocuire simplă.

3. Conținutul registrului N1 se adaugă modulo (232 - 1) cu constanta C1 = 224 + 216 + 28 + 24, iar rezultatul adunării se scrie în registrul N1.

4. Conținutul registrului N2 se adaugă modulo 232 cu constanta C2 = 224 + 216 + 28 + 1, iar rezultatul adunării se scrie în registrul N2.

5. Conținutul registrelor N1 și N2 este scos ca un bloc gamma de 64 de biți al cifrului (în acest caz, N1 și N2 formează primul bloc gamma).

Dacă este necesar următorul bloc gamma (adică, criptarea sau decriptarea trebuie să continue), se revine la pasul 2.

Pentru decriptare, gamma este generată într-un mod similar, iar apoi textul cifrat și biții gamma sunt din nou XOR. Întrucât această operație este reversibilă, în cazul unei scale corect dezvoltate, se obține textul original (tabelul).

Criptare și decriptare în modul gamma

Pentru a dezvolta cifrul necesar pentru decriptarea gamma, utilizatorul care decriptează criptograma trebuie să aibă aceeași cheie și aceeași valoare a mesajului de sincronizare care au fost folosite la criptarea informațiilor. În caz contrar, nu se va putea obține textul original din cel criptat.

În majoritatea implementărilor algoritmului GOST 28147-89, mesajul de sincronizare nu este secret, cu toate acestea, există sisteme în care mesajul de sincronizare este același element secret ca și cheia de criptare. Pentru astfel de sisteme, lungimea efectivă a cheii a algoritmului (256 de biți) este mărită cu alți 64 de biți ai mesajului secret de sincronizare, care poate fi considerat și ca element cheie.

În modul feedback gamma, pentru a umple registrele N1 și N2, începând cu al 2-lea bloc, nu se folosește blocul gamma anterior, ci rezultatul criptării blocului de text simplu anterior (Fig. 2). Primul bloc din acest mod este generat complet similar cu cel anterior.

Orez. 2. Dezvoltarea unui cifr gamma în modul gamma cu feedback.

Având în vedere modul generarea de prefixe de imitaţie, ar trebui definit conceptul de subiect al generației. Un prefix este o sumă de control criptografică calculată folosind o cheie de criptare și concepută pentru a verifica integritatea mesajelor. La generarea unui prefix de imitație, se efectuează următoarele operații: primul bloc de 64 de biți al matricei de informații, pentru care se calculează prefixul de imitație, este scris în registrele N1 și N2 și criptat în modul de înlocuire simplă redusă ( sunt efectuate primele 16 runde din 32). Rezultatul rezultat este însumat modulo 2 cu următorul bloc de informații și rezultatul este stocat în N1 și N2.

Ciclul se repetă până la ultimul bloc de informații. Conținutul rezultat pe 64 de biți al registrelor N1 și N2 sau o parte a acestora ca urmare a acestor transformări se numește prefix de imitație. Mărimea prefixului de imitație este selectată în funcție de fiabilitatea necesară a mesajelor: cu lungimea prefixului de imitație r biți, probabilitatea ca o modificare a mesajului să treacă neobservată este egală cu 2-r. Cel mai adesea, un Se folosește prefixul de imitație de 32 de biți, adică jumătate din conținutul registrelor. Acest lucru este suficient, deoarece, ca orice sumă de control, atașamentul de imitație este destinat în primul rând să protejeze împotriva distorsiunii accidentale a informațiilor. Pentru a proteja împotriva modificării intenționate a datelor, se folosesc alte metode criptografice - în primul rând o semnătură digitală electronică.

La schimbul de informații, prefixul de imitație servește ca un fel de mijloc suplimentar de control. Este calculat pentru textul simplu atunci când orice informație este criptată și este trimisă împreună cu textul cifrat. După decriptare, o nouă valoare a prefixului de imitație este calculată și comparată cu cea trimisă. Dacă valorile nu se potrivesc, înseamnă că textul cifrat a fost corupt în timpul transmiterii sau au fost folosite chei incorecte în timpul decriptării. Prefixul de imitație este util în special pentru verificarea decriptării corecte a informațiilor cheie atunci când se utilizează scheme cu mai multe chei.

Algoritmul GOST 28147-89 este considerat un algoritm foarte puternic - în prezent nu au fost propuse metode mai eficiente pentru dezvăluirea sa decât metoda „forță brută” menționată mai sus. Securitatea sa ridicată este atinsă în primul rând datorită lungimii mari a cheii - 256 de biți. Când utilizați un mesaj de sincronizare secretă, lungimea efectivă a cheii crește la 320 de biți, iar criptarea tabelului de înlocuire adaugă biți suplimentari. În plus, puterea criptografică depinde de numărul de runde de transformare, care conform GOST 28147-89 ar trebui să fie 32 (efectul complet al dispersării datelor de intrare este atins după 8 runde).

Standardul AES

Spre deosebire de algoritmul GOST 28147-89, care a rămas secret multă vreme, standardul american de criptare AES, conceput pentru a înlocui DES, a fost selectat printr-un concurs deschis, în care toate organizațiile și persoanele interesate au putut studia și comenta algoritmii candidați.

Un concurs pentru înlocuirea DES a fost anunțat în 1997 de către Institutul Național de Standarde și Tehnologie din SUA (NIST - Institutul Național de Standarde și Tehnologie). La concurs au fost supuși 15 algoritmi candidați, dezvoltați atât de organizații cunoscute din domeniul criptografiei (RSA Security, Counterpane etc.), cât și de persoane fizice. Rezultatele competiției au fost anunțate în octombrie 2000: câștigătorul a fost algoritmul Rijndael, dezvoltat de doi criptografi din Belgia, Vincent Rijmen și Joan Daemen.

Algoritmul Rijndael nu este similar cu cei mai cunoscuți algoritmi de criptare simetrică, a căror structură se numește „rețea Feistel” și este similară cu GOST rusesc 28147-89. Particularitatea rețelei Feistel este că valoarea de intrare este împărțită în două sau mai multe subblocuri, dintre care o parte în fiecare rundă este procesată conform unei anumite legi, după care este suprapusă subblocurilor neprocesate (vezi Fig. 1).

Spre deosebire de standardul de criptare autohton, algoritmul Rijndael reprezintă un bloc de date sub forma unei matrice bidimensionale de octeți de dimensiunea 4X4, 4X6 sau 4X8 (este permisă utilizarea mai multor dimensiuni fixe ale blocului de informații criptat). Toate operațiunile sunt efectuate pe octeți individuali ai matricei, precum și pe coloane și rânduri independente.

Algoritmul Rijndael efectuează patru transformări: BS (ByteSub) - înlocuirea tabelului a fiecărui octet al matricei (Fig. 3); SR (ShiftRow) - deplasarea rândurilor matricei (Fig. 4). Cu această operație, prima linie rămâne neschimbată, iar restul sunt deplasate ciclic octet cu octet la stânga cu un număr fix de octeți, în funcție de dimensiunea matricei. De exemplu, pentru o matrice 4X4, liniile 2, 3 și 4 sunt deplasate cu 1, 2 și, respectiv, 3 octeți. Urmează MC (MixColumn) - o operație pe coloane matrice independente (Fig. 5), când fiecare coloană este înmulțită cu o matrice fixă ​​c(x) conform unei anumite reguli. Și, în sfârșit, AK (AddRoundKey) - adăugarea unei chei. Fiecare bit al matricei este adăugat modulo 2 cu bitul corespunzător al cheii rotunde, care, la rândul său, este calculat într-un anumit mod din cheia de criptare (Fig. 6).


Orez. 3. Operațiunea BS.

Orez. 4. Operațiunea SR.

Orez. 5. Operațiunea MC.

Numărul de runde de criptare (R) în algoritmul Rijndael este variabil (10, 12 sau 14 runde) și depinde de dimensiunea blocului și de cheia de criptare (există și mai multe dimensiuni fixe pentru cheie).

Decriptarea se realizează utilizând următoarele operații inverse. O inversare a tabelului și înlocuirea tabelului sunt efectuate pe tabelul invers (față de cel utilizat în timpul criptării). Operația inversă față de SR este de a roti rândurile spre dreapta și nu spre stânga. Operația inversă pentru MC este înmulțirea folosind aceleași reguli cu o altă matrice d(x) care îndeplinește condiția: c(x) * d(x) = 1. Adăugarea cheii AK este inversul acesteia, deoarece folosește doar XOR Operațiune. Aceste operații inverse sunt aplicate în timpul decriptării în secvența inversă celei utilizate în timpul criptării.

Rijndael a devenit noul standard pentru criptarea datelor datorită unui număr de avantaje față de alți algoritmi. În primul rând, oferă viteză mare de criptare pe toate platformele: atât implementare software, cât și hardware. Se remarcă prin posibilități incomparabil mai bune de paralelizare a calculelor în comparație cu alți algoritmi supuși competiției. În plus, cerințele de resurse pentru funcționarea sa sunt minime, ceea ce este important atunci când este utilizat în dispozitive cu capacități de calcul limitate.

Singurul dezavantaj al algoritmului poate fi considerat schema sa neconvențională inerentă. Faptul este că proprietățile algoritmilor bazați pe rețeaua Feistel au fost bine cercetate, iar Rijndael, în schimb, poate conține vulnerabilități ascunse care pot fi descoperite doar după ce a trecut ceva timp de la începutul utilizării sale pe scară largă.

Criptare asimetrică

Algoritmii de criptare asimetrică, după cum sa menționat deja, folosesc două chei: k1 - cheia de criptare sau publică și k2 - cheia de decriptare sau secretă. Cheia publică se calculează din secretul: k1 = f(k2).

Algoritmii de criptare asimetrică se bazează pe utilizarea funcțiilor unidirecționale. Prin definiție, o funcție y = f(x) este unidirecțională dacă: este ușor de calculat pentru toate valorile posibile ale lui x și pentru cele mai multe valori posibile ale lui y este destul de dificil să se calculeze o valoare a lui x astfel încât y = f(x).

Un exemplu de funcție unidirecțională este înmulțirea a două numere mari: N = P*Q. În sine, o astfel de înmulțire este o operație simplă. Cu toate acestea, funcția inversă (descompunerea lui N în doi factori mari), numită factorizare, conform estimărilor timpului modern, este o problemă matematică destul de complexă. De exemplu, factorizarea N cu o dimensiune de 664 biți la P ? Q va necesita aproximativ 1023 de operații, iar pentru a calcula invers x pentru exponentul modular y = ax mod p cu cunoscute a, p și y (cu aceleași dimensiuni de a și p) trebuie să efectuați aproximativ 1026 de operații. Ultimul exemplu dat se numește Problema logaritmului discret (DLP), iar acest tip de funcție este adesea folosit în algoritmii de criptare asimetrică, precum și în algoritmii utilizați pentru a crea o semnătură digitală electronică.

O altă clasă importantă de funcții utilizate în criptarea asimetrică sunt funcțiile backdoor unidirecționale. Definiția lor afirmă că o funcție este unidirecțională cu o ușă din spate dacă este unidirecțională și este posibil să se calculeze eficient funcția inversă x = f-1(y), adică dacă "ușa din spate" (un număr secret, aplicat pentru criptarea asimetrică). algoritmi - valoarea cheii secrete).

Funcțiile backdoor unidirecționale sunt utilizate în algoritmul de criptare asimetric RSA, utilizat pe scară largă.

algoritmul RSA

Dezvoltat în 1978 de trei autori (Rivest, Shamir, Adleman), și-a primit numele de la primele litere ale numelor dezvoltatorilor. Fiabilitatea algoritmului se bazează pe dificultatea factorizării numerelor mari și calculării logaritmilor discreti. Parametrul principal al algoritmului RSA este modulul de sistem N, care este utilizat pentru a efectua toate calculele din sistem și N = P*Q (P și Q sunt numere prime mari secrete aleatoare, de obicei de aceeași dimensiune).

Cheia secretă k2 este aleasă aleatoriu și trebuie să îndeplinească următoarele condiții:

1

unde GCD este cel mai mare divizor comun, adică k1 trebuie să fie coprime față de valoarea funcției Euler F(N), aceasta din urmă fiind egală cu numărul de numere întregi pozitive din intervalul de la 1 la N coprime la N și se calculează ca F(N) = (P - 1)*(Q - 1).

Cheia publică k1 se calculează din relație (k2*k1) = 1 mod F(N), iar în acest scop se folosește algoritmul euclidian generalizat (algoritm de calcul al celui mai mare divizor comun). Criptarea blocului de date M folosind algoritmul RSA se realizează după cum urmează: C=M [la puterea k1] mod N. Rețineți că, deoarece într-un criptosistem real care utilizează RSA numărul k1 este foarte mare (în prezent, dimensiunea sa poate ajunge până la 2048 de biți), calculul direct al lui M [la puterea k1] ireal. Pentru a-l obține, se folosește o combinație de pătrat repetat a lui M și înmulțirea rezultatelor.

Inversarea acestei funcții pentru dimensiuni mari nu este fezabilă; cu alte cuvinte, este imposibil să găsim M având în vedere C, N și k1 cunoscute. Cu toate acestea, având o cheie secretă k2, folosind transformări simple se poate calcula M = Ck2 mod N. Evident, pe lângă cheia secretă în sine, este necesar să se asigure secretul parametrilor P și Q. Dacă un atacator obține valorile acestora , el va putea calcula cheia secretă k2.

Care criptare este mai bună?

Principalul dezavantaj al criptării simetrice este necesitatea de a transfera cheile „din mână în mână”. Acest dezavantaj este foarte grav, deoarece face imposibilă utilizarea criptării simetrice în sistemele cu un număr nelimitat de participanți. Cu toate acestea, în caz contrar, criptarea simetrică are unele avantaje care sunt clar vizibile pe fondul dezavantajelor serioase ale criptării asimetrice.

Prima dintre ele este viteza redusă a operațiunilor de criptare și decriptare, din cauza prezenței operațiunilor care consumă intens resurse. Un alt dezavantaj „teoretic” este că puterea criptografică a algoritmilor de criptare asimetrică nu a fost dovedită matematic. Acest lucru se datorează în primul rând problemei logaritmului discret - încă nu s-a dovedit că soluția sa într-un timp acceptabil este imposibilă. Dificultăți inutile sunt create și de necesitatea de a proteja cheile publice împotriva înlocuirii - prin înlocuirea cheii publice a unui utilizator legal, un atacator va putea cripta un mesaj important cu cheia sa publică și, ulterior, îl va decripta cu ușurință cu cheia sa privată.

Cu toate acestea, aceste neajunsuri nu împiedică utilizarea pe scară largă a algoritmilor de criptare asimetrică. Astăzi există criptosisteme care acceptă certificarea cheilor publice, precum și combinarea algoritmilor de criptare simetrici și asimetrici. Dar acesta este un subiect pentru un articol separat.

Surse suplimentare de informații

Pentru acei cititori care sunt serios interesați de criptare, autorul recomandă lărgirea orizontului lor cu ajutorul cărților următoare.

  1. Brassard J. „Criptologie modernă”.
  2. Petrov A. A. „Securitatea computerelor: metode criptografice de protecție”.
  3. Romanets Yu. V., Timofeev P. A., Shangin V. F. „Protecția informațiilor în sistemele informatice moderne”.
  4. Sokolov A.V., Shangin V.F. „Protecția informațiilor în rețelele și sistemele corporative distribuite”.

O descriere completă a algoritmilor de criptare poate fi găsită în următoarele documente:

  1. GOST 28147-89. Sistem de prelucrare a informațiilor. Protecție criptografică. Algoritm de conversie criptografică. - M.: Standardul de stat al URSS, 1989.
  2. Algoritmul AES: http://www.nist.gov/ae.
  3. Algoritm RSA: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1.

În unele surse, steganografia, codificarea și comprimarea informațiilor sunt legate de ramuri de cunoaștere adiacente criptografiei, dar nu sunt incluse în aceasta.

Metodele de criptare tradiționale (clasice) includ cifrurile de permutare, cifrurile de substituție simple și complexe, precum și unele dintre modificările și combinațiile acestora. Combinațiile de cifruri de permutare și de substituție formează întreaga varietate de cifruri simetrice utilizate în practică.

Cifre de permutare.În criptarea prin permutare, caracterele textului criptat sunt rearanjate conform unei anumite reguli în cadrul unui bloc din acest text. Cifrele de permutare sunt cele mai simple și probabil cele mai vechi cifre.

Tabelele de criptare.În tabelele de criptare sunt utilizate următoarele chei: dimensiunea tabelului, un cuvânt sau o expresie care specifică permutarea și caracteristicile structurii tabelului.

Unul dintre cele mai primitive cifruri de permutare a tabelului este permutarea simplă, pentru care cheia este dimensiunea tabelului. Desigur, expeditorul și destinatarul mesajului trebuie să cadă de acord în prealabil asupra unei chei partajate sub forma unei dimensiuni de tabel. Trebuie remarcat faptul că combinarea literelor de text cifrat în grupuri de 8 litere nu este inclusă în cheia de cifrare și se realizează pentru confortul scrierii unui text fără sens. La decriptare, pașii sunt efectuati în ordine inversă.


O metodă de criptare numită permutare cu o singură cheie este oarecum mai rezistentă la dezvăluire. Această metodă diferă de cea anterioară prin faptul că coloanele tabelului sunt rearanjate printr-un cuvânt cheie, o expresie sau un set de numere pe lungimea rândului tabelului.

Pentru a oferi confidențialitate suplimentară, puteți recripta un mesaj care a fost deja criptat. Această metodă de criptare se numește dublă permutare. În cazul permutării duble a coloanelor și rândurilor, permutările tabelului se determină separat pentru coloane și pentru rânduri. Mai întâi, textul mesajului este scris în tabel în coloane, apoi coloanele sunt rearanjate una câte una, apoi rândurile.

Numărul de opțiuni de permutare dublă crește rapid odată cu creșterea dimensiunii tabelului: pentru un tabel 3x3 - 36 opțiuni, pentru un tabel 4x4 - 576 opțiuni, pentru un tabel 5x5 - 14400 opțiuni. Cu toate acestea, permutarea dublă nu este foarte sigură și este relativ ușor de „crapat” pentru orice dimensiune a tabelului de criptare.

Cifre de substituție simple. La criptarea prin substituire (substituție), caracterele textului criptat sunt înlocuite cu caractere din același alfabet sau alt alfabet cu o regulă de înlocuire prestabilită. Într-un cifr de substituție simplu, fiecare caracter al textului original este înlocuit cu caractere din același alfabet folosind aceeași regulă în tot textul. Cifrele simple de substituție sunt adesea numite cifruri de substituție monoalfabetice.

Sistemul de cifrare Caesar . Cifrul Caesar este un caz special al unui cifr de substituție simplu (substituție alfabetică unică). Acest cifru și-a primit numele de la împăratul roman Gaius Julius Caesar, care a folosit acest cifr în corespondență.

La criptarea textului sursă, fiecare literă a fost înlocuită cu o altă literă din același alfabet conform următoarei reguli. Litera de înlocuire a fost determinată de deplasarea alfabetică m de la scrisoarea originală la k scrisori Când s-a ajuns la sfârșitul alfabetului, a fost efectuată o tranziție ciclică la începutul său. Cezar a folosit alfabetul latin m= 26 și cifrul de înlocuire offset k= 3. Un astfel de cifr de substituție poate fi specificat printr-un tabel de substituție care conține perechi corespunzătoare de litere de text simplu și de text cifrat. Setul de posibile substituții pentru k= 3 este prezentat în Tabelul 6.1.

Tabelul 6.1 - Substituții monoalfabetice (k = 3, m = 26)

Sistemul de criptare Caesar formează în esență o familie de substituții mono-alfabetice pentru valorile cheilor selectabile k, și 0 £ k < m. Avantajul sistemului de criptare Caesar este ușurința de criptare și decriptare.

Dezavantajele sistemului Caesar includ următoarele:

Înlocuirile efectuate conform sistemului Caesar nu maschează frecvențele de apariție a diferitelor litere în textul clar original;

Se menține ordinea alfabetică în succesiunea literelor de înlocuire; când se schimbă valoarea lui k, se schimbă doar pozițiile inițiale ale unei astfel de secvențe;

Numărul de taste posibile k este mic;

Cifrul Caesar poate fi spart cu ușurință prin analizarea frecvenței de apariție a literelor în textul cifrat.

Un atac criptoanalitic împotriva unui sistem de substituție mono-alfabetică începe cu numărarea frecvențelor simbolurilor: este determinat de câte ori apare fiecare literă în textul cifrat. Distribuția de frecvență rezultată a literelor din textul cifrat este apoi comparată cu distribuția de frecvență a literelor din alfabetul mesajelor originale. Litera cu cea mai mare frecvență de apariție în textul cifrat este înlocuită cu litera cu cea mai mare frecvență de apariție în alfabet etc. Probabilitatea de a întrerupe cu succes sistemul de criptare crește pe măsură ce lungimea textului cifrat crește. În același timp, ideile încorporate în sistemul de criptare al lui Caesar s-au dovedit a fi foarte fructuoase, fapt dovedit de numeroasele lor modificări.

Sistemul de substituție afină al lui Cezar.În această transformare, litera corespunzătoare numărului t, se înlocuiește cu litera corespunzătoare valorii numerice ( la + b) modulo m. O astfel de transformare este o mapare unu-la-unu pe alfabet dacă și numai dacă gcd ( A, m) - cel mai mare divizor comun al numerelor a și m este egal cu unu, adică. dacă a și m sunt numere prime relativ.

Avantajul unui sistem afin este gestionarea convenabilă a cheilor: cheile de criptare și decriptare sunt reprezentate într-o formă compactă ca o pereche de numere ( A, b). Dezavantajele sistemului afin sunt similare cu cele ale sistemului de criptare Caesar. În practică, sistemul afin a fost folosit cu câteva secole în urmă.

Cifre de substituție complexe . Cifrurile de substituție complexe sunt numite multi-alfabetice deoarece un cifr de substituție simplu diferit este folosit pentru a cripta fiecare caracter al mesajului original. Substituția multi-alfabetică schimbă secvenţial și ciclic alfabetele utilizate. La r-simbol de substituție alfabetică X 0 al mesajului original este înlocuit cu simbolul y 0 din alfabet B 0, caracter X 1 - simbol y 1 din alfabet B 1 etc.; simbol x r-1 este înlocuit cu simbolul y r-1 din alfabet B r-1 , caracter x rînlocuit cu simbolul y r din nou din alfabet B 0, etc.

Efectul utilizării substituției polialfabetice este că oferă mascarea statisticilor naturale ale limbii sursă, deoarece un anumit caracter este din alfabetul sursă. A poate fi convertit în mai multe caractere din alfabetul cifrat B j. Gradul de protecție oferit este teoretic proporțional cu durata perioadei rîn succesiunea alfabetelor folosite B j.

Sistem Criptare Viginère . Sistemul Viginère este similar cu un sistem de criptare Caesar în care cheia de înlocuire se schimbă de la literă la literă. Acest cifr de substituție polialfabetică poate fi descris printr-un tabel de criptare numit tabel Viginère (pătrat). Tabelul Viginère este folosit atât pentru criptare, cât și pentru decriptare.

Are două intrări:

Linia de sus a caracterelor subliniate folosită pentru a citi următoarea literă a textului simplu original;

Coloana din stânga a tastei.

Secvența de taste este de obicei derivată din valorile numerice ale literelor cuvântului cheie. Când se criptează mesajul original, acesta este scris într-o linie, iar sub el este scris un cuvânt cheie (sau o expresie).

Dacă tasta este mai scurtă decât mesajul, se repetă ciclic. În timpul procesului de criptare, următoarea literă a textului sursă se găsește în rândul de sus al tabelului, iar următoarea valoare a cheii este găsită în coloana din stânga. Următoarea literă de text cifrat este situată la intersecția coloanei definite de litera criptată și rândul definit de valoarea numerică a cheii.

Cifre unice. Aproape toate cifrurile utilizate în practică sunt caracterizate ca fiind sigure condiționat, deoarece pot fi, în principiu, sparte, având în vedere puterea de calcul nelimitată. Cifrele absolut puternice nu pot fi sparte chiar și cu o putere de calcul nelimitată. Singurul astfel de cifr folosit în practică este sistemul de criptare unică. O trăsătură caracteristică a unui sistem de criptare unică este utilizarea unică a secvenței de chei.

Acest cifru este absolut sigur dacă cheia este setată K i cu adevărat aleatoriu și imprevizibil. Dacă un criptoanalist încearcă să folosească toate seturile posibile de chei pentru un anumit text cifrat și să recupereze toate versiunile posibile ale textului original, atunci toate se vor dovedi a fi la fel de probabile. Nu există nicio modalitate de a selecta textul original care a fost trimis efectiv. S-a dovedit teoretic că sistemele unice sunt sisteme nedescifrabile, deoarece textul lor cifrat nu conține suficiente informații pentru a recupera textul simplu.

Posibilitățile de utilizare a unui sistem de unică folosință sunt limitate de aspecte pur practice. Un punct esențial este cerința pentru o singură utilizare a unei secvențe aleatorii de taste. O secvență de taste cu o lungime nu mai mică decât lungimea mesajului trebuie transmisă destinatarului mesajului în avans sau separat printr-un canal secret. O astfel de cerință este practic dificil de implementat pentru sistemele moderne de procesare a informațiilor, unde este necesară criptarea multor milioane de caractere, cu toate acestea, în cazuri justificate, construirea de sisteme cu cifruri unice este cea mai potrivită.

Din punct de vedere istoric, s-au distins codificatoarele cu scale externe și interne. Criptoarele gamma externe folosesc ca cheie o secvență aleatoare unică, a cărei lungime este egală cu lungimea mesajului criptat. În criptoarele cu gamma internă, o secvență aleatorie reutilizabilă de lungime mult mai mică decât lungimea textului criptat este utilizată ca cheie, pe baza căreia se formează gama cifrului. Criptoarele cu gamă internă, adică având proprietatea de rezistență practică, sunt în prezent predominante în construcția sistemelor de comunicații criptate. Principalul lor avantaj este ușurința gestionării cheilor, adică pregătirea, distribuirea, livrarea și distrugerea lor. Acest avantaj face posibilă crearea unor sisteme de comunicații criptate de aproape orice dimensiune, bazate pe criptoare cu o rază internă, fără a le limita geografia și numărul de abonați.

Dezvoltarea modernă a tehnologiei informației face posibilă concentrarea unei cantități semnificative de informații pe medii fizice mici, ceea ce determină și aplicabilitatea practică a acestei abordări.

Problema construirii unui sistem de comunicații criptate bazat pe criptoare cu un gamma extern poate avea mai multe abordări ale soluției sale. De exemplu, pe baza valorii limită stabilite a volumului unui document cheie, se determină numărul optim de abonați la sistem și sarcina admisă. Pe de altă parte, este posibil, pe baza numărului necesar de abonați și a încărcării acestora, să se calculeze volumul necesar al documentului cheie.

Metoda de criptare jocuri de noroc . Gamma este înțeleasă ca procesul de aplicare a unui cifr la date deschise conform unei anumite legi gamma. Un cifru gamma este o secvență pseudo-aleatorie generată conform unui algoritm dat pentru a cripta datele deschise și a decripta datele primite.

Procesul de criptare constă în generarea unui gamma de criptare și aplicarea gama rezultată textului simplu original într-o manieră reversibilă, de exemplu, folosind adăugarea modulo-2.

Înainte de criptare, textul simplu este împărțit în blocuri de lungime egală, de obicei 64 de biți. Cifrul gamma este produs ca o secvență de lungime similară. Procesul de decriptare se reduce la regenerarea cifrului gamma și aplicarea acestui gamma la datele primite.

Textul cifrat obținut prin această metodă este destul de greu de spart, deoarece cheia este acum variabilă. În esență, gamma cifrului trebuie să se schimbe aleatoriu pentru fiecare bloc criptat. Dacă perioada gamma depășește lungimea întregului text criptat și atacatorul nu cunoaște nicio parte a textului sursă, atunci un astfel de cifru poate fi spart doar căutând direct prin toate variantele cheii. În acest caz, puterea criptografică a cifrului este determinată de lungimea cheii.

Criptarea informațiilor

Vedere principală conversie criptografică informațiile din CS sunt criptate și decriptate. Criptare– aceasta este transformarea informațiilor dintr-o formă deschisă într-una închisă (criptată). Există, de asemenea, un proces invers - decriptarea.

De-a lungul istoriei de secole a utilizării criptării informațiilor, omenirea a inventat multe metode de criptare sau cifruri. Metoda de criptare sau cod, este un set de transformări reversibile ale informațiilor deschise în informații închise în conformitate cu algoritmul de criptare. Apariția calculatoarelor și a calculatoarelor a inițiat procesul de dezvoltare a unor noi cifruri care țin cont de posibilitățile de utilizare a computerelor atât pentru criptarea/decriptarea informațiilor, cât și pentru atacuri asupra cifrului. Atacul asupra cifrului(criptanaliza) este procesul de decriptare a informațiilor private fără a cunoaște cheia și, eventual, în absența informațiilor despre algoritmul de criptare.

Puterea criptografică a unui cifr este principalul indicator al eficacității acestuia. Se măsoară prin timpul sau costul fondurilor necesare unui criptoanalist pentru a obține informațiile originale din textul cifrat, cu condiția ca acesta să nu cunoască cheia.

Păstrarea secretă a unui algoritm de criptare utilizat pe scară largă este aproape imposibilă. Prin urmare, algoritmul nu ar trebui să aibă slăbiciuni ascunse care ar putea fi exploatate de criptoanalisti. Dacă această condiție este îndeplinită, atunci puterea criptografică a cifrului este determinată de lungimea cheii, deoarece singura modalitate de a deschide informații criptate este să încercați combinații ale cheii și să executați algoritmul de decriptare. Astfel, timpul și banii cheltuiți pentru criptoanaliza depind de lungimea cheii și de complexitatea algoritmului de criptare.

Un exemplu de metodă de criptare de succes este cifrul DES (DataEncryptionStandard), folosit în SUA din 1978 ca standard guvernamental. Algoritmul de criptare nu este secret și a fost publicat în presa deschisă. În timpul utilizării sale, nu a fost descoperit niciun caz de slăbiciuni în algoritmul de criptare.

Metodele de criptare-decriptare sunt împărțite în două grupe: metode de criptare cu cheie simetrică și sisteme de criptare cu cheie publică.

La sfârşitul anilor 1970. utilizarea unei chei pe 56 de biți a asigurat că ruperea cifrului ar necesita câțiva ani de funcționare continuă a celor mai puternice computere din acea vreme. Progresul în domeniul tehnologiei informatice a făcut posibilă reducerea semnificativă a timpului necesar pentru determinarea unei chei prin căutare exhaustivă. La un cost de 300 de milioane de dolari, cheile pe 56 de biți pot fi găsite în 12 secunde. Calculele arată că în prezent, pentru a bloca în siguranță informațiile, lungimea cheii trebuie să fie de cel puțin 90 de biți.

Metodele de criptare cu chei simetrice includ:

· metode de înlocuire;

· metode de permutare;

· metode de analiză;

· metode aditive (gamming);

· metode combinate.

Sistemele de criptare cu chei publice includ:

· Sistem RSA (Rivest, Shamir și Aldeman - inventatorii algoritmului);

· Sistemul El-Gamal;

Criptosistemul McEliece.

Din punct de vedere matematic, procesul de criptare a unui mesaj M folosind algoritmul de criptare E arată astfel:

C=E k1 (M), unde

C – mesaj primit ca urmare a criptării;

k1 – cheie de criptare.

De obicei, algoritmii de criptare nu sunt secreti. De exemplu, algoritmul modern de criptare rusesc GOST 28147-89 a fost publicat ca standard.

Cheia este cel mai secret element care vă permite să criptați un mesaj, astfel încât nimeni altcineva care nu deține cheia să nu îl poată citi.

Cheia de criptare este de obicei doar un set de numere care este obținut de la senzori speciali de numere aleatorii, astfel încât cheia este complet aleatorie și niciun atacator nu o poate prezice și calcula. O astfel de cheie poate fi stocată, de exemplu, într-un fișier de pe un disc, pe un smart card sau pe alt suport amovibil. Principalul lucru este că nimeni nu ar trebui să primească cheia dvs. personală, cu excepția celor cărora le oferiți singur.

Formula pentru decriptare

M=D k2 (C), unde

D – algoritm de decriptare cu care destinatarul dumneavoastră prelucrează mesajul pentru a primi mesajul M trimis acestuia;

k2 – cheie de decriptare.

Dacă sistemul este construit corect și cheile nu sunt amestecate, atunci destinatarul va accepta exact ceea ce ați trimis. În același timp, nimeni altcineva nu poate spiona acest mesaj, deoarece este trimis prin Internet sub formă de criptare imposibil de citit.

Algoritmii de criptare sunt împărțiți în două tipuri:

1. Simetric;

2. Asimetric.

În epoca noastră informatică, omenirea refuză tot mai mult să stocheze informații în formă scrisă de mână sau tipărită, preferând documentele. Și dacă înainte pur și simplu furau hârtii sau pergamente, acum informația electronică este piratată. Algoritmii de criptare a datelor în sine sunt cunoscuți din timpuri imemoriale. Multe civilizații au preferat să-și cripteze cunoștințele unice, astfel încât doar oamenii cunoscători să le poată obține. Dar să vedem cum se reflectă toate acestea în lumea noastră.

Ce este un sistem de criptare a datelor?

În primul rând, trebuie să decideți ce sisteme criptografice sunt în general. În linii mari, acesta este un algoritm special pentru înregistrarea informațiilor care ar fi de înțeles doar pentru un anumit cerc de oameni.

În acest sens, pentru un străin, tot ceea ce vede ar trebui (și, în principiu, face) să pară un set de simboluri fără sens. Doar cineva care cunoaște regulile aranjamentului lor poate citi o astfel de secvență. Ca exemplu foarte simplu, puteți defini un algoritm de criptare cu cuvinte scrise, să zicem, invers. Desigur, acesta este cel mai primitiv lucru cu care poți veni. Se înțelege că, dacă cunoașteți regulile de înregistrare, restaurarea textului original nu va fi dificilă.

De ce este necesar acest lucru?

Probabil că nu merită explicat de ce au fost inventate toate acestea. Uite, ce cantități de cunoștințe rămase de la civilizațiile antice sunt astăzi în formă criptată. Fie anticii nu doreau să știm acest lucru, fie toate acestea s-au făcut astfel încât o persoană să le poată folosi numai atunci când a atins nivelul necesar de dezvoltare - deocamdată putem doar ghici despre asta.

Totuși, dacă vorbim despre lumea de astăzi, securitatea informațiilor devine una dintre cele mai mari probleme. Judecati singuri, pentru ca sunt atatea documente in aceleasi arhive despre care guvernele unor tari nu ar vrea sa vorbeasca, cate evolutii secrete, cate tehnologii noi. Dar toate acestea, în general, sunt scopul principal al așa-numiților hackeri în sensul clasic al termenului.

Îmi vine în minte o singură frază, care a devenit un clasic al principiilor lui Nathan Rothschild: „Cine deține informațiile, deține lumea”. Și de aceea informațiile trebuie protejate de privirile indiscrete, pentru ca altcineva să nu le folosească în propriile scopuri egoiste.

Criptografia: un punct de plecare

Acum, înainte de a lua în considerare însăși structura pe care o are orice algoritm de criptare, să ne aruncăm puțin în istorie, în acele vremuri îndepărtate când această știință era la început.

Se crede că arta de a ascunde datele a început să se dezvolte activ cu câteva mii de ani în urmă î.Hr. Primatul este atribuit vechilor sumerieni, regelui Solomon și preoților egipteni. Abia mult mai târziu au apărut aceleași semne și simboluri runice asemănătoare lor. Dar iată ce este interesant: uneori algoritmul de criptare a textelor (și la acea vreme ei erau cei care erau criptați) era de așa natură încât, în același simbol, un singur simbol putea însemna nu numai o literă, ci și un întreg cuvânt, concept sau chiar o propoziție. Din această cauză, descifrarea unor astfel de texte, chiar și cu sisteme criptografice moderne care fac posibilă restabilirea formei originale a oricărui text, devine absolut imposibilă. În termeni moderni, aceștia sunt destul de avansați, așa cum se spune acum, algoritmi de criptare simetrică. Să le privim separat.

Lumea modernă: tipuri de algoritmi de criptare

În ceea ce privește protecția datelor confidențiale în lumea modernă, merită menționat vremurile în care computerele erau necunoscute omenirii. Ca să nu mai vorbim de câtă hârtie au tradus alchimiștii sau aceiași Templieri, încercând să ascundă textele adevărate despre cunoștințele cunoscute de ei, merită să ne amintim că de la apariția conexiunii, problema nu a făcut decât să se agraveze.

Și aici, poate, cel mai faimos dispozitiv poate fi numit o mașină de criptare germană din al Doilea Război Mondial numită „Enigma”, care înseamnă „ghicitoare” în engleză. Din nou, acesta este un exemplu al modului în care sunt utilizați algoritmii de criptare simetrică, a căror esență este că criptatorul și descifratorul cunosc cheia (algoritmul) folosit inițial pentru a ascunde datele.

Astăzi, astfel de criptosisteme sunt folosite peste tot. Cel mai frapant exemplu poate fi considerat, să zicem, un algoritm care este un standard internațional. În terminologia computerizată, permite utilizarea unei chei de 256 de biți. În general, algoritmii moderni de criptare sunt destul de diverși și pot fi împărțiți în două clase mari: simetrice și asimetrice. Ele, în funcție de zona de destinație, sunt utilizate foarte larg astăzi. Și alegerea algoritmului de criptare depinde direct de sarcinile stabilite și de metoda de restaurare a informațiilor în forma sa originală. Dar care este diferența dintre ele?

Algoritmi de criptare simetrici și asimetrici: care este diferența

Acum să vedem care este diferența fundamentală între astfel de sisteme și pe ce principii se bazează aplicarea lor în practică. După cum este deja clar, algoritmii de criptare sunt asociați cu conceptele geometrice de simetrie și asimetrie. Ce înseamnă aceasta va fi acum clarificat.

Algoritmul de criptare simetric DES, dezvoltat în 1977, implică o singură cheie care este probabil cunoscută de ambele părți. Cunoscând o astfel de cheie, nu este dificil să o aplici în practică pentru a citi același set de caractere fără sens, aducând-o, ca să spunem așa, într-o formă lizibilă.

Ce sunt algoritmii de criptare asimetrică? Aici se folosesc două chei, adică una este folosită pentru a codifica informațiile originale, iar alta este folosită pentru a decripta conținutul și nu este deloc necesar ca acestea să coincidă sau să fie deținute simultan de părțile de codificare și decodare. Unul este suficient pentru fiecare dintre ei. Acest lucru asigură că ambele chei nu cad în mâinile terților într-un grad foarte mare. Totuși, pe baza situației actuale, pentru mulți infractori acest tip de furt nu reprezintă o problemă deosebită. Un alt lucru este căutarea exactă a cheii (în general, parolă) care este potrivită pentru decriptarea datelor. Și aici pot exista atât de multe opțiuni încât până și cel mai modern computer le va procesa timp de câteva decenii. După cum sa spus, niciun sistem informatic disponibil în lume nu poate pirata accesul la acesta și obține ceea ce se numește „interceptări telefonice” și nu va putea să o facă în deceniile următoare.

Cei mai faimoși și mai des utilizați algoritmi de criptare

Dar să revenim la lumea computerelor. Ce oferă astăzi principalii algoritmi de criptare, menționați să protejeze informațiile în stadiul actual de dezvoltare a tehnologiei informatice și mobile?

În majoritatea țărilor, standardul de facto este sistemul criptografic AES bazat pe o cheie de 128 de biți. Cu toate acestea, în paralel cu acesta, se folosește uneori un algoritm care, deși se referă la criptarea folosind o cheie deschisă (publică), este totuși unul dintre cele mai fiabile. Acest lucru, apropo, a fost dovedit de toți experții de top, deoarece sistemul în sine este determinat nu numai de gradul de criptare a datelor, ci și de menținerea integrității informațiilor. În ceea ce privește primele dezvoltări, care includ algoritmul de criptare DES, acesta este iremediabil depășit, iar încercările de a-l înlocui au început încă din 1997. Atunci, pe baza lui, a apărut un nou standard avansat de criptare AES (mai întâi cu o cheie de 128 de biți, apoi cu o cheie de 256 de biți).

Criptare RSA

Acum să ne concentrăm pe tehnologia RSA, care se referă la un sistem de criptare asimetric. Să presupunem că un abonat trimite o altă informație criptată folosind acest algoritm.

Pentru criptare se iau două numere suficient de mari X și Y, după care se calculează produsul lor Z, numit modul. În continuare, se selectează un număr străin A care îndeplinește condiția: 1< A < (X - 1) * (Y - 1). Оно обязательно должно быть простым, то есть не иметь общих делителей с произведением (X - 1) * (Y - 1), равным Z. Затем происходит вычисление числа B, но только так, что (A * B - 1) делится на (X - 1) * (Y - 1). В данном примере A - открытый показатель, B - секретный показатель, (Z; A) - открытый ключ, (Z; B) - секретный ключ.

Ce se întâmplă în timpul expedierii? Expeditorul creează un text cifrat, notat F, cu un mesaj inițial M, urmat de A și înmulțit cu mod Z: F = M**A*(mod Z). Destinatarul trebuie doar să calculeze un exemplu simplu: M = F**B*(mod Z). În linii mari, toate aceste acțiuni se reduc doar la exponențiere. Opțiunea de a crea o semnătură digitală funcționează pe același principiu, dar ecuațiile de aici sunt ceva mai complicate. Pentru a nu deranja utilizatorul cu algebra, un astfel de material nu va fi prezentat.

În ceea ce privește hacking-ul, algoritmul de criptare RSA reprezintă o sarcină aproape imposibilă pentru un atacator: să calculeze cheia B. Acest lucru ar putea fi făcut teoretic folosind instrumente de factoring disponibile (prin factorizarea numerelor originale X și Y), dar astăzi nu există astfel de instrumente, prin urmare, sarcina în sine devine nu numai dificilă - este complet imposibilă.

Criptare DES

În fața noastră este un alt algoritm de criptare, în trecut, destul de eficient, cu o lungime maximă a blocului de 64 de biți (caractere), dintre care doar 56 sunt semnificativi. După cum am menționat mai sus, această tehnică este deja depășită, deși a durat destul de mult timp. ca standard pentru criptosistemele utilizate în SUA chiar și pentru industria de apărare.

Esența criptării sale simetrice este că pentru aceasta este utilizată o anumită secvență de 48 de biți. În acest caz, pentru operații sunt utilizate 16 cicluri dintr-un eșantion de cheie de 48 de biți. Dar! Toate ciclurile sunt similare în principiu de funcționare, așa că în acest moment nu este dificil să calculați cheia necesară. De exemplu, unul dintre cele mai puternice computere din Statele Unite, care costă mai mult de un milion de dolari, „rupe” criptarea în aproximativ trei ore și jumătate. Pentru mașinile de rang inferior, nu durează mai mult de 20 de ore pentru a calcula chiar și secvența în manifestarea sa maximă.

Criptare AES

În sfârșit, avem în fața noastră cel mai răspândit și, până de curând, invulnerabil sistem - algoritmul de criptare AES. Astăzi este prezentat în trei modificări - AES128, AES192 și AES256. Prima opțiune este folosită mai mult pentru a asigura securitatea informațiilor dispozitivelor mobile, a doua este folosită la un nivel superior. Ca standard, acest sistem a fost introdus oficial în 2002, iar suportul său a fost anunțat imediat de Intel Corporation, care produce cipuri de procesor.

Esența sa, spre deosebire de orice alt sistem de criptare simetrică, se rezumă la calcule bazate pe o reprezentare polinomială a codurilor și operații de calcul cu matrice bidimensionale. Potrivit guvernului Statelor Unite, cracarea unei chei pe 128 de biți, chiar și cea mai modernă, ar dura aproximativ 149 de trilioane de ani. Vă rugăm să ne deosebim de o astfel de sursă competentă. În ultima sută de ani, tehnologia informatică a făcut un salt pe măsură, așa că nu este nevoie să vă amăgiți prea mult, mai ales că astăzi, după cum se dovedește, există sisteme de criptare chiar mai bune decât cele pe care Statele Unite le-au declarat complet rezistente. la hacking.

Probleme cu viruși și decriptare

Desigur, vorbim despre viruși. Recent, au apărut viruși ransomware destul de specifici care criptează întregul conținut al hard disk-ului și al partițiilor logice de pe computerul infectat, după care victima primește o scrisoare prin care se anunță că toate fișierele sunt criptate și doar sursa specificată le poate decripta după ce a plătit un suma ordonata.

În același timp, cel mai important, se indică faptul că sistemul AES1024 a fost folosit pentru a cripta datele, adică lungimea cheii este de patru ori mai mare decât AES256 actual, iar numărul de opțiuni la căutarea unui decriptor adecvat crește pur și simplu. incredibil.

Și pe baza declarației guvernului SUA despre timpul necesar pentru a decripta o cheie de 128 de biți, cum rămâne cu timpul necesar pentru a găsi o soluție pentru cazul unei chei de 1024 de biți și variantele acesteia? Aici Statele Unite au făcut o greșeală. Ei credeau că sistemul lor de criptare computerizată era perfect. Din păcate, au fost niște specialiști (aparent în spațiul post-sovietic) care au depășit postulatele „imuabile” americane din toate punctele de vedere.

Cu toate acestea, chiar și dezvoltatorii de top de software antivirus, inclusiv Kaspersky Lab, specialiștii care au creat Doctor Web, ESET Corporation și mulți alți lideri mondiali pur și simplu ridică din umeri, spun ei, pur și simplu nu există bani pentru a descifra un astfel de algoritm. , păstrând tăcerea în legătură cu faptul că nu este suficient timp. Desigur, atunci când contactați asistența, vi se cere să trimiteți fișierul criptat și, dacă este disponibil, de preferință originalul - în forma în care era înainte de a începe criptarea. Din păcate, nici măcar o analiză comparativă nu a produs încă rezultate tangibile.

Lumea pe care nu o cunoaștem

Ce putem spune dacă urmărim viitorul fără a putea descifra trecutul. Dacă te uiți la lumea mileniului nostru, vei observa că același împărat roman Gaius Iulius Caesar a folosit algoritmi de criptare simetrică în unele dintre mesajele sale. Ei bine, dacă te uiți la Leonardo da Vinci, în general te simți neliniștit doar din conștientizarea că în domeniul criptografiei acest om, a cărui viață este acoperită de un anumit văl de mister, și-a depășit contemporaneitatea de secole.

Până acum, mulți sunt bântuiți de așa-numitul „zâmbet al lui Gioconda”, în care există ceva atât de atractiv încât oamenii moderni nu sunt capabili să înțeleagă. Apropo, relativ recent au fost găsite în pictură anumite simboluri (în ochi, pe rochie etc.), care indică clar că toate acestea conțin un fel de informații criptate de un mare geniu, pe care astăzi, din păcate, le putem extrage incapabil. Dar nici măcar nu am menționat diferite tipuri de structuri la scară mare care ar putea revoluționa înțelegerea fizicii din acea vreme.

Desigur, unele minți sunt înclinate exclusiv către faptul că, în cele mai multe cazuri, așa-numita „rație de aur” a fost folosită, cu toate acestea, aceasta nu oferă cheia întregului depozit uriaș de cunoștințe, despre care se crede că este fie de neînțeles pentru noi sau pierdut pentru totdeauna. Aparent, criptografii mai au de făcut o cantitate incredibilă de muncă pentru a înțelege că algoritmii moderni de criptare uneori nu pot fi comparați cu evoluțiile civilizațiilor antice. În plus, dacă astăzi există principii general acceptate de securitate a informațiilor, atunci cele care erau folosite în antichitate, din păcate, ne sunt complet inaccesibile și de neînțeles.

Inca un lucru. Există o credință nespusă că majoritatea textelor antice nu pot fi traduse pur și simplu pentru că cheile pentru descifrarea lor sunt păzite cu grijă de către societăți secrete precum masonii, Illuminati etc. Chiar și templierii și-au lăsat amprenta aici. Ce putem spune despre faptul că Biblioteca Vaticanului rămâne în continuare complet inaccesibilă? Nu este acolo unde se păstrează principalele chei pentru înțelegerea antichității? Mulți experți sunt înclinați către această versiune, considerând că Vaticanul ascunde în mod deliberat aceste informații de la societate. Dacă acest lucru este adevărat sau nu, nimeni nu știe încă. Dar un lucru poate fi spus absolut sigur - sistemele de criptografie antice nu erau în niciun caz inferioare (și poate chiar superioare) celor utilizate în lumea computerelor moderne.

În loc de o postfață

În sfârșit, merită spus că nu toate aspectele legate de sistemele criptografice actuale și tehnicile pe care le folosesc au fost luate în considerare aici. Cert este că, în majoritatea cazurilor, ar fi necesar să se furnizeze formule matematice complexe și să se prezinte calcule, care pur și simplu ar face ca majoritatea utilizatorilor să se învârtească. Trebuie doar să te uiți la exemplul care descrie algoritmul RSA pentru a realiza că totul în rest va părea mult mai complicat.

Principalul lucru aici este să înțelegeți și să vă adânciți, ca să spunem așa, în esența problemei. Ei bine, dacă vorbim despre ce sisteme moderne sunt care oferă să stocheze informații confidențiale în așa fel încât să fie accesibile unui număr limitat de utilizatori, aici nu există de ales. În ciuda prezenței multor sisteme criptografice, aceiași algoritmi RSA și DES sunt în mod clar inferiori specificului AES. Cu toate acestea, majoritatea aplicațiilor moderne dezvoltate pentru sisteme de operare complet diferite folosesc AES (desigur, în funcție de aplicație și dispozitiv). Dar evoluția „neautorizată” a acestui criptosistem, ca să spunem ușor, i-a șocat pe mulți, în special pe creatorii săi. Dar, în general, pe baza a ceea ce este disponibil astăzi, nu va fi dificil pentru mulți utilizatori să înțeleagă ce sunt sistemele de criptare a datelor criptografice, de ce sunt necesare și cum funcționează.

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva