algoritmi de criptare și Des aes
ref. Lista - 2 Naim ..
Scopul eseului - descrie modul în care să opereze DES și AES algoritmi de criptare.
Sarcina abstractă - să se familiarizeze cu faptul că au existat și modul de a construi algoritmii de criptare DES și AES.
1 Bazele (DES). 5
1.1 Criptare.
. 6
1.2 Decodarea.
. 11
2 Două DES și de atac „întâlnire în mijloc.“ 12
3 DES triplu.
. 13
4 Rijndael algoritm.
. 15
Lista surselor utilizate. 18
Unul dintre sistemele criptografice cele mai bine cunoscute, cu cheia privată este un DES - Data Encryption Standard. Acest sistem este primul obținut statutul de standard național în criptarea datelor. Acesta a fost dezvoltat de către experți IBM și a intrat în vigoare în Statele Unite în 1977. DES algoritm utilizat pe scară largă în stocarea și transmiterea de date între diferite sisteme informatice; sisteme de e-mail, sisteme electronice, desene și schimbul electronic de informații de afaceri. standard, DES a fost implementat atât software și hardware. Intreprinderi din diferite țări a fost lansat producția în masă a dispozitivelor digitale care utilizează DES pentru criptarea datelor. Toate dispozitivele sunt certificate pentru conformitate cu standardul.
În ciuda faptului că de ceva timp, acest sistem nu are statutul de standard național, este încă folosit pe scară largă și merită o atenție în studiul cifrurilor bloc cu o cheie privată.
Lungimea cheie în algoritmul DES este de 56 de biți. Este acest fapt legat controverse majore cu privire la capacitatea de a rezista la DES diferite atacuri. După cum se știe, orice cifru bloc cu cheia privată poate fi sparta, sortarea prin toate combinațiile posibile de taste. În cazul în care lungimea cheii de 56 de biți 2 56 posibile chei diferite. În cazul în care computerul trece prin într-o secundă de 1 milion de chei (care este aproximativ egal cu 2 20), apoi prin toate 56 de chei 2 va necesita 2 sau 36 secunde un pic peste două mii de ani, care, desigur, este inacceptabil pentru intruși.
sistem de calcul Cu toate acestea, probabil, mai scumpe și mai rapid decât calculatorul personal. De exemplu, dacă este capabil să se combine pentru calcul paralel milioane de procesoare, atunci timpul maxim tastei de selecție este redusă la aproximativ 18 ore. Acesta este un timp nu prea lung, și criptanalist, echipat cu o astfel de tehnologie costisitoare, ar putea efectua o autopsie a datelor criptate cu DES într-un timp rezonabil pentru tine.
Parametrii de bază DES: o dimensiune a blocului de 64 de biți, lungimea cheii este de 56 de biți, numărul de runde - 16. DES este o retea Feistel clasica (reprezintă anumite înmulțiți repetate (iterată) structura numita celula Feistel In trecerea de la o celulă la alta se schimbă cheie.) Cu două ramuri. Algoritmul traduce câteva runde blocul de intrare pe 64 de biți de date în unitatea de ieșire de pe 64 de biți. Algoritmul folosește o combinație de transformări liniare și neliniare. date criptată trebuie să fie reprezentate în formă binară.
Structura generală DES este prezentată în Figura 1. Procesul de criptare fiecare bloc de 64 de biți a datelor originale pot fi împărțite în trei etape:
1. bloc de date de formare inițială;
2. 16 runde „buclă principală“;
3. final unitate de prelucrare a datelor.
În prima etapă permutare inițială se realizează un bloc de pornire 64 de biți de text în timpul care biții sunt reordonate într-un anumit fel.
Următoarele (mai ales), blocul etapă este împărțit în două părți (ramuri) de 32 de biți fiecare. Ramura din dreapta este transformată folosind o funcție F și cheile parțiale corespunzătoare derivate din principalele chei cheie algoritm de criptare pentru conversie speciale. În continuare, comunicarea dintre ramurile stânga și dreapta ale blocului. Acest lucru se repetă într-o buclă de 16 ori.
Figura 1 Schema generală a DES
În cele din urmă, în a treia etapă se realizează rezultatul permutării obținut după șaisprezece pași bucla principală. Această permutare inversă permutare inițială.
Luați în considerare mai în detaliu toate etapele de transformare criptografic pe standardul DES.
În blocul 64 de biți primă etapă a datelor sursă este supusă IP inițial permutare. În literatura de specialitate, această operațiune este numit uneori „albire“ - albire. În biții inițiale permutare ale blocului de date sunt rearanjate într-un anumit fel. Această operațiune oferă unele „intamplarea“ mesajul inițial, reducând utilizarea metodelor statistice de criptanaliza.
Concomitent cu blocul de date permutare inițială este de 56 de biți cheie permutare inițială. Figura 1 arată că, în fiecare dintre rundele utilizate corespunzătoare 48 biți cheie parțială Ki. Tastele Ki sunt obținute printr-un algoritm specific, folosind fiecare dintre biților inițiale de mai multe ori cheie. În fiecare rundă de tasta 56-bit este împărțit în două jumătăți de 28 de biți. Apoi, cele două jumătăți sunt mutate la stânga de către unul sau doi biți, în funcție de numărul rotund. După 48 de forfecare este selectată într-un anumit mod de 56 biți. Deoarece, în acest caz, nu numai subsetul selectat de biți, dar modifică în ordinea lor, atunci aceasta se numește „compresie permutare“. Rezultatul său este un set de 48 de biți. În medie, fiecare bit al cheii originale 56-bit este utilizat în 14 din cele 16 de subchei, cu toate că nu toți biții sunt folosiți același număr de ori.
În continuare, ciclul principal de conversie se realizează. S-a obținut după o permutare inițială IP 64-bit bloc (T) este implicată în ciclurile de conversie 16 Feistel. În fiecare rundă (figura 2) este obținut printr-o valoare de 64 de biți intermediar, care este apoi procesat în runda următoare.
Figura 2 Structura o rundă DES
Stânga și în dreapta ramuri ale fiecăreia dintre valorile intermediare sunt tratate ca valoare separată pe 32 de biți. IP (T i-1) este împărțit în două părți, L i-1. R i-1. în cazul în care:
extinderea Inițial partea dreapta a blocului R i-1 la 48 de biți de către funcția de expansiune E. E (R i-1) utilizând un tabel care definește permutare, plus o extensie la 16 biți. Această operațiune are ca rezultat jumătatea dreaptă a dimensiunii, în conformitate cu mărimea cheii. Mai mult decât atât, din cauza acestei operațiuni crește dependența mai rapidă a tuturor biți de rezultatul biții de date originale și cheia (aceasta se numește „efect de avalanșă“). Efectul de avalanșă este mai pronunțată atunci când se utilizează un algoritm de criptare special, cu atât mai bine.
După efectuarea permutare cu extinderea valorii de 48 de biți obținută este efectuată cu operația XOR este o subcheie K 48 biți i-1. Produsul obținut după Unitatea E rearanjarea (R i-1) modulo 2 sumă cu k cheie i-1.
Apoi, valoarea rezultată pe 48 de biți este introdus în blocul de substituție S (din substituirea engleză -. O substituție), rezultatul care este o valoare de 32 de biți. Substituția se realizează în unități de opt substituții sau opt S-cutii (S-cutii).
E (R i-1) k i-1 = B1 B2 B3 B4 B5 B6 B7 B8
În timpul acestei operații, 48 de biți de date sunt împărțite în opt subblocks 6 biți, fiecare dintre care are masa de inlocuire a acestuia este înlocuită cu patru biți. Schimbare folosind S-blocuri este un pas critic în DES. Înlocuiți masa pentru această operațiune, special concepute de către experți, astfel încât să ofere siguranță maximă. Ca rezultat al acestei faze se obțin opt blocuri de 4 biți (B1 „B2“ B3 „B4“ B5 „B6“ B7 „B8“), care sunt din nou combinate într-o singură valoare de 32 de biți.
În continuare, valoarea de 32 de biți care rezultă este procesat de permutare P (din limba engleză permutarea -. Permutare), care este independent de cheia. Scopul permutarea este biții maxim reordonarea astfel încât, în următoarea rundă fiecare bit criptare este probabil să fie manipulate de către alte S-bloc.
În cele din urmă, rezultatul permutare este combinat folosind operație XOR cu jumătatea din stânga a blocului de date pe 64 de biți original.
R i = L i-1 f (R i-1. K-1)
Stânga, pe jumătate L i egal cu jumătatea din dreapta a vectorului precedent
După șaisprezece runde de criptare executat rezultat final permutare. Această permutare este invers (revers) a permutare inițială.
După efectuarea tuturor etapelor de unitatea de date este considerată a fi complet criptate și poate trece la următoarea unitate de criptare mesajul inițial.
1.2 Decoding
După cum se știe, sistemul criptografic ar trebui să permită nu numai criptat, dar, de asemenea, pentru a descifra mesajul. Ar fi de așteptat ca procesul de decriptare a DES foarte confuz. Cu toate acestea, dezvoltatorii au luat diferitele componente ale standardului de a utiliza același algoritm de criptare și decriptare. Atunci când descifrarea algoritm aplicat la intrare textul cifrat. Singura diferență este în ordine inversă de utilizare a cheii parțiale Ki. K16 este utilizat în prima rundă, K1 - la ultima rundă.
După ultima rundă a procesului de decriptare, cele două jumătăți ale ieșirii sunt inversate, astfel încât intrarea remanierea finală a fost formată din R16 și L16. Rezultatul acestei etape este un text simplu.
2 Două DES și de atac „întâlnire în mijloc“
În prezent, principalul dezavantaj este considerată mică lungime a cheii DES. Cel mai simplu mod de a complica procesul este utilizarea de criptare dublă criptanaliza folosind același algoritm cu chei diferite. Dacă M - mesajul K1. K2 - cheia, f - procesul de criptare DES, și E - mesaj criptat, atunci putem scrie
adică primul bloc este criptat cu o cheie, atunci textul cifrul rezultat criptat cu a doua cheie. Decodificarea se efectuează în ordine inversă (f -1 - decriptarea DES):
În acest caz, lungimea cheii este de 56 * 2 = 112 biți, astfel încât pentru a detecta o cheie dublă, care este criptat bloc, în general, necesită 2 112 încercări.
Examinând această problemă, oamenii de știință americani Merkle și Hellman au inventat o modalitate de atac plaintext care nu necesită încercări 2112, și 2 57 (Merkle și Hellman a oferit acest sistem împotriva DES, dar este posibil să se generalizeze tuturor algoritmi de bloc.)
Această versiune de atac numit atac „reuniunea la mijloc.“ Ea se bazează pe următoarea proprietate a algoritmului. avem
unde M - mesajul K1. K2 - cheie, f - procesul de criptare pentru DES, și E - mesaj criptat.
Atacul este după cum urmează. Este nevoie ca atacatorul știa câteva perechi de „text simplu - ciphertext corespunzătoare“ (M, E). În acest caz, primul model M criptat pentru toate valorile posibile ale 2 56 K1. Acest rezultat este stocat în memoria calculatorului. datele stocate sunt comandate de către H. Valoarea Pasul următor constă în decriptarea E, cu toate posibile 2 56 valori K2. Pentru fiecare decriptarea completat solicitat o valoare egală în primul tabel. Dacă această valoare este găsit, se consideră că aceste chei pot fi corecte, iar acestea sunt verificate pentru următoarea pereche de bine-cunoscut de „text simplu, text cifrat“. Numărul maxim de încercări de a le criptați, care ar putea avea de a lua, este egal cu 2 * 2 n. sau 2 n + 1 (unde n - lungimea cheii în fiecare dintre etapele de criptare, DES n este egal cu 56).
„Adunarea din mijloc“ numele atac este dat pentru motivul că, pe de o parte este criptat, pe de altă parte - decodarea, și în mijlocul rezultatelor obținute sunt comparate.
Pentru un atac „în mijlocul unei întâlniri“ au nevoie de o capacitate mare de memorie: 2 n blocuri (unde n - lungimea cheii). Pentru DES, care utilizează o cheie de 56 de biți va necesita 2 56 de blocuri de memorie pe 64 de biți. Acest lucru este de 2 62 bytes, sau 22 TB februarie. O astfel de memorie destul de greu de imaginat încă, în plus, pentru a efectua operațiuni de căutare într-o gamă largă va necesita momentul oportun. În ciuda acestui fapt, o criptare dublă DES este aproape niciodată folosit.
Tripla DES 3
Pentru a contraataca „întâlnire în mijloc“ a fost propus pentru a utiliza criptarea triplă cu două chei (figura 3).
Figura 3 criptare DES triplă cu două chei
În acest caz, secvența de codificare-decriptare-criptare (EDE - din engleză Encrypt -. Decripta -Encrypt). Acest proces poate fi reprezentat simbolic după cum urmează:
Expeditorul criptează mai întâi mesajul cu prima cheie, și apoi decripta al doilea, și în cele din urmă, în cele din urmă criptează primul. Destinatarul decriptează mai întâi prima cheie, apoi criptează și decriptează al doilea peste primul. Atunci când această lungime cheie este dublată și se ridică la 112 biți.
Ca o alternativă mai sigură este metoda de criptare triplu care utilizează trei chei diferite - în fiecare etapă a lui. Lungimea totală a cheii în această metodă este crescută (112 + 56 = 168), dar câteva sute de biți de stocare nu este de obicei o problemă.
Triple DES este o alternativa foarte popular pentru DES și este utilizat pentru gestionarea cheilor în standardele ANSI X9.17 și ISO 8732. Unele dintre criptanaliștii pentru a oferi chiar mai fiabile de criptare DES folosesc de cinci ori cu trei sau cinci chei.
4 Rijndael Algoritmul
Spre deosebire de cifrul DES propus și GOST 28147-89, pe bază de Rijndael nu mint rețea Feistel. Temei Rijndael sunt așa-numitele transformări permutare liniare. Un bloc de date este procesat cu ajutorul Rijndael, este împărțit în matrice octet și fiecare operațiune de criptare este un orientat pe octet. Fiecare rundă constă din trei transformări inversabilă distincte numite straturi. Aceste straturi sunt după cum urmează.
1. neliniar strat. Acest strat este realizat octeți de înlocuire. Layer este implementat folosind, având neliniaritate optimă S-blocuri, și împiedică utilizarea diferențial, și a altor tehnici moderne liniare criptanaliză.
2. Linear strat interschimbarea asigură un grad ridicat de întrepătrundere a blocului de simboluri pentru mascarea relațiilor statistice. Pe acest strat într-o matrice rectangulară de octeți se realizează și o permutare schimbare de rânduri de coloane de matrice.
3. Strat modulo 2 cu subcheie efectuează în mod direct de criptare.
Cifru începe și se termină cu adăugarea cheii. Acest lucru permite să închidă intrarea primei runde când atacă textul cunoscut și să facă rezultat criptografic important al ultimei runde.
Algoritmul de calcul foaie de calcul utilizate pe scară largă, toate tabelele necesare sunt specificate constanță, adică nu depind de tasta sau pe datele.
Trebuie remarcat faptul că, spre deosebire de criptare, construit pe o rețea Feistel, criptare și decriptare funcții Rijndael sunt diferite.
Algoritmul Rijndael a evoluat bine, atât în software și hardware. Rijndael are un mic cerințe de memorie, făcându-l potrivit pentru sistemele cu resurse limitate. algoritm de criptare Rijndael Fiabilitatea este foarte apreciat de către experți.
În concluzie, vreau să spun că DES este deja depășită, de asemenea, poate fi utilizat chiar și în aplicații mici și mijlocii pentru criptarea datelor, care au o valoare redusă.
Parametrii de bază DES: o dimensiune a blocului de 64 de biți, lungimea cheii este de 56 de biți, numărul de runde - 16.
În prezent, cu o lungime cheie de 56 de biți este considerat algoritmul nu este rezistent la fisurare.
Deoarece DES - standard SUA federal, este, în general, nu este utilizat în produse software destinate exportului; și dacă este folosit, lungimea cheii nu poate depăși 56 de biți.
AES - o alternativă la DES. Până în prezent, nu a mai văzut încălcări ale acestui algoritm. Este folosit în WI-FI.
Caracterizata AES dimensiunea blocului de 128 biți, lungimea cheii 128, 192 sau 256 de biți și numărul rundelor 10, 12 sau 14, în funcție de lungimea cheii.
Lista surselor folosite