Atacul cu text simplu ( CPA ) este una dintre principalele metode de atac criptoanalitic . Criptanalistul are un anumit număr de texte clare și texte cifrate corespunzătoare , în plus, are capacitatea de a cripta mai multe texte clare preselectate [1] .
Un criptoanalist , conform principiului Kerckhoffs , are toate informațiile despre sistemul de criptare utilizat, cu excepția unui anumit set de parametri numit cheie . Sarcina criptoanalistului este să găsească cheia sau să creeze un algoritm care să permită decriptarea oricărui mesaj criptat cu această cheie.
Dat:
unde textul simplu ales de criptoanalist, textul cifrat, funcția de criptare, cheia.
Obține: fie , fie algoritm cum să ajungi de la [1]
Capacitatea de a efectua un atac în text clar este destul de comună. De exemplu, un atacator ar putea mitui pe cineva pentru a cripta un mesaj selectat. Este posibilă și următoarea situație: atacatorul trimite un mesaj ambasadorului unei anumite țări, iar acesta îl trimite în patria sa în formă criptată [2] .
Atacul în text simplu se referă la atacuri active asupra sistemelor cripto. Astfel de atacuri încalcă integritatea și confidențialitatea informațiilor transmise [3] .
Figura 1 prezintă o diagramă a unui atac bazat pe textul clar ales. Atacatorul (A) primește textul cifrat de la utilizator (C). Sarcina atacatorului este de a „ghici” textul simplu . Deoarece atacatorul are acces la blocul de criptare , el are capacitatea de a-și cripta mesajele și de a analiza textele cifrate primite. . Drept urmare, atacatorul preia mesajul și îl transmite utilizatorului.
Există două tipuri de atacuri bazate pe textul clar ales:
Potrivit lui Bruce Schneier , există 4 căi principale de atac criptoanalitic [1] :
În cazul unui atac bazat pe text cifrat, criptoanalistul are acces doar la textul cifrat. Acesta este cel mai dificil tip de atac din cauza cantității reduse de informații disponibile.
Într-un atac de text simplu cunoscut, criptoanalistul cunoaște atât textul simplu, cât și textul cifrat. Acest tip de atac este mai eficient decât un atac bazat pe text cifrat datorită cantității mai mari de informații cunoscute despre criptosistem.
Un atac cu text clar ales este un tip de atac mai puternic decât un atac cu text clar cunoscut. Abilitatea de a preselecta texte clare oferă mai multe opțiuni pentru extragerea cheii de sistem. De asemenea, este adevărat că, dacă un criptosistem este vulnerabil la un atac de text simplu cunoscut, atunci este vulnerabil și la un atac de text simplu ales [5] .
Atacul cu text simplu a fost folosit în timpul celui de-al Doilea Război Mondial .
În 1942, criptoanaliştii US Navy au interceptat un ordin criptat de la comandamentul japonez. După ce au descifrat o parte a mesajului, criptoanalistii americani au aflat despre atacul iminent asupra misteriosului „AF”, dar nu au reușit să afle locul atacului. Presupunând că Insula Midway era ținta cea mai probabilă pentru japonezi , americanii au încercat un truc. Ei au întocmit un raport conform căruia insula nu avea apă dulce și a trimis-o printr-un canal neprotejat. Câteva zile mai târziu, ofițerii americani de informații au interceptat un text cifrat japonez, care a raportat că era puțină apă dulce pe AF. Astfel, comandamentul american știa dinainte despre atacul viitor asupra atolului Midway [6] .
Criptoanaliștii britanici de la Bletchley Park au folosit cu succes un atac în text simplu pentru a decripta corespondența germană. Britanicii au provocat inamicul să folosească anumite cuvinte și nume în textele mesajelor. De exemplu, dacă germanii au curățat recent de mine o secțiune din apele de coastă, serviciile britanice de informații ar putea anunța că zona a fost din nou minată. Acest lucru a provocat un flux de mesaje criptate de la comanda germană, inclusiv cuvântul „mine” și numele teritoriului. Astfel, britanicii au reușit să culeagă text simplu și să analizeze texte cifrate destul de eficient pentru a sparge cifrurile germane. Acest atac poate fi calificat ca un atac cu text simplu ales adaptiv , deoarece criptoanalistii britanici ar putea alege următorul text simplu care urmează să fie criptat pe baza rezultatelor deja obținute [7] .
Luați în considerare un exemplu simplu de atac asupra unui cifru afín folosind caractere latine de la A la Z.
A | B | C | D | E | F | G | H | eu | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 17 | optsprezece | 19 | douăzeci | 21 | 22 | 23 | 24 | 25 |
Funcția de criptare:
Criptoanalistul efectuează un atac pe baza textului clar ales. Textul clar ales este „HAHAHA”, textul cifrat corespunzător este „NONONO”. Scopul criptoanalistului este de a găsi forma explicită a funcției de criptare, adică de a calcula coeficienții și .
Folosind perechea rezultată text clar-text cifrat, vom compune un sistem de ecuații:
Rezolvând sistemul, găsim:
Funcție de criptare: [8]
Criptanaliza diferențialăAtacul cu text clar ales este folosit într-o metodă de criptoanaliza diferenţială propusă de criptoanaliştii israelieni Eli Biham şi Adi Shamir în 1990 pentru a sparge criptosistemul DES . Metoda se bazează pe studiul textelor cifrate, ale căror texte clare prezintă anumite diferențe. Analizând evoluția diferențelor de text cifrat în timpul rundelor DES, se determină o listă de chei posibile și i se atribuie o probabilitate fiecărei chei posibile. În procesul de analiză a următoarelor perechi de texte cifrate, una dintre chei va deveni cea mai probabilă [9] . Ulterior, metoda criptoanalizei diferențiale a fost extinsă la astfel de criptosisteme precum FEAL , Khafre , Lucifer , LOKI și altele [10] [11] .
Fie , texte clare potrivite, , texte cifrate corespunzătoare. Diferența dintre textele clare și textele cifrate este determinată de operația XOR : Pentru a descrie posibilele modificări ale valorii în timpul parcurgerii etapelor DES, se introduce conceptul de caracteristică rotundă , alcătuită din diferențe de text simplu , text cifrat și un set de diferențe rotunde. (diferențe de texte cifrate după fiecare rundă intermediară) . Fiecărei caracteristici i se atribuie probabilitatea ca o pereche aleatorie de texte clare cu o diferență să producă diferențe rotunde și diferențe de text cifrat corespunzătoare caracteristicii după trecerea prin runda de criptare corespunzătoare. O pereche de texte clare a căror trecere printr-o rundă DES este descrisă exact de caracteristică se numește „pereche corectă” ; în caz contrar, se numește „pereche incorectă”. [9]
Pentru a determina cheia, se efectuează un atac pe baza textului clar ales. În etapa de colectare a datelor, criptoanalistul trimite spre criptare un număr mare de perechi de texte clare cu anumite diferențe corespunzătoare caracteristicii cu probabilitate (adică între toate perechile de texte clare există perechi corecte). Apoi, în etapa de analiză a datelor , se determină un set de chei rotunde posibile, pentru fiecare cheie posibilă se calculează diferențele textelor cifrate corespunzătoare. În timpul ultimei runde de criptare, are loc o enumerare completă a cheilor posibile. Pentru cheile rotunde incorecte, probabilitatea unei diferențe de texte cifrate corespunzătoare caracteristicii va fi foarte mică, pentru o cheie rotundă corectă, probabilitatea va fi de ordinul mărimii sau mai mare. În acest fel puteți determina cheia de sistem corectă [9] [12] .
Trebuie remarcat faptul că metoda criptoanalizei diferențiale este destul de nepractică din cauza cerințelor ridicate de timp și volum de date. De exemplu, cracarea unui DES cu 16 runde necesită texte clare și operații potrivite [9] .
Criptanaliza liniarăÎn 1993, criptoanalistul japonez Mitsuru Matsui a propus o metodă de criptoanaliza liniară pentru spargerea cifrurilor bloc, cum ar fi DES. Metoda se bazează pe construirea de relații liniare între text simplu, text cifrat și cheie :
unde sunt cei n -alei biți ai textului, textului cifrat și, respectiv, cheii. Astfel de relații se numesc aproximări liniare.
Esența metodei este de a calcula probabilitatea de apariție a aproximărilor liniare. Dacă probabilitatea este diferită de , atunci este posibil să extrageți informații despre cheie folosind perechi text simplu-text cifrat. Inițial, pentru fiecare rundă individuală, se găsește o aproximare liniară cu cea mai mare probabilitate de părtinire. Apoi, aproximațiile rotunde sunt combinate într-o aproximare liniară generală a criptosistemului și, cu ajutorul perechilor text clar-text cifrat, se face o presupunere despre valorile biților cheie [13] .
Inițial, metoda de criptoanaliza liniară a folosit un atac de text simplu cunoscut. De exemplu, a fost nevoie de texte clare cunoscute și 50 de zile pentru a sparge un DES cu 16 runde [13] . În 2000, Lars Knudsen a propus o variantă de criptoanalize liniare bazată pe texte clare alese - a fost nevoie de texte clare alese pentru a deschide 12 biți ai cheii [14] .
Atacul de text clar ales poate fi folosit pentru a sparge criptosisteme asimetrice. În astfel de sisteme, cheia publică este disponibilă oricărui utilizator, ceea ce oferă criptoanalistului control complet asupra algoritmului de criptare. Astfel, este întotdeauna posibil să se organizeze un atac împotriva criptosistemelor cu cheie publică pe baza textului clar ales [15] . De exemplu, dacă un atacator a interceptat un text cifrat , pentru a-l decripta, este suficient să ridicați un alt mesaj și să-l criptați folosind cheia publică . Dacă , se mai face o încercare [16] .
Criptare probabilisticăDe obicei, criptosistemele asimetrice sunt concepute pentru a rezista atacurilor folosind texte clare alese [15] . De exemplu, apărarea criptosistemului RSA împotriva atacurilor bazate pe text simplu ales se bazează pe dificultatea de a calcula rădăcina textului cifrat printr-un întreg compus modulo [17] . O altă modalitate de a elimina scurgerile de informații din criptosistemele cu chei publice este criptarea probabilistică propusă de Shafi Goldwasser și Silvio Micali . Ideea principală a criptării probabilistice este de a potrivi mai multe texte cifrate selectate aleatoriu cu același text simplu . Astfel, dacă un criptoanalist încearcă să ghicească textul simplu P pentru a decripta , el va obține un text cifrat complet diferit și nu va putea verifica corectitudinea presupunerii sale [18] .
Atacul asupra criptosistemului RSAÎn ciuda securității criptosistemului RSA împotriva atacurilor de text alese, există o serie de vulnerabilități care permit unui criptoanalist să decripteze textul cifrat. Luați în considerare următorul algoritm pentru atacarea unui sistem de semnătură electronică bazat pe RSA, propus de George David în 1982. Atacul se face presupunând că criptoanalistul a interceptat textul cifrat . Scopul criptoanalistului este de a obține un mesaj deschis . Pentru a efectua un atac, un criptoanalist trebuie să fie capabil să semneze orice mesaje pe care le alege [19] [20] .
Această metodă nu vă permite să deschideți criptosistemul în sensul tradițional, adică să obțineți o cheie privată, dar criptoanalistul este capabil să decripteze un anumit mesaj. Prin urmare, acest atac este mai slab decât atacul de tip matched-plaintext pentru criptosistemele simetrice, ceea ce vă permite să obțineți toate informațiile despre criptosistem dacă aveți succes [20] .