Standardele de criptare

Standardul rusesc GOST 28147-89.

În Federația Rusă, a fost stabilit un standard de stat (GOST 28147-89) pentru algoritmi pentru conversia informațiilor criptografice în computere, sisteme informatice și rețele de calculatoare. Acești algoritmi pot fi utilizați fără restricții pentru criptarea informațiilor de orice nivel de secret. Algoritmii pot fi implementați în hardware și software.







Standardul definește următorii algoritmi pentru transformarea informației criptografice:

• Gamming cu feedback;

Comună pentru toți algoritmii de criptare este utilizarea unei chei de 256 de biți împărțită în opt cuvinte binare de 32 de biți și împărțirea secvenței binare criptate inițial în blocuri de 64 de biți.

Sistemul aparține sistemelor exponențiale bloc, deoarece fiecare bloc M al plaintextului este considerat ca un întreg în intervalul (0.n-1) și este transformat în blocul C prin următoarea transformare deschisă

C = E (e, n) (M) = M e (mod n),

unde E (e, n) este transformarea și (e, n) este cheia de criptare.

Când se decriptează, blocul plaintext M este restabilit cu aceeași transformare, dar cu un exponent diferit.

M = D (d, n) (C) = Cd (mod n),

unde D (d, n) este transformarea și (d, n) este cheia de decriptare.

Această metodă se bazează pe o justificare teoretică destul de complexă. Numerele e și d sunt legate de n printr-o anumită dependență și există recomandări pentru selectarea elementelor cheie pe baza primelor. Dacă luăm două prime p și g, definim n = p × q, atunci putem defini o pereche de cifre e și d care satisfac condițiile date. Dacă numerele e și n sunt deschise și cheia d (și în mod obligatoriu p și g) este păstrată secretă - atunci sistemul propus este un criptosistem RSA criptat deschis. Evident, stabilitatea sa este determinată de complexitatea operației de extracție din C a unei rădăcini de modulo n.

Să luăm în considerare etapele de bază ale implementării algoritmului RSA.

1. Expeditorul calculează n = p × q și M = (p-1) (q-1).

2. Apoi selectează un număr întreg aleator e, relativ prime la M și calculează d, satisfăcând condiția

Reamintim că două numere sunt relativ prime dacă HOD = 1. Numerele a și b au HOD d dacă d împarte atât a, cât și b și maximul dintre astfel de numere.

3. După aceea, el publică e și n ca cheia publică de criptare, stocând d ca o cheie privată (secretă).

4. Acum ia în considerare numerele e și d. Să presupunem că știm unul dintre ei și cunoaștem relația cu care sunt legate. Am putea calcula cu ușurință al doilea număr, dar nu cunoaștem numerele p și q. Prin urmare, se poate da unul dintre numere pentru cineva cu n și cereți-i să ne trimită mesaje după cum urmează.

5. Mesajul este reprezentat ca vectori (blocuri) de lungime l

6. Fiecare xi este ridicat la o putere de e mod n.

7. Trimiteți-ne Y = (x1 e (mod n), x2 e (mod n). Xl e (mod n)).







Indicați t = yi = xi e (mod n) și luați în considerare descifrarea informațiilor obținute.

Pentru a face acest lucru, ridicăm numărul rezultat t la puterea celui de-al doilea număr al perechii - d:

R = t d (mod n) = x e (mod n) d (mod n) = x ed (mod n).

În conformitate cu punctul 2, relația ed = 1 (mod M). și aceasta înseamnă că ed-1 este divizibil de întreg (p-1) (q-1), adică ed = 1 + a (p-1) (q-1),

unde a este un număr întreg.

x ed (mod n) = x 1 + a (p-1) (q-1) (mod n)

x p-1 = 1 mod p, x q-1 = 1 mod q (aceste relații sunt dovedite ca o mică teoremă Fermat, de exemplu în I10 /) obținem

x (p-1) (q-1) = 1 (mod pq)

x 1 + a (p-1) (g-1) (mod n) = x;

x a (p-1) (q-1) = 1 (mod pq), datorită faptului că,

că x (p-1) (q-1) = 1 (mod pq),

x mod n = x, deoarece x

După cum este necesar pentru a dovedi.

Semnătura digitală (electronică)

Una dintre principalele aplicații ale criptosistemelor cu cheie publică este folosirea acestora atunci când se creează o așa numită semnătură digitală sau digitală. Ideea unei semnături digitale a fost exprimată pentru prima oară în lucrarea lui Diffie și Hellman.

Una dintre opțiunile de prezentare a principiului semnării electronice este următoarea. Este necesar să existe transformări reciproce Ek și Dk. pentru care

Ek [Dk (M)] = M pentru orice text deschis M.

Apoi Dk considerate transformare secrete, prin care utilizatorul poate cripta plaintext C = Dk (M) și trimite această valoare ca o semnătură digitală la mesajul M altor utilizatori care au cunoștințe de transformare deschise Ek. Este evident că definiția Dk cu cunoștințe Ek ar trebui să fie sarcină imposibilă computațional.

Sistemul RSA este folosit pe scară largă în sistemul de semnătură digitală, transformările sale având toate proprietățile necesare. Utilizarea unei semnături digitale implică existența a două proceduri: semnarea și verificarea /8.9/.

Procedura pentru semnarea mesajului M este ridicarea numărului M la puterea d mod n:

Numărul S este o semnătură digitală, care poate fi generată numai de proprietarul cheii private.

Procedura de verificare a semnăturii S. corespunzătoare mesajului M este ridicarea numărului S într-o putere întregă a e mod n:

Dacă M '= M, atunci mesajul M este recunoscut ca un utilizator semnat care a furnizat cheia deschisă anterior e.

Într-o implementare pentru reducerea timpului semnarea și dimensiunea semnăturii ca semnătura sursă nu este în sine mesajul inițial M (lungime arbitrară) și un derivat de la ea (lungime fixă). Pentru a obține o folosește funcția bine cunoscută H care mapează orice mesaj M la mesajul H (M) fix de dimensiuni mici, care este apoi transformată într-o semnătură digitală. Funcția H este o funcție hash (funcție hash), în cel mai simplu caz poate fi, de exemplu, funcția de calcul al sumei de control al mesajului text modulo 2 32 dimensiune redusă a mesajelor de semnare electronică va fi apoi egal cu 32 de cifre binare (patru octeți).

Standardul american este DES.

Standardul de stat pentru criptarea datelor este standardul DES (standard de criptare a datelor). Algoritmul de criptare, care a stat la baza standardului, a fost dezvoltat de IBM. După verificarea de către experții Agenției Naționale de Securitate din SUA, algoritmul a primit statutul de standard de stat. Standardul DES este utilizat de departamentele federale pentru închiderea informațiilor în sistemele automatizate, cu excepția anumitor tipuri de informații definite prin acte speciale. În plus, acest standard de criptare este utilizat pe scară largă de organizațiile neguvernamentale nu numai în Statele Unite, ci în întreaga lume.

În standardul DES, informațiile despre sursă sunt împărțite în blocuri de 64 de biți fiecare și sunt supuse unei conversii criptografice folosind o cheie pe 56 de biți sau pe 64 biți.

Blocurile informațiilor sursă sunt procesate iterativ folosind operații de permutare și funcții de criptare. Pentru a calcula funcția de criptare oferă pentru a primi cheia de 48 de biți pe 64 de biți, 32 de biți codul de extensie la 48 de biți, conversie codul de 6 biți în 4 biți și o permutare de biți în secvența de 32 de biți.

Procesul de decriptare este invers la procesul de criptare și este realizat folosind aceeași cheie ca în criptare.







Articole similare

Trimiteți-le prietenilor: