Cunoaște Intuit, curs, des și criptare aes

Rezumat: 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. Și, deși vechiul American Standard DES este pierdut acum statutul său oficial, acest algoritm merită încă o atenție în studiul criptografie. Tot în acest capitol explică ce „de două ori mai des“, atac „întâlnire în mijloc“, și cum să-l rezolve. În același curs discutat pe scurt noul standard din SUA privind cifrul bloc - un algoritm de Rijndael.

Scopul prelegerii. Pentru a familiariza studenții cu informații de bază despre algoritmul de criptare DES.

informații de bază

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.

Principalii parametri ai DES. mărimea blocului este de 64 de biți, lungimea cheii este de 56 de biți. numărul de runde - 16. DES este o rețea clasică Feyshtelya 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. standardul DES este construit pe o combinație de permutări, substituții și XOR. date criptată trebuie să fie reprezentate în formă binară.

criptare

Structura generală a DES este prezentată în Fig. 4.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 etape „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 tasta corespunzătoare parțială. obținută din miezul cheii de criptare cu o transformare cheie algoritm special. În continuare, comunicarea dintre ramurile stânga și dreapta ale blocului. Acest lucru se repetă într-o buclă de 16 ori.

Î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ă.

Cunoaște Intuit, curs, des și criptare aes


Fig. 4.1. Schema generală a DES

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ă permutare inițială. Î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ă. Fig. 4.1. Se observă că, în fiecare rundă, utilizând tasta corespunzătoare pe 48 de biți 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.

Apoi, ciclul principal de conversie se realizează, organizat de rețeaua Feyshtelya și care constă din 16 etape identice. În fiecare rundă (fig. 4.2), intermediarul valoarea 64 de biți obținută. care este apoi procesat în runda următoare.

Cunoaște Intuit, curs, des și criptare aes


Fig. 4.2. Structura o rundă de DES

La stânga și la dreapta ramuri ale fiecăreia dintre valorile intermediare sunt tratate ca valori separate, pe 32 de biți, anumite L și R.

Inițial, partea dreapta a blocului Ri este extins la 48 de biți, prin utilizarea unui 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 dimensiunea unei chei pentru a efectua operația XOR. 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 de 48 de biți subcheie Ki. 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). Î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, 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. Apoi, din stânga și din dreapta jumatati sunt schimbate, și începe runda următoare.

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.