Criptare. Criptografie Tehnologii moderne pentru criptarea datelor electronice

O privire de ansamblu asupra algoritmilor de criptare răspândiți în lume permite nu numai să selectați algoritmul necesar pentru sarcina dvs., ci și să estimați costurile implementării acestuia și capacitățile și cerințele care așteaptă utilizatorul.

Criptarea este o metodă de protejare a informațiilor

Din timpuri imemoriale, nu a existat o valoare mai mare decât informația. Secolul XX este secolul informaticii si informatizarii. Tehnologia face posibilă transmiterea și stocarea din ce în ce mai multe informații. Acest beneficiu are și un dezavantaj. Informațiile devin din ce în ce mai vulnerabile din diverse motive:

creșterea volumelor de date stocate și transmise;
  • extinderea cercului de utilizatori cu acces la resurse, programe și date informatice;
  • complicarea modurilor de operare ale sistemelor de calcul.
  • Prin urmare, problema protecției informațiilor împotriva accesului neautorizat (NSD) în timpul transmiterii și stocării devine din ce în ce mai importantă. Esența acestei probleme este lupta constantă a specialiștilor în securitatea informațiilor cu „oponenții” lor.

    Caracteristicile algoritmilor de criptare compozite

    Protecția informațiilor este un ansamblu de măsuri, metode și mijloace care asigură:

    • excluderea DNS pentru resurse informatice, programe și date;
    • verificarea integrității informațiilor;
    • excluderea utilizării neautorizate a programelor (protecția programelor împotriva copierii).

    Tendința evidentă către trecerea la metodele digitale de transmitere și stocare a informațiilor permite utilizarea unor metode și algoritmi unificați pentru protecția informațiilor discrete (text, fax, telex) și continue (vorbire).

    O metodă dovedită de a proteja informațiile împotriva falsificării este criptarea (criptografia). Criptarea este procesul de conversie a datelor deschise (text simplu) în criptare (text cifrat, text cifrat) sau a datelor criptate în date deschise, conform anumitor reguli, folosind chei. În literatura engleză, criptarea / decriptarea înseamnă criptare / descifrare.

    Cu ajutorul metodelor criptografice, este posibil:

    criptarea informațiilor;
  • implementarea unei semnături electronice;
  • distribuirea cheilor de criptare;
  • protecție împotriva modificărilor accidentale sau deliberate ale informațiilor.
  • Anumite cerințe sunt impuse algoritmilor de criptare:

    • nivel ridicat de protecție a datelor împotriva decriptării și posibilelor modificări;
    • securitatea informațiilor ar trebui să se bazeze doar pe cunoașterea cheii și să nu depindă dacă algoritmul este cunoscut sau nu (regula lui Kirkhoff);
    • o mică modificare a textului sau a cheii originale ar trebui să ducă la o schimbare semnificativă a textului cifrat (efectul de colaps);
    • intervalul de valori ale cheii trebuie să excludă posibilitatea decriptării datelor prin enumerarea valorilor cheii;
    • implementarea economică a algoritmului cu performanță suficientă;
    • costul decriptării datelor fără a cunoaște cheia trebuie să depășească costul datelor.

    Legende ale antichității profunde...

    Boris Obolikshto

    Criptologia este o știință străveche și acest lucru este de obicei subliniat de povestea lui Iulius Cezar (100 - 44 î.Hr.), a cărui corespondență cu Cicero (106 - 43 î.Hr.) și alți „abonați” din Roma Antică a fost criptată... Cifrul lui Caesar, altfel un cifr de substituție ciclică, constă în înlocuirea fiecărei litere dintr-un mesaj cu o literă alfabetică distanțată de ea de un număr fix de litere. Alfabetul este considerat a fi ciclic, adică după ce Z este urmat de A. Cezar a înlocuit litera cu o literă distanțată de original cu trei.
    Astăzi, în criptologie, se obișnuiește să se opereze cu simboluri nu sub formă de litere, ci sub formă de numere corespunzătoare acestora. Deci, în alfabetul latin, putem folosi numere de la 0 (corespunzător cu A) la 25 (Z). Notând numărul corespunzător caracterului original, x și cel codificat - y, putem scrie regula pentru aplicarea unui cifr de substituție:

    y = x + z (mod N), (1)

    Unde z- Cheia secretă, N- numărul de caractere din alfabet, iar adăugarea modulo N este o operație similară cu adunarea obișnuită, cu singura diferență că, dacă însumarea obișnuită dă un rezultat mai mare sau egal cu N, atunci restul împărțirii sale cu N.

    Cifrul Caesar în notația acceptată corespunde valorii cheii secrete z = 3 (și Caesar Augustus are z = 4). Astfel de cifruri sunt extrem de ușor de descoperit chiar și fără a cunoaște valoarea cheii: este suficient să cunoașteți doar algoritmul de criptare, iar cheia poate fi găsită printr-un simplu atac de forță brută (așa-numitul atac de forță). Criptologia constă din două părți - criptografia, care studiază metodele de criptare și/sau autentificare a mesajelor, și criptoanaliza, care ia în considerare modalități de decriptare și înlocuire a criptogramelor. Instabilitatea primelor cifruri timp de multe secole a creat o atmosferă de secret în jurul muncii unui criptograf și a încetinit dezvoltarea criptologiei ca știință.

    De mai bine de două mii de ani, așa-numita criptografie „preștiințifică” a „bâjbât” în mod semi-intuitiv destul de multe soluții interesante. Cel mai simplu lucru este să faci înlocuirea într-o ordine nealfabetică. De asemenea, este o idee bună să rearanjați pe alocuri caracterele din mesaj (cifre de permutare).

    Prima lucrare sistematică despre criptografie este considerată a fi opera marelui arhitect Leon Battista Alberti (1404-1472). Perioada de până la mijlocul secolului al XVII-lea este deja plină de lucrări de criptografie și criptoanaliza. Intrigile în jurul programelor de cifrare din Europa la acea vreme sunt surprinzător de interesante. Din păcate, limitat de capacitățile revistei, vom alege un singur nume de familie cunoscut din școală - Francois Viet (1540 - 1603), care la curtea regelui Henric al IV-lea al Franței a avut atât de mult succes în criptoanaliza (care nu purta încă acest nume mândru). ) că regele spaniol Filip al II-lea s-a plâns Papei de folosirea magiei negre de către francezi. Dar totul a mers fără vărsare de sânge – la curtea Papei la vremea aceea deja existau consilieri din familia Argenti, pe care astăzi i-am numi criptoanalişti.

    Se poate susține că de-a lungul secolelor, decriptarea criptogramelor a fost ajutată de analiza frecvenței apariției simbolurilor individuale și a combinațiilor acestora. Probabilitățile de apariție a literelor individuale în text variază foarte mult (pentru limba rusă, de exemplu, litera „o” apare de 45 de ori mai des decât litera „f”). Aceasta, pe de o parte, servește ca bază atât pentru dezvăluirea cheilor, cât și pentru analiza algoritmilor de criptare, iar pe de altă parte, este motivul redundanței semnificative (în sensul informațional) a textului în limbaj natural. . Orice înlocuire simplă nu permite ascunderea frecvenței de apariție a simbolului - ca o pungă care iese dintr-un sac în simbolurile text rusești corespunzătoare literelor „o”, „e”, „a”, „i”, „t”, „n”. Dar teoria informației și măsura redundantei nu au fost încă create, iar RANDOMIZAREA este propusă pentru a lupta cu inamicul criptografului - analiza frecvenței. Autorul ei Karl Friedrich Gauss (1777 - 1855) a crezut în mod eronat că a creat un cifr care nu poate fi spart.

    Următoarea figură notabilă din istoria criptologiei pe care nu ar trebui să o ratam este olandezul Auguste Kerkhoff (1835-1903). El deține minunata „regula Kerkhoff”: puterea cifrului ar trebui să fie determinată NUMAI de secretul cheii. Având în vedere momentul în care a fost formulată această regulă, ea poate fi recunoscută drept cea mai mare descoperire (înainte de crearea unei teorii sistematice, mai bine de jumătate de secol!). Această regulă presupune că ALGORITMUL de criptare NU ESTE SECRET, ceea ce înseamnă că se poate purta o discuție deschisă asupra avantajelor și dezavantajelor algoritmului.Astfel, această regulă traduce lucrările de criptologie în categoria lucrărilor științifice DESCHIS care permit discuția, publicarea, etc.

    Secolul XX - de la intuiție la știință

    Numele de familie pe care îl vom menționa în criptologia pre-științifică este inginerul AT&T G.S. Vernam. În 1926, el a propus un cifr cu adevărat indestructibil. Ideea cifrului este de a alege o nouă valoare z pentru fiecare caracter următor din ecuația (1). Cu alte cuvinte, cheia secretă ar trebui folosită o singură dată. Dacă o astfel de cheie este aleasă la întâmplare, atunci, așa cum a fost riguros dovedit de Shannon 23 de ani mai târziu, cifrul este indescifrabil. Acest cifru este baza teoretică pentru utilizarea așa-numitelor „tampoane de cifră”, a căror utilizare pe scară largă a început în timpul celui de-al Doilea Război Mondial. Pad-ul de criptare conține multe chei de unică folosință care sunt selectate secvenţial la criptarea mesajelor. Propunerea lui Vernam, însă, nu rezolvă problema comunicării secrete: în locul unei metode de transmitere a unui mesaj secret, acum este necesar să se găsească o modalitate de a transmite o cheie secretă care să fie EGALĂ CA LUNGIME, adică să conţină acelaşi număr. de caractere așa cum există în textul simplu.

    În 1949, articolul lui Claude Shannon „Teoria comunicării în sistemele secrete” a pus bazele criptologiei științifice. Shannon a arătat că pentru unele „cifruri aleatorii” numărul de caractere din text cifrat, după ce le-a primit un criptoanalist cu resurse nelimitate, poate recupera cheia (și dezvăluie cifrul),

    H (Z) / (rlog N), (2)

    Unde H (Z) este entropia cheii, r este redundanța textului simplu și N- volumul alfabetului.

    Prin eficiența cu care arhivatorii comprimă fișierele text, știm bine cât de mare este redundanța textului simplu - la urma urmei, treaba lor este să reducă redundanța (și doar în partea cea mai ușor de eliminat). Cu redundanță de text simplu de ordinul 0,75 și folosind o cheie de 56 de biți (cum ar fi DES presupune), 11 caractere de text cifrat sunt suficiente pentru a recupera cheia cu resurse nelimitate de criptoanalist.


    Strict vorbind, relația (2) nu a fost dovedită pentru un cifr arbitrar, dar este adevărată pentru anumite cazuri speciale. Din (2) rezultă o concluzie remarcabilă: munca unui criptoanalist poate fi împiedicată nu numai prin îmbunătățirea criptosistemului, ci și prin reducerea redundanței textului simplu. Mai mult, dacă redundanța textului simplu este redusă la zero, atunci chiar și o cheie scurtă va produce un cifr pe care un criptoanalist nu îl poate dezvălui.

    Înainte de criptare, informațiile ar trebui să fie supuse codării statistice (compresie, arhivare). În acest caz, cantitatea de informații și redundanța acesteia vor scădea, iar entropia va crește (cantitatea medie de informații pe simbol). Deoarece nu vor exista litere și cuvinte repetate în textul comprimat, decriptarea (criptanaliza) va fi dificilă.

    Clasificarea algoritmilor de criptare

    1. Simetric (cu secret, o singură cheie, o singură cheie).
    1.1. Streaming (criptare flux de date):

    cu o cheie unică sau infinită (cifrare cu cheie infinită);
  • cu cheie finală (sistem Vernam);
  • bazat pe un generator de numere pseudoaleatoare (PRN).
  • 1.2. Blocare (criptarea datelor bloc cu bloc):
    1.2.1. Cifre de permutare (permutare, blocuri P);
    1.2.2. Cifre de substituție (substituții, casete S):

    • monoalfabetic (cod Caesar);
    • polialfabetic (cifr Vigener, cilindru Jefferson, disc Wheatstone, Enigma);

    1.2.3. compozit (tabelul 1):

    • Lucipher (IBM, SUA);
    • DES (Standard de criptare a datelor, SUA);
    • FEAL-1 (Algoritm de criptare rapidă, Japonia);
    • IDEA / IPES (algoritmul internațional de criptare a datelor /
    • Standard de criptare propus îmbunătățit, Ascom-Tech AG, Elveția);
    • B-Crypt (British Telecom, Marea Britanie);
    • GOST 28147-89 (URSS); * Skipjack (SUA).

    2. Asimetric (cheie publică):

    • Diffie-Hellman DH (Diffie, Hellman);
    • Rivest-Shamir-Adleman RSA (Rivest, Shamir, Adleman);
    • El Gamal ElGamal.

    În plus, există o împărțire a algoritmilor de criptare în cifre și coduri reale. Cifrurile funcționează cu biți, litere, simboluri individuale. Codurile operează cu elemente lingvistice (silabe, cuvinte, fraze).

    Algoritmi simetrici de criptare

    Algoritmii de criptare simetrică (sau criptografia cu chei secrete) se bazează pe faptul că expeditorul și destinatarul informațiilor folosesc aceeași cheie. Această cheie trebuie păstrată secretă și transmisă într-un mod care să excludă interceptarea ei.

    Schimbul de informații se realizează în 3 etape:

    expeditorul transferă cheia către destinatar (în cazul unei rețele cu mai mulți abonați, fiecare pereche de abonați trebuie să aibă propria sa cheie, care este diferită de cheile altor perechi);
  • expeditorul folosește cheia pentru a cripta mesajul, care este redirecționat către destinatar;
  • Dacă se folosește o cheie unică pentru fiecare zi și pentru fiecare sesiune de comunicare, acest lucru va crește securitatea sistemului.

    Cifruri în flux

    În criptarea fluxului, adică atunci când se criptează un flux de date, fiecare bit al informației originale este criptat independent de ceilalți folosind gamma.

    Gaming este impunerea unui cifr gamma (secvență aleatorie sau pseudo-aleatorie de unu și zero) asupra datelor deschise conform unei reguli specifice. Utilizat în mod obișnuit este „SAU exclusiv”, numit și adăugare modulo-2 și implementat în programele de asamblare cu instrucțiunea XOR. Pentru decriptare, aceeași gamă este suprapusă datelor criptate.

    Cu o singură utilizare a unei game aleatorii de aceeași dimensiune cu datele criptate, spargerea codului este imposibilă (așa-numitele criptosisteme cu o cheie unică sau infinită). În acest caz, „infinit” înseamnă că gama nu se repetă.

    În unele coduri de flux, cheia este mai scurtă decât mesajul. Astfel, în sistemul telegrafic Vernam, se folosește un inel de hârtie care conține un gamma. Desigur, puterea unui astfel de cifru nu este ideală.

    Este clar că schimbul de chei de dimensiunea informațiilor de criptat nu este întotdeauna adecvat. Prin urmare, gama obținută folosind un generator de numere pseudo-aleatorie (PRN) este mai des utilizat. În acest caz, cheia este un număr de semințe (valoare inițială, valoare de inițializare, IV) pentru pornirea generatorului PRNG. Fiecare generator PRNG are o perioadă după care se repetă secvența generată. Evident, perioada gamei pseudo-aleatoare ar trebui să depășească lungimea informațiilor criptate.

    Generatorul PRNG este considerat corect dacă observarea fragmentelor de ieșire a acestuia nu permite recuperarea părților lipsă sau a întregii secvențe cu un algoritm cunoscut, ci o valoare inițială necunoscută.

    Când utilizați generatorul PRNG, sunt posibile mai multe opțiuni:

    Criptarea pe biți a fluxului de date. Cheia digitală este folosită ca valoare inițială a generatorului PRNG, iar fluxul de biți de ieșire este însumat modulo 2 cu informațiile originale. În astfel de sisteme, nu există nicio proprietate de propagare a erorilor.
  • Criptare bit cu bit a fluxului de date în buclă închisă (OS) folosind text cifrat. Acest sistem este similar cu cel anterior, cu excepția faptului că textul cifrat este returnat ca parametru generatorului PRNG. Distribuția erorilor este caracteristică. Intervalul de propagare a erorii depinde de structura generatorului PRNG.
  • Criptarea pe biți a fluxului de date din sistemul de operare în funcție de textul sursă. Baza generatorului PRNG este informația inițială. Proprietatea de propagare nelimitată a erorii este caracteristică.
  • Criptarea pe biți a fluxului de date din sistemul de operare folosind text cifrat și text sursă.
  • Cifre bloc

    Cu criptarea bloc, informațiile sunt împărțite în blocuri de lungime fixă ​​și criptate bloc cu bloc. Cifrurile bloc sunt de două tipuri principale:

    cifruri de permutare (transpunere, permutare, cutii P);
  • cifruri de substituție (substituții, cutii S).
  • Cifrurile de permutare rearanjează elementele datelor deschise (biți, litere, simboluri) într-o nouă ordine. Există cifruri orizontale, verticale, permutări duble, zăbrele, labirinturi, sloganuri etc.

    Cifrurile de înlocuire înlocuiesc elemente de date deschise cu alte elemente conform unei anumite reguli. Distingeți cifrurile simple, complexe, de înlocuire a perechilor, de criptare alfanumerice și de înlocuire a coloanelor. Cifrurile de înlocuire sunt împărțite în două grupuri:

    monoalfabetic (cod Caesar);
  • polialfabetice (cifr Vigener, cilindru Jefferson, disc Whetstone, Enigma).
  • În cifrurile de înlocuire monoalfabetice, litera textului original este înlocuită cu o altă literă, predeterminată. De exemplu, în codul Caesar, o literă este înlocuită cu o literă distanțată de ea în alfabetul latin de un anumit număr de poziții. Este evident că un astfel de cifru este foarte ușor de spart. Este necesar să se calculeze cât de des se găsesc litere în textul cifrat și să se compare rezultatul cu frecvența de apariție a literelor cunoscute pentru fiecare limbă.

    În substituțiile polialfabetice, pentru a înlocui un anumit caracter al mesajului inițial în fiecare caz de apariție a acestuia, se folosesc secvențial diferite caractere dintr-un anumit set. Este clar că acest set nu este infinit, după un anumit număr de caractere trebuie folosit din nou. Aceasta este slăbiciunea cifrurilor pur polialfabetice.

    În sistemele criptografice moderne, de regulă, sunt utilizate ambele metode de criptare (substituție și permutare). Un astfel de cifru se numește cifr de produs. Este mai sigur decât un scrambler care folosește doar substituții sau permutări.

    Criptarea blocurilor se poate face în două moduri:

    Fără feedback (OS). Mai mulți biți (blocuri) din textul original sunt criptați simultan și fiecare bit al textului original afectează fiecare bit al textului cifrat. Cu toate acestea, nu există nicio influență reciprocă a blocurilor, adică două blocuri identice ale textului sursă vor fi reprezentate de același text cifrat. Prin urmare, astfel de algoritmi pot fi utilizați numai pentru a cripta o secvență aleatorie de biți (de exemplu, chei). Exemple sunt DES în modul ECB și GOST 28147-89 în modul de suprascriere simplă.
  • Cu feedback. De obicei, sistemul de operare este organizat după cum urmează: blocul criptat anterior este adăugat modulo 2 cu blocul curent. Valoarea de inițializare este folosită ca prim bloc din lanțul OS. O eroare pe un bit afectează două blocuri - cel eronat și următorul. Un exemplu este DES în modul CBC.
  • Generatorul PSCH poate fi folosit și pentru criptarea blocurilor:

    1. Criptare bloc cu bloc a fluxului de date. Criptarea blocurilor secvenţiale (înlocuire şi schimbare) depinde de generatorul PRNG controlat de cheie.
    2. Criptare bloc cu bloc a fluxului de date din sistemul de operare. Generatorul PRNG este controlat prin cifr sau cod sursă, sau ambele.

    Standardul federal american DES (Data Encryption Standard), pe care se bazează standardul internațional ISO 8372-87, este foarte răspândit. DES a fost aprobat de Institutul Național American de Standarde (ANSI) și recomandat pentru utilizare de către Asociația Bancherilor Americani (ABA). DES oferă 4 moduri de funcționare:

    • ECB (Electronic Codebook) carte electronică de coduri;
    • CBC (Cipher Block Chaining) lanț de blocuri;
    • CFB (Cipher Feedback) feedback cu text cifrat;
    • Feedback de ieșire OFB (Output Feedback).

    GOST 28147-89 - standard rusesc pentru criptarea datelor. Standardul include trei algoritmi pentru criptarea (decriptarea) datelor: un mod de înlocuire simplu, un mod gamma, un mod de feedback gamma și un mod de inserție simulat.

    Cu ajutorul unei inserții de imitație, este posibilă înregistrarea unei modificări accidentale sau deliberate a informațiilor criptate. O inserție de imitație poate fi generată fie înainte de criptarea (după decriptare) a întregului mesaj, fie simultan cu criptarea (decriptarea) în blocuri. În acest caz, blocul de informații este criptat de primele șaisprezece cicluri în modul de înlocuire simplă, apoi este adăugat modulo 2 cu al doilea bloc, rezultatul însumării este din nou criptat de primele șaisprezece cicluri etc.

    Algoritmii de criptare GOST 28147-89 au avantajele altor algoritmi pentru sisteme simetrice și le depășesc în capacitățile lor. Deci, GOST 28147-89 (cheie de 256 de biți, 32 de cicluri de criptare) în comparație cu algoritmi precum DES (cheie de 56 de biți, 16 cicluri de criptare) și FEAL-1 (cheie de 64 de biți, 4 cicluri de criptare) are un nivel mai ridicat puterea criptografică datorită unei chei mai lungi și unui număr mai mare de cicluri de criptare.

    Trebuie remarcat faptul că, spre deosebire de DES, în GOST 28147-89, blocul de substituție poate fi schimbat în mod arbitrar, adică este o cheie suplimentară de 512 biți.

    Algoritmii gamma GOST 28147-89 (cheie de 256 de biți, bloc de substituție de 512 de biți, vector de inițializare pe 64 de biți) sunt superiori ca putere criptografică algoritmului B-Crypt (cheie de 56 de biți, vector de inițializare pe 64 de biți).

    Avantajele GOST 28147-89 sunt, de asemenea, prezența protecției împotriva impunerii de date false (generarea unei inserții de imitație) și același ciclu de criptare în toți cei patru algoritmi GOST.

    Algoritmii bloc pot fi utilizați și pentru a genera gamma. În acest caz, gama este generată în blocuri și este adăugată bloc cu bloc modulo 2 cu textul original. Ca exemplu, putem numi B-Crypt, DES în modurile CFB și OFB, GOST 28147-89 în modurile gamma și gama în buclă închisă.

    Algoritmi de criptare asimetrici

    În algoritmii de criptare asimetrică (sau criptografia cu cheie publică), o cheie (publică) este utilizată pentru a cripta informațiile, iar o altă cheie (secretă) este utilizată pentru a decripta informațiile. Aceste chei sunt diferite și nu pot fi derivate una de la alta.

    Schema de schimb de informații este următoarea:

    destinatarul calculează cheile publice și private, păstrează secretul cheii secrete și o pune la dispoziție pe cea publică (informează expeditorul, un grup de utilizatori ai rețelei, publică);
  • expeditorul, folosind cheia publică a destinatarului, criptează mesajul care este redirecționat către destinatar;
  • destinatarul primește mesajul și îl decriptează folosind cheia privată.
  • RSA

    Protejat de brevetul SUA N 4405829. Dezvoltat în 1977 la Massachusetts Institute of Technology (SUA). A fost numit după primele litere ale numelor de familie ale autorilor (Rivest, Shamir, Adleman). Puterea criptografică se bazează pe complexitatea computațională a problemei factorizării unui număr mare în factori primi.

    ElGamal

    Dezvoltat în 1985. Numit după numele de familie al autorului - El-Gamal. Folosit în standardul de semnătură digitală din SUA (DSS). Rezistența cripto se bazează pe complexitatea computațională a problemei luării logaritmului numerelor întregi în câmpuri finite.

    Comparația algoritmilor de criptare simetrici și asimetrici

    În sistemele asimetrice, trebuie folosite chei lungi (512 biți sau mai mult). O cheie lungă crește dramatic timpul de criptare. În plus, generarea cheilor necesită foarte mult timp. Dar puteți distribui cheile prin canale neprotejate.

    Algoritmii simetrici folosesc chei mai scurte, ceea ce înseamnă că criptarea este mai rapidă. Dar în astfel de sisteme, distribuirea cheilor este dificilă.

    Prin urmare, atunci când se proiectează un sistem protejat, sunt adesea utilizați atât algoritmi simetrici, cât și asimetrici. Întrucât sistemul cu chei publice permite și distribuirea cheilor în sisteme simetrice, este posibilă combinarea algoritmilor de criptare asimetrici și simetrici în sistemul de transmitere a informațiilor protejate. Cu ajutorul primului trimite cheile, al doilea - criptează efectiv informațiile transmise.

    Schimbul de informații se poate realiza după cum urmează:

    destinatarul calculează cheile publice și private, păstrează secretul cheii secrete și o pune la dispoziție pe cea publică;
  • expeditorul, folosind cheia publică a destinatarului, criptează cheia de sesiune, care este trimisă destinatarului printr-un canal nesecurizat;
  • destinatarul primește cheia de sesiune și o decriptează folosind cheia privată;
  • expeditorul criptează mesajul cu cheia de sesiune și îl trimite destinatarului;
  • destinatarul primește mesajul și îl decriptează.
  • De menționat că în sistemele de comunicații guvernamentale și militare sunt utilizați doar algoritmi simetrici, deoarece nu există o justificare strict matematică pentru securitatea sistemelor cu cheie publică, deoarece, de altfel, nu s-a dovedit nici contrariul.

    Autentificarea informațiilor. Semnatura digitala

    La transferul de informații, următoarele trebuie furnizate împreună sau separat:

    • Confidențialitate - un atacator nu ar trebui să poată afla conținutul mesajului transmis.
    • Autenticitatea, care include două concepte:
    1. integritate - mesajul trebuie protejat de modificări accidentale sau deliberate;
    2. identificarea expeditorului (verificarea calității de autor) - destinatarul trebuie să poată verifica cine a trimis mesajul.

    Criptarea poate oferi confidențialitate și, în unele sisteme, integritate.

    Integritatea mesajului este verificată prin calcularea funcției de verificare a mesajului - un număr de lungime mică. Este foarte probabil ca această funcție de control să se schimbe chiar și cu mici modificări ale mesajului (ștergerea, includerea, rearanjarea sau reordonarea informațiilor). Funcția de control este apelată și calculată în diferite moduri:

    codul de autenticitate a mesajului (MAC);
  • Codul de detectare a manipulării congruentice patratice (QCMDС);
  • Cod de detectare a manipulării (MDC);
  • Message Digest Algoritm (MD5);
  • suma de verificare;
  • Block Check Character (BCC)
  • cod de redundanță ciclică (CEC, Cyclic Redundancy Check, CRC);
  • funcția hash (hash);
  • inserție imitație în GOST 28147-89;
  • un algoritm cu trunchiere la n biți (algoritm de n biți cu trunchiere).
  • La calcularea funcției de control, poate fi utilizat orice algoritm de criptare. Este posibil să criptați suma de control în sine.

    O semnătură digitală este utilizată pe scară largă (un adaos digital la informațiile transmise, care garantează integritatea acestora din urmă și vă permite să verificați paternitatea acesteia). Sunt cunoscute modele de semnătură digitală bazate pe algoritmi de criptare simetrică, dar atunci când se utilizează sisteme cu chei publice, semnătura digitală este mai convenabilă.

    Pentru a utiliza algoritmul RSA, mesajul trebuie comprimat cu o funcție hashing (MD5 - Message Digest Algorithm) la un hash de 256 de biți (H). Semnătura mesajului S se calculează după cum urmează:

    d
    S = H mod n

    Semnătura este trimisă împreună cu mesajul.

    Procesul de identificare constă în obținerea funcției hash a mesajului (H”) și compararea acesteia cu

    e
    H = S mod n

    Unde H- hash al mesajului,

    S- semnătura lui,

    d- Cheia secretă,
    e- cheie publică.

    Standardele de autentificare sunt dedicate:

    • autentificare (autentificare) - ISO 8730-90, ISO / IES 9594-90 și ITU X.509;
    • integritate - GOST 28147-89, ISO 8731-90;
    • semnătură digitală - ISO 7498, P 34.10-94 (Rusia), DSS (Digital Signature Standard, SUA).

    ISO- Organizația Internațională de Standardizare / ISO /,
    ITU- Uniunea Internațională de Telecomunicații / ITU /.

    Implementarea algoritmilor de criptare

    Algoritmii de criptare sunt implementați în software sau hardware. Există o mulțime de implementări pur software ale diverșilor algoritmi. Datorită costului redus (unele sunt complet gratuite), precum și vitezei tot mai mari a procesoarelor pentru PC, ușurinței de operare și fiabilității, acestea sunt foarte competitive. Cunoscutul program Diskreet din pachetul Norton Utilities implementează DES.

    Nu putem să nu amintim de pachetul PGP (Pretty Good Privacy, versiunea 2.1, de Philip Zimmermann), în care practic toate problemele de protecție a informațiilor transmise sunt rezolvate cuprinzător. Se aplică compresia datelor înainte de criptare, gestionarea puternică a cheilor, algoritmii de criptare simetrici (IDEA) și asimetrici (RSA), calculul unei funcții de control pentru semnătura digitală, generarea de chei fiabilă.

    Publicațiile revistei Monitor cu descrieri detaliate ale diverșilor algoritmi și listele corespunzătoare permit tuturor celor care doresc să-și scrie propriul program (sau să folosească o listă gata făcută).

    Implementarea hardware a algoritmilor este posibilă folosind microcircuite specializate (se produc cristale pentru algoritmi DH, RSA, DES, Skipjack, GOST 28147-89) sau folosind componente de uz general (datorită costului redus și vitezei mari, procesoarele de semnal digital sunt promițătoare - DSP, procesor de semnal digital, DSP).

    Printre evoluțiile rusești trebuie menționate plăcile „Krypton” (firma „Ankad”) și „Grim” (metodologia și algoritmii firmei „LAN-Crypto”, dezvoltarea tehnică a Centrului științific și de producție „ELiPS”).

    „Krypton” sunt dispozitive cu o singură placă care folosesc criptoprocesoare (microcalculatoare specializate pe 32 de biți, numite și „blooming”). Dispozitivele înflorite implementează algoritmii GOST 28147-89 în hardware, ele constau dintr-un calculator și RAM pentru stocarea cheilor. Mai mult, procesorul cripto are trei zone pentru stocarea cheilor, ceea ce face posibilă construirea de sisteme de chei cu mai multe niveluri.

    Pentru o mai mare fiabilitate a criptării, două criptoprocesoare funcționează simultan, iar un bloc de date pe 64 de biți este considerat a fi criptat corect numai dacă informațiile de la ieșirea ambelor unități de înflorire se potrivesc. Viteza de criptare - 250 KB / s.

    Pe lângă două mori de înflorire, placa conține:

    controler pentru interfața cu magistrala computerului (cu excepția plăcilor „Krypton-EC” sunt proiectate să funcționeze cu magistrala ISA);
  • BIOS-ul plăcii, conceput pentru a interfața cu un computer și pentru a efectua autotestarea dispozitivului și introducerea cheilor în criptoprocesoare;
  • un senzor de numere aleatorii (RNC) pentru generarea cheilor de criptare, realizat pe diode de zgomot.
  • Sunt produse următoarele tipuri de plăci „Krypton”:

    • „Krypton-EC” este destinat pentru seria PC EC 1841-1845;
    • „Krypton-3”;
    • "Krypton-4" (dimensiunile totale sunt reduse datorită mișcării unui număr de elemente discrete în cristalele de bază, viteza de schimb este crescută datorită tamponului intern cu 8 octeți);
    • „Krypton-IK” este echipat suplimentar cu un controler IK (smart card, smart card, smart card).

    În dispozitivele „Krypton-EU”, „Krypton-3”, cheile „Krypton-4” sunt stocate ca fișier pe o dischetă. În „Krypton-IK” cheile sunt situate pe IK, ceea ce face dificilă contrafacerea și copierea.

    Placa Grim folosește procesoare de semnal digital Analog Devices ADSP-2105 și ADSP-2101, oferind rate de criptare de 125, respectiv 210 KB/s. Placa conține un RFS fizic și un ROM cu programe pentru testarea inițială, verificarea drepturilor de acces, încărcarea și generarea cheilor. Cheile sunt stocate pe o dischetă formatată nestandard. Placa implementează GOST 28147-89 și algoritmi de semnătură digitală.

    Pentru a proteja informațiile transmise prin canalele de comunicație, se folosesc dispozitive de criptare a canalelor, care sunt fabricate sub forma unei plăci de interfață sau a unui modul autonom. Viteza de criptare a diferitelor modele de la 9600 bps la 35 Mbps.

    În concluzie, observăm că criptarea informațiilor nu este un panaceu. Ar trebui considerată doar una dintre metodele de protecție a informațiilor și trebuie aplicată în combinație cu măsuri legislative, organizatorice și de altă natură.

    Criptologie cu chei publice

    Boris Obolikshto

    S-ar părea că impulsul dat de Shannon ar fi trebuit să provoace un colaps al rezultatelor în criptologia științifică. Dar asta nu s-a întâmplat. Doar dezvoltarea rapidă a telecomunicațiilor, accesul de la distanță la computere cu imperfecțiunea criptosistemelor existente cu o cheie secretă a adus la viață următoarea și, poate, cea mai interesantă etapă a criptologiei, a cărei numărătoare inversă datează din articolul lui Whitfield Diffie și Marty E. Hellman, care a apărut în noiembrie 1976, „New Directions in cryptography”. Însuși W. Diffie datează în luna mai a aceluiași an primirea rezultatelor publicate în noiembrie 1976; astfel, avem prilejul din Ma până în noiembrie să sărbătorim 20 de ani de criptologie cu cheie publică.

    Una dintre problemele care a rămas nerezolvată în criptografia tradițională este distribuirea cheilor secrete. Ideea de a transmite o cheie „secretă” pe un canal deschis pare o nebunie la prima vedere, dar dacă, renunțând la secretul perfect, te limitezi la securitatea practică, atunci poți găsi o modalitate de a schimba cheile.

    Schimbul exponențial de chei a fost prima dintre metodele răspândite. Esența sa este următoarea:

    • Alice și Bob (folosind ca părți nu abstracte „A” și „B”, ci drăgălașii Alice și Bob, a devenit o tradiție în acest domeniu al criptologiei) aleg numere aleatorii Xa și, respectiv, Xb.
    • Alice îi trece lui Bob Ya = aXa (mod q)și Bob către Alice - Yb = aXb (mod q).

    Aici A- așa-numitul element primitiv al câmpului finit Galois GF (q), a cărui proprietate remarcabilă pentru noi este că toate valorile diferite de zero ale elementelor câmpului își dau gradele. Cheia secretă este valoarea

    Ya = aXaXb (mod q),

    pe care Alice o obţine prin ridicarea la putere a numărului dat de Bob Xa, cunoscut doar de ea, și Bob - numărul primit de la Alice la puterea cunoscută doar de el Xb... Criptoanalistul este forțat să calculeze logaritmul a cel puțin unuia dintre numerele transmise.

    Stabilitatea schimbului exponențial de chei se bazează pe așa-numita unilateralitate a funcției de exponențiere: complexitatea de calcul a obținerii Ya din Xa cu lungimea q de 1000 de biți este de aproximativ 2000 de înmulțiri de numere de 1000 de biți, în timp ce operația inversă va necesită aproximativ 1030 de operații. Funcțiile ONE-WAY cu o asimetrie similară în complexitatea computațională a problemelor directe și inverse joacă un rol principal în criptografia cu cheie publică.

    Și mai interesantă este funcția unidirecțională cu un pasaj secret („lacună”). Ideea este de a construi o funcție care poate fi inversată doar cunoscând o anumită „lacună” - cheia secretă. Parametrii funcției servesc apoi ca o cheie publică pe care Alice o poate transmite lui Bob pe un canal nesigur; Bob, folosind cheia publică obținută, realizează criptarea (calculul funcției directe) și transmite rezultatul lui Alice prin același canal; Alice, cunoscând „lacuna” (cheia secretă), calculează cu ușurință funcția inversă, în timp ce criptoanalistul, neștiind cheia secretă, este sortit să rezolve o problemă mult mai complicată.

    În 1976, R.C. Merkle a reușit să construiască o astfel de funcție pe baza problemei de ambalare a rucsacului. Sarcina în sine este unilaterală: cunoscând un subset de greutăți ambalate într-un rucsac, este ușor să calculați greutatea totală, dar cunoscând greutatea, nu este ușor să determinați un subset de greutăți. În cazul nostru, a fost folosită o versiune unidimensională a problemei: vectorul încărcărilor și suma componentelor subvectorilor săi. După ce a fost construită o „lacună”, a fost posibil să se obțină așa-numitul sistem de rucsac Merkle-Hellman. Primul sistem criptografic cu cheie publică a intrat în funcțiune, iar Merkle a oferit 100 de dolari oricui îl putea descoperi.

    Premiul a revenit lui A. Shamir la șase ani după ce a publicat în martie 1982 un raport privind dezvăluirea sistemului de rucsac Merkle-Hellman cu o singură iterație. La conferința Crypto 82 L. Adleman a demonstrat dezvăluirea sistemului de rucsac pe un computer Apple II. Aceasta ascunde unul dintre cele mai mari pericole pentru criptografia cu cheie publică: nu există o dovadă riguroasă a caracterului unilateral al algoritmilor utilizați, că este că nimeni nu este garantat împotriva posibilității de a găsi o metodă de decriptare, care probabil nu necesită rezolvarea problemei inverse, a cărei complexitate mare ne permite să sperăm la puterea practică a cifrului. Va fi bine dacă dezvăluirea unui anumit sistem este realizat de un om de știință de renume mondial (în 1982 A. Shamir era deja cunoscut ca unul dintre autorii sistemului RSA).

    Pentru a încheia drama sistemului de rucsac, există un alt pariu pe care Merkle l-a făcut cu cei care doresc să dezvăluie un sistem îmbunătățit cu mai multe iterații în valoare de 1.000 USD. Și această sumă trebuia plătită. A fost primit de E. Brickell, care a descoperit în vara anului 1984 un sistem cu patruzeci de iterații și cu o sută de mesaje pe oră de funcționare Cray-1.

    Mult mai reușită astăzi este soarta sistemului RSA, numit după primele litere ale numelor autorilor săi R. Rivest și A. Shamir și L. Adlman, care ne sunt deja familiari. Apropo, Alice și Bob își datorează nașterea primei prezentări sistematice a algoritmului RSA. Cu „ajutorul” lor, autorii au descris în 1977 un sistem bazat pe proprietățile unilaterale ale unei funcții de factorizare prime (înmulțirea este ușoară, dar descompunerea nu).

    Dezvoltarea criptologiei cu chei publice a permis sistemelor criptologice să găsească destul de rapid aplicații comerciale răspândite. Dar utilizarea intensivă a criptografiei nu este completă fără suprapuneri. Din când în când aflăm despre problemele unuia sau altul din sistemul de securitate. Cel mai recent incident senzațional din lume a fost hacking-ul sistemului Kerberos. Acest sistem, dezvoltat la mijlocul anilor 80, este destul de popular în lume, iar hacking-ul său a provocat îngrijorare considerabilă în rândul utilizatorilor.

    În cazul lui Kerberos, problema nu a fost în algoritmul de criptare, ci în modul în care au fost obținute numerele aleatoare, adică în modul în care a fost implementat algoritmul. Când a venit știrea în octombrie anul trecut despre o eroare de număr aleatoriu în software-ul Netscape descoperită de studenții de la Universitatea din Berkeley, Stephen Lodin a descoperit o pacoste similară în Kerberos. Împreună cu Brian Dole, a reușit să găsească o gaură în sistemul Kerberos. Personajele din această poveste nu sunt diletanți. Absolvenții de la Universitatea Purdue, Illinois, au colaborat cu laboratorul de operațiuni computerizate, audit și tehnologie de securitate (COAST), un profesionist în securitatea computerelor condus de prof. Spafford, care este, de asemenea, fondatorul PCERT (Purdue Computer Emergency Response Team), „răspunsul rapid” al universității la urgențe informatice. PCERT, la rândul său, este membru al unei organizații internaționale similare FIRST (Forum of Incident Response Teams). După cum puteți vedea, mina a fost găsită de sapatori, iar acest lucru inspiră speranța că utilizatorii criptosistemelor nu vor rămâne fără apărare chiar și în cazul unor deficiențe.

    Caracteristic este conținutul primului apel la presă (din 16 februarie 1996), care în numele descoperitorilor a fost făcut de prof. Spafford. În ea, împreună cu informații despre nefiabilitatea sistemului de parole și posibilitatea spargerii acestuia în cinci minute, se spune despre întârzierea difuzării ulterioare a informațiilor tehnice până când dezvoltatorii fac ajustări pentru a preveni accesul neautorizat.

    Nici greșelile noastre nu au fost cruțate. Din fericire, în zona noastră există profesioniști care sunt capabili să găsească și să arate punctele slabe ale sistemului de protecție în timp util. Nu a trecut o lună de când specialiștii SRL Kiev „Fintronic” P.V. Leskov și V.V. Tatyanin a demonstrat deficiențele unuia dintre sistemele de securitate bancare populare: timpul pentru deschiderea textelor cifrate a fost mai mic de 6 minute, iar timpul necesar pentru o încălcare necontrolată a integrității unui document (ocolirea sistemului de autentificare) a fost mai mic de 5 minute. Și aici și noi, cititorii, va trebui să așteptăm ca dezvoltatorii să facă modificările necesare. Și apoi vă putem spune mai multe despre cum și ce s-a făcut.

    Literatură:

    1. Vodolazsky V. Sisteme comerciale de criptare: algoritmi de bază și implementarea lor. Partea 1. // Monitor. - 1992. - N 6-7. - c. 14 - 19.
    2. Ignatenko Yu.I. Cum să faci așa? .. // World of PC. - 1994. - Nr. 8. - c. 52 - 54.
    3. Kovalevsky V., Maksimov V. Metode criptografice. // ComputerPress. - 1993. - Nr 5. - c. 31 - 34.
    4. Maftik S. Mecanisme de protecţie în reţele de calculatoare. - M .: Mir, 1993.
    5. Spesivtsev A.V., Wegner V.A., Krutyakov A.Yu. și alte protecție a informațiilor în computerele personale. - M .: Radio și comunicare, 1992.
    6. Xiao D., Kerr D., Madnick S. Protecția computerului. - M .: Mir, 1982.
    7. Shmeleva A. Machiaj - ce este? // Hard "n" Soft. - 1994. - N 5.
    8. GOST 28147-89. Sisteme de prelucrare a informațiilor. Protecție criptografică. Algoritm pentru transformarea criptografică.

    Criptarea datelor este extrem de importantă pentru a proteja confidențialitatea. În acest articol, voi discuta despre diferitele tipuri și metode de criptare care sunt folosite pentru a proteja datele astăzi.

    Știați?
    În vremea Imperiului Roman, criptarea era folosită de Iulius Caesar pentru a face scrisorile și mesajele să nu fie citite inamicului. A jucat un rol important ca tactică militară, mai ales în timpul războaielor.

    Pe măsură ce posibilitățile internetului continuă să crească, tot mai multe dintre afacerile noastre sunt angajate online. Dintre acestea, cele mai importante sunt internet banking-ul, plata online, e-mail-urile, schimbul de mesaje private și oficiale etc., care prevăd schimbul de date și informații confidențiale. Dacă aceste date cad în mâini greșite, pot dăuna nu numai unui utilizator individual, ci și întregului sistem de afaceri online.

    Pentru a preveni acest lucru, au fost luate unele măsuri de securitate a rețelei pentru a proteja transmiterea datelor cu caracter personal. Principalele dintre acestea sunt procesele de criptare și decriptare a datelor cunoscute sub numele de criptografie. Există trei metode principale de criptare utilizate în majoritatea sistemelor de astăzi: criptare hashing, simetrică și asimetrică. În rândurile următoare, voi discuta mai detaliat fiecare dintre aceste tipuri de criptare.

    Tipuri de criptare

    Criptare simetrică

    Cu criptarea simetrică, datele normale care pot fi citite, cunoscute sub numele de text simplu, sunt criptate (criptate), astfel încât să devină ilizibile. Această amestecare a datelor se face cu o cheie. Odată ce datele sunt criptate, acestea pot fi transferate în siguranță către receptor. La destinatar, datele criptate sunt decodificate folosind aceeași cheie care a fost folosită pentru criptare.

    Astfel, este clar că cheia este cea mai importantă parte a criptării simetrice. Ar trebui să fie ascuns de străini, deoarece toți cei care au acces la el vor putea decripta datele private. Acesta este motivul pentru care acest tip de criptare este cunoscut și ca „cheie secretă”.

    În sistemele moderne, o cheie este de obicei un șir de date care este obținut dintr-o parolă puternică sau dintr-o sursă complet aleatorie. Este introdus în software-ul de criptare simetrică, care îl folosește pentru a cripta intrarea. Codificarea datelor se realizează folosind algoritmi de criptare simetrică, cum ar fi Standardul de criptare a datelor (DES), Standardul de criptare avansată (AES) sau algoritmul internațional de criptare a datelor (IDEA).

    Restricții

    Cea mai slabă verigă în acest tip de criptare este securitatea cheii, atât în ​​ceea ce privește stocarea, cât și transmiterea utilizatorului autentificat. Dacă un hacker este capabil să obțină această cheie, el poate decripta cu ușurință datele criptate, distrugând întregul punct de criptare.

    Un alt dezavantaj se datorează faptului că software-ul care prelucrează datele nu poate gestiona datele criptate. Prin urmare, pentru a putea folosi acest software, datele trebuie mai întâi decodificate. Dacă software-ul în sine este compromis, atunci un atacator poate obține cu ușurință datele.

    Criptare asimetrică

    O cheie de criptare asimetrică funcționează similar cu o cheie simetrică, prin aceea că folosește cheia pentru a cripta mesajele transmise. Cu toate acestea, în loc să folosească aceeași cheie, folosește o cheie complet diferită pentru a decripta acest mesaj.

    Cheia folosită pentru criptare este disponibilă pentru oricine și pentru toată lumea din rețea. Ca atare, este cunoscută ca cheie „publică”. Pe de altă parte, cheia folosită pentru decriptare este păstrată secretă și este destinată să fie utilizată în mod privat de către utilizator însuși. Prin urmare, este cunoscută drept cheia „privată”. Criptarea asimetrică este cunoscută și sub numele de criptare cu cheie publică.

    Deoarece, prin această metodă, cheia secretă necesară pentru a decripta mesajul nu trebuie transmisă de fiecare dată și, de obicei, este cunoscută doar de utilizator (destinator), probabilitatea ca un hacker să poată decripta mesajul este mare. inferior.

    Diffie-Hellman și RSA sunt exemple de algoritmi care utilizează criptarea cu chei publice.

    Restricții

    Mulți hackeri folosesc man-in-the-middle ca formă de atac pentru a ocoli acest tip de criptare. În criptarea asimetrică, vi se oferă o cheie publică care este utilizată pentru a face schimb de date în siguranță cu o altă persoană sau serviciu. Cu toate acestea, hackerii folosesc rețele de înșelătorie pentru a vă păcăli să comunicați cu ei în timp ce vă fac să credeți că sunteți pe o linie sigură.

    Pentru a înțelege mai bine acest tip de hacking, luați în considerare cele două părți care interacționează Sasha și Natasha și hackerul Sergey cu intenția de a le intercepta conversația. Mai întâi, Sasha trimite un mesaj prin intermediul rețelei destinat Natasha, cerându-i cheia publică. Serghei interceptează acest mesaj și primește cheia publică asociată acestuia și o folosește pentru a cripta și transmite un mesaj fals, Natasha, care conține cheia sa publică în loc de Sasha.

    Natasha, crezând că acest mesaj a venit de la Sasha, acum îl criptează folosind cheia publică a lui Sergey și îl trimite înapoi. Acest mesaj a fost din nou interceptat de Sergey, decriptat, schimbat (dacă se dorește), criptat din nou folosind cheia publică pe care Sasha o trimisese inițial și trimis înapoi lui Sasha.

    Astfel, atunci când Sasha primește acest mesaj, el este făcut să creadă că a venit de la Natasha și continuă să nu fie conștient de jocul greșit.

    Hashing

    Tehnica hashing folosește un algoritm cunoscut sub numele de funcție hash pentru a genera un șir special din datele date, cunoscut sub numele de hash. Acest hash are următoarele proprietăți:

    • aceleași date produc întotdeauna același hash.
    • este imposibil să generați date brute numai din hash.
    • Nu este practic să încercați diferite combinații de intrări pentru a încerca să generați același hash.

    Astfel, principala diferență dintre hashing și celelalte două forme de criptare a datelor este că, odată ce datele sunt criptate (hashing), nu pot fi recuperate înapoi în forma sa originală (decriptate). Acest fapt asigură că, chiar dacă hackerul pune mâna pe hash, acesta îi va fi inutil, deoarece nu va putea decripta conținutul mesajului.

    Message Digest 5 (MD5) și Secure Hashing Algorithm (SHA) sunt doi algoritmi de hashing folosiți pe scară largă.

    Restricții

    După cum am menționat mai devreme, este aproape imposibil să decriptați datele dintr-un anumit hash. Cu toate acestea, acest lucru este adevărat numai dacă este implementat hashing puternic. În cazul unei implementări slabe a tehnicii de hashing, folosind o cantitate suficientă de resurse și atacuri de forță brută, un hacker persistent poate găsi date care se potrivesc cu hash-ul.

    Combinație de metode de criptare

    După cum sa discutat mai sus, fiecare dintre aceste trei metode de criptare suferă de unele dezavantaje. Cu toate acestea, atunci când se utilizează o combinație a acestor metode, acestea formează un sistem de criptare fiabil și extrem de eficient.

    Cel mai adesea, tehnicile cu chei private și publice sunt combinate și utilizate împreună. Metoda cheii private permite decriptarea rapidă, în timp ce metoda cheii publice oferă o modalitate mai sigură și mai convenabilă de a transfera cheia secretă. Această combinație de tehnici este cunoscută sub denumirea de plic digital. Programul de criptare a e-mailului PGP se bazează pe tehnica plicului digital.

    Hashingul este folosit ca mijloc de verificare a puterii unei parole. Dacă sistemul stochează hash-ul parolei în locul parolei în sine, va fi mai sigur, deoarece chiar dacă un hacker pune mâna pe acest hash, el nu îl va putea înțelege (citi). În timpul verificării, sistemul va verifica hash-ul parolei de intrare și va vedea dacă rezultatul se potrivește cu ceea ce este stocat. Astfel, parola reală va fi vizibilă doar în scurte momente când trebuie schimbată sau verificată, ceea ce va reduce semnificativ probabilitatea ca aceasta să cadă pe mâini greșite.

    Hashingul este, de asemenea, folosit pentru a autentificarea datelor cu o cheie secretă. Hash-ul este generat folosind datele și această cheie. Prin urmare, doar datele și hash-ul sunt vizibile, iar cheia în sine nu este transmisă. În acest fel, dacă se fac modificări fie la date, fie la hash, acestea vor fi detectate cu ușurință.

    În concluzie, se poate spune că aceste tehnici pot fi folosite pentru a codifica eficient datele într-un format ilizibil care poate asigura că acestea rămân în siguranță. Majoritatea sistemelor moderne folosesc de obicei o combinație a acestor tehnici de criptare împreună cu algoritmi puternici pentru a îmbunătăți securitatea. Pe lângă securitate, aceste sisteme oferă și multe beneficii suplimentare, cum ar fi verificarea identității utilizatorului și asigurarea faptului că datele primite nu pot fi modificate.

    Datorită faptului că funcția principală a software-ului nostru este criptarea datelor, ni se pun adesea întrebări cu privire la anumite aspecte ale criptografiei. Am decis să colectăm cele mai frecvente întrebări într-un singur document și am încercat să le oferim cele mai detaliate răspunsuri, dar, în același timp, fără a fi supraîncărcate cu informații inutile.

    1. Ce este criptografia?

    Criptografia este o disciplină științifică teoretică, o ramură a matematicii care studiază transformarea informației pentru a o proteja de acțiunile raționale ale inamicului.

    2. Ce este un algoritm de criptare?

    Un algoritm de criptare este un set de reguli logice care determină procesul de conversie a informațiilor dintr-o stare deschisă într-una criptată (criptare) și, invers, dintr-o stare criptată într-o stare deschisă (decriptare).

    Algoritmii de criptare apar ca rezultat al cercetărilor teoretice, atât ale oamenilor de știință individuali, cât și ale echipelor științifice.

    3. Cum sunt protejate datele prin criptare?

    Principiul de bază al protecției datelor prin criptare este criptarea datelor. Datele criptate arată ca „gunoaie de informații” pentru cei din afară - un set de caractere fără sens. Astfel, dacă informațiile în formă criptată ajung la un atacator, pur și simplu nu le va putea folosi.

    4. Care este cel mai puternic algoritm de criptare?

    În principiu, orice algoritm de criptare propus de orice criptograf cunoscut este considerat puternic până la proba contrarie.

    De regulă, toți algoritmii de criptare care apar recent sunt publicati pentru inspecție publică și sunt studiati cuprinzător în centre specializate de cercetare criptografică. Rezultatele unor astfel de studii sunt publicate și pentru informare publică.

    5. Ce este o cheie de criptare?

    O cheie de criptare este o secvență de biți aleatorie, pseudo-aleatorie sau special formată, care este un parametru variabil al algoritmului de criptare.

    Cu alte cuvinte, dacă criptați aceleași informații cu același algoritm, dar cu chei diferite, rezultatele vor fi și ele diferite.

    O cheie de criptare are o caracteristică esențială - lungimea, care este de obicei măsurată în biți.

    6. Care sunt algoritmii de criptare?

    Algoritmii de criptare sunt împărțiți în două clase mari - simetrice și asimetrice (sau asimetrice).

    Algoritmii de criptare simetrică folosesc aceeași cheie pentru a cripta informațiile și pentru a le decripta. În acest caz, cheia de criptare trebuie să fie secretă.

    Algoritmii de criptare simetrică, de regulă, sunt ușor de implementat și nu necesită multe resurse de calcul pentru munca lor. Cu toate acestea, inconvenientul unor astfel de algoritmi se manifestă în cazurile în care, de exemplu, doi utilizatori trebuie să schimbe chei. În acest caz, utilizatorii fie trebuie să se întâlnească direct între ei, fie să aibă un fel de canal sigur, protejat de interceptare pentru trimiterea cheii, ceea ce nu este întotdeauna posibil.

    Exemple de algoritmi de criptare simetrică - DES, RC4, RC5, AES, CAST.

    Algoritmii de criptare asimetrică folosesc două chei - una pentru criptare și cealaltă pentru decriptare. În acest caz, ei vorbesc despre o pereche de chei. O cheie dintr-o pereche poate fi publică (disponibilă pentru toată lumea), cealaltă secretă.

    Algoritmii de criptare asimetrică sunt mai complexi în implementare și mai pretențioși în ceea ce privește resursele de calcul decât cei simetrici; cu toate acestea, problema schimbului de chei între doi utilizatori este mai ușor de rezolvat.

    Fiecare utilizator își poate crea propria pereche de chei și poate trimite cheia publică abonatului său. Această cheie poate cripta doar datele; pentru a decripta, aveți nevoie de o cheie secretă care este stocată numai de proprietarul acesteia. Astfel, obținerea unei chei publice de către un atacator nu îi va oferi nimic, deoarece îi este imposibil să decripteze datele criptate.

    Exemple de algoritmi de criptare asimetrică - RSA, El-Gamal.

    7. Cum sunt sparți algoritmii de criptare?

    În știința criptografică există o subsecțiune - criptoanaliza, care studiază problemele ruperii algoritmilor de criptare, adică obținerea de informații deschise din criptarea criptată fără cheie.

    Există multe moduri și metode diferite de criptoanaliza, dintre care majoritatea sunt prea complexe și voluminoase pentru a fi reproduse aici.

    Singura metodă care este relevantă de menționat este metoda forței brute (numită și forță brută). Esența acestei metode este de a enumera toate valorile posibile ale cheii de criptare până când este găsită cheia necesară.

    8. Cât de lungă ar trebui să fie cheia de criptare?

    Astăzi, pentru algoritmii de criptare simetrică, o lungime suficientă a cheii de criptare este considerată a fi de 128 de biți (16 octeți). Pentru o căutare completă a tuturor cheilor posibile cu o lungime de 128 de biți (atac de forță brută) într-un an, sunt necesare procesoare 4.2x1022 cu o capacitate de 256 milioane de operațiuni de criptare pe secundă. Costul acestui număr de procesoare este de 3,5x1024 dolari SUA (conform lui Bruce Schneier, Applied Cryptography).

    Există un proiect internațional distribuit.net, al cărui scop este de a uni utilizatorii de internet pentru a crea un supercomputer virtual distribuit care caută chei de criptare. Cel mai recent proiect de cracare a cheilor pe 64 de biți a fost finalizat în 1.757 de zile, la care au participat peste 300.000 de utilizatori, iar puterea de calcul a tuturor computerelor din proiect a fost echivalentă cu aproape 50.000 de procesoare AMD Athlon XP tactate la 2 GHz.

    Trebuie avut în vedere faptul că o creștere a lungimii cheii de criptare cu un bit crește numărul de valori ale cheii și, în consecință, timpul de căutare, de două ori. Adică, pe baza cifrelor de mai sus, în 1757 * 2 zile este posibil să spargi nu o cheie de 128 de biți, așa cum ar părea la prima vedere, ci doar una de 65 de biți.

    9. Am auzit despre chei de criptare de 1024 și chiar 2048 de biți și spui că 128 de biți este suficient. Ce înseamnă?

    Așa este, cheile de criptare de 512, 1024 și 2048 de biți, și uneori mai lungi, sunt folosite în algoritmii de criptare asimetrică. Ei folosesc principii care sunt complet diferite de algoritmii simetrici, astfel încât scarile cheilor de criptare sunt și ele diferite.

    Răspunsul la această întrebare este cel mai păzit secret al serviciilor secrete ale oricărui stat. Din punct de vedere teoretic, este imposibil să citești date criptate folosind un algoritm binecunoscut cu o cheie de lungime suficientă (vezi întrebările anterioare), totuși, cine știe ce se ascunde în spatele vălului secretelor de stat? Se poate dovedi că există câteva tehnologii extraterestre cunoscute de guvern, cu care poți sparge orice cifră 🙂

    Singurul lucru care poate fi afirmat cu certitudine este că nici un singur stat, nici un singur serviciu special nu va dezvălui acest secret și, chiar dacă este posibil să decriptezi cumva datele, nu le va arăta niciodată în niciun fel.

    Un exemplu istoric poate fi folosit pentru a ilustra această afirmație. În timpul celui de-al Doilea Război Mondial, premierul britanic Winston Churchill, ca urmare a interceptării și decriptării mesajelor germane, a luat cunoștință de iminentul bombardament al orașului Coventry. În ciuda acestui fapt, el nu a luat nicio măsură pentru a împiedica inamicul să afle că serviciile secrete britanice le-ar putea descifra mesajele. Drept urmare, în noaptea de 14-15 noiembrie 1940, Coventry a fost distrusă de aeronavele germane, ucigând un număr mare de civili. Astfel, pentru Churchill, costul dezvăluirii informațiilor că ar putea descifra mesajele germane s-a dovedit a fi mai mare decât costul a câteva mii de vieți umane.

    Evident, pentru politicienii moderni prețul unor astfel de informații este și mai mare, prin urmare, nu vom afla nimic despre capacitățile serviciilor speciale moderne, nici explicit, nici indirect. Deci, chiar dacă răspunsul la această întrebare este afirmativ, cel mai probabil această posibilitate nu se va manifesta în niciun fel.

    Sursa: SecurIT

    ^ înapoi la început ^

    De obicei, noi algoritmi de criptare sunt publicati pentru informare generala si studiati in centre de cercetare specializate. Rezultatele unor astfel de studii sunt publicate și pentru informare publică.

    Algoritmi simetrici
    Algoritmii de criptare sunt împărțiți în două clase mari: simetrice (AES, GOST, Blowfish, CAST, DES) și asimetrice (RSA, El-Gamal). Algoritmii de criptare simetrică folosesc aceeași cheie pentru a cripta informațiile și pentru a le decripta, în timp ce algoritmii asimetrici folosesc două chei - una pentru a cripta și cealaltă pentru a decripta.

    Dacă informațiile criptate trebuie transferate într-o altă locație, atunci trebuie să fie transferată și cheia de decriptare. Punctul slab aici este canalul de transmisie a datelor - dacă nu este sigur sau este ascultat, atunci cheia de decriptare poate ajunge la atacator. Sistemele bazate pe algoritmi asimetrici nu prezintă acest dezavantaj. Deoarece fiecare participant într-un astfel de sistem are o pereche de chei: chei publice și chei secrete.

    Cheie de criptare
    Aceasta este o secvență aleatorie sau special creată de biți folosind o parolă, care este un parametru variabil al algoritmului de criptare.
    Dacă criptați aceleași date cu același algoritm, dar cu chei diferite, rezultatele vor fi și ele diferite.

    De obicei, în Programele de criptare (WinRAR, Rohos etc.), cheia este creată din parola pe care o setează utilizatorul.

    Cheia de criptare vine în lungimi diferite, care sunt de obicei măsurate în biți. Odată cu creșterea lungimii cheii, puterea teoretică a cifrului crește. În practică, acest lucru nu este întotdeauna adevărat.

    În criptografie, mecanismul de criptare este considerat a fi o valoare neclasificată, iar un atacator poate avea codul sursă complet al algoritmului de criptare, precum și textul cifrat (regula lui Kerkhoff). O altă presupunere care poate avea loc este că un atacator poate cunoaște o parte din textul necriptat (plat).

    Puterea algoritmului de criptare.
    Algoritmul de criptare este considerat puternic până când se dovedește contrariul. Astfel, dacă un algoritm de criptare a fost publicat, există de mai bine de 5 ani și nu au fost găsite vulnerabilități serioase pentru acesta, putem presupune că puterea sa este potrivită pentru sarcinile de protecție a informațiilor clasificate.

    Rezistență teoretică și practică.
    În 1949 K.E. Shannon a publicat articolul „Teoria comunicării în sistemele secrete”. Shannon a considerat puterea sistemelor criptografice ca fiind atât practică, cât și teoretică. Concluzia asupra forței teoretice este încă pesimistă: lungimea cheii trebuie să fie egală cu lungimea textului simplu.
    Prin urmare, Shannon a luat în considerare și problema puterii practice a sistemelor criptografice. Este sistemul de încredere dacă un atacator are timp și resurse de calcul limitate pentru a analiza mesajele interceptate?

    De obicei, vulnerabilitățile se găsesc în programele care criptează datele folosind un anumit algoritm. În acest caz, programatorii fac o greșeală în logica programului sau în protocolul criptografic, datorită căruia, după ce a studiat modul în care funcționează programul (la un nivel scăzut), puteți obține în cele din urmă acces la informații secrete.

    Scăparea algoritmului de criptare
    Un criptosistem este considerat a fi compromis dacă un atacator poate calcula cheia secretă și poate efectua un algoritm de transformare echivalent cu criptoalgoritmul original. Și astfel încât acest algoritm să fie executabil în timp real.

    În criptologie există o subsecțiune - criptoanaliza, care studiază problemele ruperii sau falsificării mesajelor criptate. Există multe moduri și metode de criptoanaliza. Cea mai populară este metoda de enumerare directă a tuturor valorilor posibile ale cheii de criptare (așa-numita metodă de forță brută). Esența acestei metode este de a enumera toate valorile posibile ale cheii de criptare până când este găsită cheia necesară.

    În practică, aceasta înseamnă că un atacator trebuie:

    • Aveți la dispoziție un criptosistem (adică un program) și exemple de mesaje criptate.
    • Înțelegeți protocolul criptografic. Cu alte cuvinte, modul în care programul criptează datele.
    • Dezvoltați și implementați un algoritm pentru chei de forță brută pentru acest criptosistem.

    Cum poți spune dacă o cheie este corectă sau nu?
    Totul depinde de programul specific și de implementarea protocolului de criptare. De obicei, dacă după decriptare obțineți „gunoi”, atunci aceasta este cheia greșită. Și dacă textul este mai mult sau mai puțin semnificativ (acest lucru poate fi verificat), atunci Cheia este corectă.

    Algoritmi de criptare
    AES (Rijndael)... În prezent, este standardul federal de criptare din SUA.

    Ce algoritm de criptare să alegeți pentru a proteja informațiile?

    Aprobat de Departamentul de Comerț ca standard la 4 decembrie 2001. Decizia a intrat în vigoare din momentul publicării în registrul federal (06.12.01). O variantă de cifrare cu doar o dimensiune de bloc de 128 de biți este adoptată ca standard.

    GOST 28147-8. Standardul Federației Ruse pentru criptarea datelor și protecția împotriva imitațiilor. Inițial, a avut un gât (OV sau SS - nu se știe cu siguranță), apoi gâtul a fost redus treptat, iar până când algoritmul a fost realizat oficial prin Standardul de stat al URSS în 1989, a fost eliminat. Algoritmul a rămas PAL (după cum știți, PAL nu este considerat un bar). În 1989 a devenit standardul oficial al URSS, iar mai târziu, după prăbușirea URSS, standardul federal al Federației Ruse.

    Blowfish Schema complexă de generare a elementelor cheie complică semnificativ un atac asupra algoritmului prin forță brută, dar îl face inadecvat pentru utilizarea în sistemele în care cheia se schimbă frecvent și datele mici sunt criptate pe fiecare cheie.

    Algoritmul este cel mai potrivit pentru sistemele în care cantități mari de date sunt criptate pe aceeași cheie.

    DES Standard federal de criptare din SUA 1977-2001. A fost adoptat ca standard federal al SUA în 1977. În decembrie 2001, și-a pierdut statutul din cauza introducerii unui nou standard.

    CASTÎntr-un fel, un analog al DES.

    www.codenet.ru/progr/alg/enc
    Algoritmi de criptare, revizuire, informații, comparație.

    http://www.enlight.ru/crypto
    Materiale privind criptarea asimetrică, semnăturile digitale și alte sisteme criptografice „moderne”.

    Alexandru Velikanov,
    Olga Cheban,
    Tesline-Service SRL.

    Fostul bancher din Abu Dhabi, Mohammad Gheit bin Mahah Al Mazrui, a dezvoltat un cifr despre care susține că nu poate fi spart. Un cifr numit „Codul Abu Dhabi” a fost creat pe baza unui grup de personaje inventat de însuși Al Mazrui. În codul său, fiecare literă este înlocuită cu un simbol special inventat, iar aceste simboluri nu aparțin niciunei dintre limbile cunoscute în lume.

    Ce algoritmi de criptare a datelor sunt mai siguri

    Dezvoltatorului i-a luat un an și jumătate să lucreze la cifrul, pe care Al Mazrui îl numește „complet nou”.

    Potrivit entuziastului, fiecare își poate crea propriul cod, iar complexitatea cifrului determină lungimea cheii sale. Se crede că, în principiu, dacă există o dorință, anumite abilități și software adecvat, aproape toată lumea, chiar și cel mai complex cifru, poate fi spart.

    Cu toate acestea, Al Mazrui asigură că creația sa nu poate fi piratată și este cel mai fiabil cifr din ziua de azi. „Este aproape imposibil să descifrezi un document codificat cu Codul Abu Dhabi”, a spus Al Mazrui.

    Pentru a-și dovedi cazul, bancherul i-a provocat pe toți criptografii, hackerii și criptografii remarcabili, îndemnându-i să încerce să-i spargă cifrul.

    3. Kryptos este o sculptură pe care sculptorul american James Sanborn a instalat-o la sediul CIA din Langley, Virginia, în 1990. Mesajul criptat înscris pe el încă nu poate fi descifrat.

    4. Codul imprimat pe lingoul de aur chinezesc... Se presupune că șapte lingouri de aur au fost eliberate generalului Wang în Shanghai în 1933. Sunt marcate cu imagini, litere chinezești și un fel de mesaje criptate, inclusiv cu litere latine. Acestea pot conține certificate de autenticitate pentru metal emise de una dintre băncile din SUA.

    Ce algoritm de criptare să alegeți în TrueCrypt

    5. Criptogramele lui Bale- Trei mesaje criptate despre care se crede că conțin o comoară de două vagoane de aur, argint și pietre prețioase îngropate în anii 1820 lângă Lynchburg, în comitatul Bedford, Virginia, de un grup de căspeți de aur condus de Thomas Jefferson Bale. Prețul comorii negăsite până acum în termeni de bani moderni ar trebui să fie de aproximativ 30 de milioane de dolari. Misterul criptogramelor nu a fost încă rezolvat, în special, întrebarea existenței reale a comorii rămâne controversată. Unul dintre mesaje este decodificat - descrie comoara în sine și oferă instrucțiuni generale cu privire la locația sa. Literele rămase nedeschise pot conține locul exact al semnului de carte și o listă a proprietarilor comorii. (informatii detaliate)

    6. Manuscrisul Voynich, care este adesea numită cea mai misterioasă carte din lume. Manuscrisul folosește un alfabet unic, aproximativ 250 de pagini și desene înfățișând flori necunoscute, nimfe goale și simboluri astrologice. A apărut pentru prima dată la sfârșitul secolului al XVI-lea, când Sfântul Împărat Roman Rudolph al II-lea l-a cumpărat la Praga de la un negustor necunoscut pentru 600 de ducați (aproximativ 3,5 kg de aur, astăzi peste 50 de mii de dolari). De la Rudolf al II-lea, cartea a trecut la nobili și oameni de știință, iar la sfârșitul secolului al XVII-lea a dispărut. Manuscrisul a reapărut în jurul anului 1912 când a fost cumpărat de librarul american Wilfried Voynich. După moartea sa, manuscrisul a fost donat Universității Yale. Savantul britanic Gordon Rugg crede că cartea este o păcăleală inteligentă. Există caracteristici în text care nu sunt caracteristice niciunei limbi. Pe de altă parte, unele caracteristici, cum ar fi lungimea cuvintelor, modul în care literele și silabele sunt conectate, sunt similare cu cele din limbile reale. „Mulți oameni cred că acest lucru este prea dificil pentru a fi păcălit, ar fi nevoie de câțiva ani de alchimist nebun pentru a construi un astfel de sistem”, spune Rugg. Cu toate acestea, Rugg arată că această complexitate ar fi putut fi atinsă cu ușurință folosind un dispozitiv de cifrare inventat în jurul anului 1550, numit grila Cardan. În acest tabel cu simboluri, cuvintele sunt create prin mutarea unei cărți cu găuri tăiate în ea. Datorită spațiilor rămase în tabel, se obțin cuvinte de lungimi diferite. Prin impunerea unor astfel de grile pe tabelul de silabe a manuscrisului, Rugg a creat un limbaj care are multe, dacă nu toate, caracteristicile limbajului manuscrisului. Potrivit acestuia, ar dura trei luni pentru a crea întreaga carte. (informații detaliate, wikipedia)

    7. Cifrul Dorabella compusă în 1897 de compozitorul britanic Sir Edward William Elgar. În formă criptată, el a trimis o scrisoare în orașul Wolverhampton prietenei sale Dora Penny, fiica de 22 de ani a lui Alfred Penny, rectorul Catedralei Sf. Petru. Acest cifru rămâne nerezolvat.

    8. Până de curând, lista includea și chacode, care nu a putut fi dezvăluit în timpul vieții creatorului său. Codul a fost inventat de John F. Byrne în 1918 și timp de aproape 40 de ani a încercat fără succes să intereseze autoritățile americane în el. Inventatorul a oferit o recompensă bănească oricui putea să-și dezvăluie codul, dar, ca urmare, nimeni nu i-a cerut.

    Dar, în mai 2010, membrii familiei lui Byrn au donat toate documentele rămase la Muzeul Criptografic Național din Maryland, ceea ce a dus la dezvăluirea algoritmului.

    9. Cifrul D'Agapeyeff... În 1939, cartograful britanic de origine rusă, Alexander D'Agapeyeff, a publicat o carte despre elementele de bază ale criptografiei, Codes and Ciphers, în prima ediție a căreia a citat un cifr din propria sa invenție. Acest cifru nu a fost inclus în edițiile ulterioare. Ulterior, D'Agapeyeff a recunoscut că a uitat algoritmul pentru spargerea acestui cifr. Se bănuiește că eșecurile care s-au lovit de toți cei care au încercat să-și descifreze opera se datorează faptului că autorul a greșit la criptarea textului.

    Dar în zilele noastre există speranța că cifrul va putea fi descoperit folosind metode moderne - de exemplu, un algoritm genetic.

    10. Taman Shud... La 1 decembrie 1948, pe coasta Australiei, în Somerton, lângă Adelaide, a fost găsit cadavrul unui bărbat îmbrăcat într-un pulover și o haină, în ciuda zilei toride tipice pentru clima australiană. Nu au fost găsite documente cu el. De asemenea, încercările de a compara amprentele dinților și degetelor sale cu datele disponibile despre oamenii vii nu au dus la nimic. Examenul patologic a evidențiat un flux nenatural de sânge, care a fost umplut, în special, în cavitatea abdominală, precum și o creștere a organelor interne, dar nu au fost găsite substanțe străine în corpul său. Totodată, la gară a fost găsită o valiză care ar fi putut aparține defunctului. Valiza conținea pantaloni cu un buzunar secret, în care au găsit o bucată de hârtie ruptă dintr-o carte pe care erau imprimate cuvintele. Taman Shud... Ancheta a stabilit că o bucată de hârtie a fost ruptă dintr-o copie foarte rară a colecției Rubai a marelui poet persan Omar Khayyam. Cartea în sine a fost găsită pe bancheta din spate a unei mașini, abandonată descuiată. Pe coperta din spate a cărții erau mâzgălite cinci rânduri cu majuscule, un mesaj care nu a fost niciodată înțeles. Până astăzi, această poveste rămâne unul dintre cele mai misterioase mistere ale Australiei.

    Î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 pentru aceasta. Și dacă mai devreme furau doar hârtii sau pergamente, acum informația electronică este piratată. Aceiași algoritmi de criptare a datelor sunt cunoscuți din timpuri imemoriale. Multe civilizații au preferat să-și cripteze cunoștințele unice, astfel încât doar o persoană informată să le poată obține. Dar să vedem cum sunt afișate 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 anumit 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, este) să pară un set de simboluri fără sens. Doar cei care cunosc regulile aranjamentului lor pot citi o astfel de secvență. Cel mai simplu exemplu este definirea unui algoritm de criptare cu cuvinte scrise, să zicem, invers. Desigur, acesta este cel mai primitiv lucru la care te poți gândi. Se înțelege că, dacă cunoașteți regulile de înregistrare, nu va fi dificil să restaurați textul original.

    De ce este nevoie de asta?

    Probabil că nu merită explicat de ce au fost inventate toate acestea. Uite, la urma urmei, ce cantități de cunoștințe rămase din civilizațiile antice sunt criptate astăzi. Ori anticii nu au vrut să aflăm, ori toate acestea s-au făcut astfel încât o persoană să le poată folosi doar atunci când atinge nivelul dorit de dezvoltare - până acum se poate doar ghici despre asta.

    Totuși, dacă vorbim despre lumea de astăzi, securitatea informațiilor devine una dintre cele mai mari probleme. Judecă singur, căci câte documente sunt în aceleași arhive, despre care guvernele unor țări nu ar dori să răspândească, câte dezvoltări secrete, câte 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 de activitate ale lui Nathan Rothschild: „Cine deține informațiile, el 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 doar incipientă.

    Se crede că arta de a ascunde datele a început să se dezvolte în mod activ în urmă cu câteva milenii. 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. Dar iată ce este interesant: uneori algoritmul de criptare pentru texte (și în acel moment erau criptate) era de așa natură încât în ​​același caracter un singur caracter putea însemna nu doar o literă, ci și un întreg cuvânt, concept sau chiar o propoziție. Din această cauză, decriptarea unor astfel de texte devine absolut imposibilă, chiar și cu sisteme criptografice moderne care pot restabili forma originală a oricărui text. În termeni moderni, aceștia sunt destul de avansați, așa cum se spune acum, algoritmi de criptare simetrică. Să ne oprim asupra lor separat.

    Lumea modernă: tipuri de algoritmi de criptare

    În ceea ce privește protecția datelor confidențiale în lumea modernă, merită să ne gândim separat la acele vremuri în care computerele erau necunoscute omenirii. Ca să nu mai vorbim de câte lucrări au fost traduse de alchimiști sau de aceiași templieri, încercând să ascundă textele adevărate despre cunoștințele pe care le cunosc, 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 mașina germană de criptare a celui de-al Doilea Război Mondial numită „Enigma”, care înseamnă „ghicitoare” în engleză. Din nou, acesta este un exemplu al modului în care algoritmii de criptare simetrici sunt utilizați, a cărui esență este că criptatorul și decriptorul cunosc cheia (algoritmul) folosit inițial pentru a ascunde datele.

    Astăzi, astfel de criptosisteme sunt omniprezente. Cel mai frapant exemplu poate fi considerat, să zicem, algoritmul de criptare AES256, care este un standard internațional. În ceea ce privește terminologia computerului, 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 condiționat în două clase mari: simetrice și asimetrice. Ele, în funcție de domeniul de aplicare, sunt utilizate pe scară largă astăzi. Și alegerea algoritmului de criptare depinde direct de sarcini ș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 cardinală dintre 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 concepte geometrice de simetrie și asimetrie. Ce înseamnă asta se va afla acum.

    Algoritmul de criptare simetrică DES, dezvoltat încă din 1977, implică o singură cheie, care se presupune că este cunoscută de două părți interesate. 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, făcându-l, ca să spunem așa, lizibil.

    Ce sunt algoritmii de criptare asimetrică? Aici sunt folosite două chei, adică una este folosită pentru a codifica informațiile originale, iar cealaltă este folosită pentru a decripta conținutul și nu este absolut necesar ca acestea să coincidă sau să fie în același timp la părțile de codificare și decodare. Pentru fiecare dintre ele, unul este suficient. Astfel, într-un grad foarte mare, ambele chei nu pot cădea în a treia mână. Totuși, pe baza situației actuale, pentru mulți infractori cibernetici, furturile de acest tip nu sunt deosebit de problematice. Un alt lucru este căutarea exactă a cheii (în general, o 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 s-a afirmat, niciunul dintre sistemele informatice disponibile în lume nu poate și nu va putea să pirateze accesul la acesta și să obțină ceea ce se numește „interceptări telefonice” în următoarele decenii.

    Cei mai faimoși și folosiți algoritmi de criptare

    Dar înapoi 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 publică (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, cărora le aparține algoritmul de criptare DES, acesta este iremediabil depășit, iar încercările de a-l înlocui au început încă din 1997. Apoi, pe baza lui, a apărut un nou standard Advanced (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 oprim asupra tehnologiei RSA, care se referă la sistemul 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, este selectat un anumit 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țire cu modulul Z: F = M ** A * (mod Z). Rămâne ca destinatarului să calculeze un exemplu simplu: M = F ** B * (mod Z). În linii mari, toate aceste acțiuni se reduc doar la ridicarea la putere. Opțiunea de a crea o semnătură digitală funcționează pe același principiu, dar ecuațiile sunt ceva mai complicate aici. Pentru a nu deranja utilizatorul cu algebra, un astfel de material nu va fi prezentat.

    Cât despre hacking, algoritmul de criptare RSA pune o sarcină aproape de nerezolvat pentru atacator: să calculeze cheia B. Acest lucru s-ar putea face teoretic folosind instrumente de factoring disponibile (descompunerea în factori ai numerelor inițiale X și Y), dar astăzi nu există. astfel de instrumente, prin urmare, sarcina în sine devine nu numai dificilă - este în general impracticabilă.

    Criptare DES

    În fața noastră este altul, în trecut, un algoritm de criptare destul de eficient cu o lungime maximă a blocului de 64 de biți (caractere), dintre care doar 56 sunt semnificativi. 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-o selecție de taste de 48 de biți. Dar! Toate ciclurile sunt similare în principiu, așa că în acest moment nu este dificil să calculați cheia necesară. De exemplu, unul dintre cele mai puternice computere din SUA, în valoare de peste un milion de dolari, „sparge” 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 la maximum.

    Criptare AES

    În cele din urmă, avem în fața noastră cel mai răspândit și, după cum se credea, până de curând, invulnerabil sistem - algoritmul de criptare AES. Este prezentat astăzi î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 reprezentarea polinomială a codurilor și operații de calcul cu matrice bidimensionale. Potrivit guvernului Statelor Unite, va dura aproximativ 149 de trilioane de ani pentru ca un decodor, chiar și cel mai modern, să spargă o cheie de 128 de biți. Să nu fim de acord cu o astfel de sursă competentă. În ultima sută de ani, tehnologia informatică a făcut un salt, pe măsură, așa că nu trebuie să te linguești, mai ales că astăzi, după cum s-a dovedit, există sisteme de criptare mai abrupte decât cele pe care Statele Unite le-au declarat complet rezistente. la hacking.

    Viruși și probleme de 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 numai 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 utilizat pentru criptarea datelor, adică lungimea cheii este de patru ori mai mare decât AES256 existent în prezent, iar numărul de opțiuni la căutarea decriptorului corespunzător crește pur și simplu. incredibil.

    Și dacă pornim de la declarația guvernului SUA despre timpul alocat pentru decriptarea unei chei cu lungimea de 128 de biți, atunci cum rămâne cu timpul necesar pentru a găsi o soluție pentru cazul cu o cheie și variantele acesteia cu o lungime? de 1024 de biți? Atunci Statele Unite au fost găurite. Au crezut că sistemul lor de criptare computerizată este perfect. Din păcate, au existat niște experți (aparent, în spațiul post-sovietic) care au depășit postulatele americane „de nezdruncinat” 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, corporația ESET ș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 serviciul de asistență, este sugerat să trimiteți un fișier criptat și, dacă este disponibil, de preferință originalul acestuia - în forma în care era înainte de a începe criptarea. Din păcate, nici măcar o analiză comparativă nu a dat încă rezultate tangibile.

    Lumea pe care nu o cunoaștem

    Dar ce să spun, dacă urmărim viitorul, incapabili să descifrăm 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 devine oarecum inconfortabil din simpla conștientizare că în domeniul criptografiei acest om, a cărui viață este acoperită de un anumit văl de mister, și-a depășit modernitatea de secole.

    Până acum, mulți sunt bântuiți de așa-numitul „zâmbet al Giocondei”, în care există ceva atât de atractiv încât o persoană modernă nu este capabilă să înțeleagă. Apropo, unele simboluri au fost găsite relativ recent în poză (în ochi, pe rochie etc.), care indică clar că toate acestea conțin un fel de informații criptate de marele geniu, pe care astăzi, vai, le extragem incapabil. Dar nici măcar nu am menționat tot felul de construcții la scară largă care ar putea transforma înțelegerea fizicii la 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, 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 încă mai trebuie să facă o cantitate incredibilă de muncă pentru a înțelege că algoritmii moderni de criptare nu pot fi comparați uneori cu evoluțiile civilizațiilor antice. În plus, dacă astăzi există principii general acceptate de protecție 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 părere nespusă că majoritatea textelor antice nu pot fi traduse doar pentru că cheile descifrării lor sunt păzite cu grijă de către societăți secrete precum masoni, Illuminati etc. Chiar și templierii și-au lăsat amprenta aici. Ce putem spune despre faptul că biblioteca Vaticanului este încă complet inaccesibilă? Nu este acolo unde sunt stocate cheile principale ale înțelegerii antichității? Mulți experți sunt înclinați către această versiune, considerând că Vaticanul reține în mod deliberat această informație publicului. Dacă acest lucru este adevărat sau nu, nimeni nu știe încă. Dar un lucru poate fi spus cu siguranță - sistemele de criptografie antice nu erau în niciun fel inferioare (și poate chiar superioare) celor utilizate în lumea computerelor moderne.

    În loc de postfață

    În sfârșit, trebuie spus că aici au fost luate în considerare departe de toate aspectele legate de sistemele criptografice actuale și de tehnicile pe care le folosesc. Cert este că, în cele mai multe cazuri, ar trebui să dai formule matematice complexe și să reprezinți calcule, din care majoritatea utilizatorilor pur și simplu își vor da capul. Este suficient să ne uităm la exemplul care descrie algoritmul RSA pentru a realiza că orice altceva va părea mult mai complicat.

    Principalul lucru aici este să înțelegeți și să înțelegeți, ca să spunem așa, 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 acestea să fie disponibile unui număr limitat de utilizatori, aici nu mai este 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 zona 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ă.

    De obicei, noi algoritmi de criptare sunt publicati pentru inspectie publica si studiati in centre de cercetare specializate. Rezultatele unor astfel de studii sunt publicate și pentru informare publică.

    Algoritmi simetrici
    Algoritmii de criptare sunt împărțiți în două clase mari: simetrice (AES, GOST, Blowfish, CAST, DES) și asimetrice (RSA, El-Gamal). Algoritmii de criptare simetrică folosesc aceeași cheie pentru a cripta informațiile și pentru a le decripta, în timp ce algoritmii asimetrici folosesc două chei - una pentru a cripta și cealaltă pentru a decripta.

    Dacă informațiile criptate trebuie transferate într-o altă locație, atunci trebuie să fie transferată și cheia de decriptare. Punctul slab aici este canalul de transmisie a datelor - dacă nu este sigur sau este ascultat, atunci cheia de decriptare poate ajunge la atacator. Sistemele bazate pe algoritmi asimetrici nu prezintă acest dezavantaj. Deoarece fiecare participant într-un astfel de sistem are o pereche de chei: chei publice și chei secrete.

    Cheie de criptare
    Aceasta este o secvență de biți aleatorie sau creată special de parolă, care este un parametru variabil al algoritmului de criptare.
    Dacă criptați aceleași date cu același algoritm, dar cu chei diferite, rezultatele vor fi și ele diferite.

    De obicei, în Programele de criptare (WinRAR, Rohos etc.), cheia este creată din parola pe care o setează utilizatorul.

    Cheia de criptare vine în lungimi diferite, care sunt de obicei măsurate în biți. Odată cu creșterea lungimii cheii, puterea teoretică a cifrului crește. În practică, acest lucru nu este întotdeauna adevărat.

    În criptografie, mecanismul de criptare este considerat a fi o valoare neclasificată, iar un atacator poate avea codul sursă complet al algoritmului de criptare, precum și textul cifrat (regula lui Kerkhoff). O altă presupunere care poate avea loc este că un atacator poate cunoaște o parte din textul necriptat (plat).

    Puterea algoritmului de criptare.
    Algoritmul de criptare este considerat puternic până când se dovedește contrariul. Astfel, dacă un algoritm de criptare a fost publicat, există de mai bine de 5 ani și nu au fost găsite vulnerabilități serioase pentru acesta, putem presupune că puterea sa este potrivită pentru sarcinile de protecție a informațiilor clasificate.

    Rezistență teoretică și practică.
    În 1949 K.E. Shannon a publicat un articol „Teoria comunicării în sistemele secrete”. Shannon a considerat puterea sistemelor criptografice ca fiind atât practică, cât și teoretică. Concluzia asupra forței teoretice este încă pesimistă: lungimea cheii trebuie să fie egală cu lungimea textului simplu.
    Prin urmare, Shannon a luat în considerare și problema puterii practice a sistemelor criptografice. Este sistemul de încredere dacă un atacator are timp și resurse de calcul limitate pentru a analiza mesajele interceptate?

    De obicei, vulnerabilitățile se găsesc în programele care criptează datele folosind un anumit algoritm. În acest caz, programatorii fac o greșeală în logica programului sau în protocolul criptografic, datorită căruia, după ce a studiat modul în care funcționează programul (la un nivel scăzut), puteți obține în cele din urmă acces la informații secrete.

    Scăparea algoritmului de criptare
    Un criptosistem este considerat a fi compromis dacă un atacator poate calcula cheia secretă și poate efectua un algoritm de transformare echivalent cu criptoalgoritmul original. Și astfel încât acest algoritm să fie executabil în timp real.

    În criptologie există o subsecțiune - criptoanaliza, care studiază problemele ruperii sau falsificării mesajelor criptate. Există multe moduri și metode de criptoanaliza. Cea mai populară este metoda de enumerare directă a tuturor valorilor posibile ale cheii de criptare (așa-numita metodă de forță brută). Esența acestei metode este de a enumera toate valorile posibile ale cheii de criptare până când este găsită cheia necesară.

    În practică, aceasta înseamnă că un atacator trebuie:

    • Aveți la dispoziție un criptosistem (adică un program) și exemple de mesaje criptate.
    • Înțelegeți protocolul criptografic. Cu alte cuvinte, modul în care programul criptează datele.
    • Dezvoltați și implementați un algoritm pentru chei de forță brută pentru acest criptosistem.
    Cum poți spune dacă o cheie este corectă sau nu?
    Totul depinde de programul specific și de implementarea protocolului de criptare. De obicei, dacă după decriptare s-a dovedit „gunoaie”, atunci aceasta este cheia greșită. Și dacă textul este mai mult sau mai puțin semnificativ (acest lucru poate fi verificat), atunci Cheia este corectă.

    Algoritmi de criptare
    AES (Rijndael)... În prezent, este standardul federal de criptare din SUA. Aprobat de Departamentul de Comerț ca standard la 4 decembrie 2001. Decizia a intrat în vigoare din momentul publicării în registrul federal (06.12.01). O variantă de cifrare cu doar o dimensiune de bloc de 128 de biți este adoptată ca standard.

    GOST 28147-8. Standardul Federației Ruse pentru criptarea datelor și protecția împotriva imitațiilor. Inițial, a avut un gât (OV sau SS - nu se știe cu siguranță), apoi gâtul a fost redus treptat, iar până când algoritmul a fost realizat oficial prin Standardul de stat al URSS în 1989, a fost eliminat. Algoritmul a rămas PAL (după cum știți, PAL nu este considerat un bar). În 1989 a devenit standardul oficial al URSS, iar mai târziu, după prăbușirea URSS, standardul federal al Federației Ruse.

    Blowfish Schema complexă de generare a elementelor cheie complică semnificativ un atac asupra algoritmului prin forță brută, dar îl face inadecvat pentru utilizarea în sistemele în care cheia se schimbă frecvent și datele mici sunt criptate pe fiecare cheie. Algoritmul este cel mai potrivit pentru sistemele în care cantități mari de date sunt criptate pe aceeași cheie.

    DES Standard federal de criptare din SUA 1977-2001. A fost adoptat ca standard federal al SUA în 1977. În decembrie 2001, și-a pierdut statutul din cauza introducerii unui nou standard.

    CASTÎntr-un fel, un analog al DES.

    Imparte asta