Introducere în algoritmul de schimb de chei al lui Diffie Hellman

Algoritmul schimbului de chei Diffie Hellman este una dintre primele implementări practice ale schimbului de chei publice în domeniul criptografiei. Algoritmul schimbului de chei Diffie Hellman este unul dintre modurile prin care poate genera o cheie împărtășită și o partajare secretă între două părți, într-un mod în care putem fi siguri că nimeni nu va putea să se afle în comunicare. Există un fapt important de reținut despre algoritm este că nu schimbăm informațiile din schimb, ci creăm o cheie care poate fi folosită ulterior pentru schimbul de informații. Deoarece această tehnică ne permite să creăm o cheie de criptare cu cealaltă parte, putem începe apoi criptarea mesajelor în curs și primirea. Una stabilită, chiar dacă cineva înregistrează datele de transmisie, nu există nicio modalitate în care datele pot fi decriptate.

Diffie Hellman Algoritmul de schimb de chei pentru generarea cheilor

Algoritmul se bazează pe criptografia curbelor eliptice, care este o metodă de realizare a criptografiei cu cheie publică bazată pe structura algebră a curbelor eliptice pe câmpuri finite. De asemenea, DH folosește funcția trapdoor la fel ca multe alte modalități de a face criptografie cu chei publice. Ideea simplă de înțelegere a algoritmului DH este următoarea

1. Primul partid alege două numere prime g și p și le spune celui de-al doilea partid.

2. A doua parte alege apoi un număr secret (să-l numim a) și apoi calculează g a mod p și trimite rezultatul înapoi la prima parte, să apelăm la rezultatul A. Rețineți că numărul secret nu este trimis pentru oricine, doar rezultatul este.

3. Apoi prima parte face același lucru, selectează un număr secret b și calculează rezultatul B similor la

4. pasul 2. Apoi, acest rezultat este trimis către a doua parte.

5. A doua parte ia numărul B primit și calculează B a mod p

6. Prima parte ia numărul primit A și calculează A b mod p

Aici devine interesant, răspunsul la pasul 5 este același cu răspunsul din pasul 4. Aceasta înseamnă că ambele părți vor primi același răspuns indiferent de ordinea de exponenție.

(g a mod p) b mod p = g ab mod p
(g b mod p) a mod p = g ba mod p

Numărul pe care am venit la pașii 4 și 5 va fi luat ca cheie secretă partajată. Acum această cheie poate fi folosită pentru a efectua orice criptare a datelor care vor fi transmise, cum ar fi suflul, AES etc.

Diffie Hellman Algoritm

1. cheie = (Y A ) XB mod q -> aceasta este aceeași cu cea calculată de B

2. Elemente publice globale

  • q: q este un număr prim
  • a: a <q și α este rădăcina primitivă a lui q

3. Generarea cheilor pentru utilizatorul A

  • Selectați o cheie privată X A Aici, X A

Acum, Calcularea cheii publice Y A Y A = a XA mod q

4. Generarea cheilor pentru utilizatorul B

  • Selectați o cheie privată X B Aici, X B
  • Acum, Calcularea cheii publice Y B Y B = a Xb mod q

5. Calcularea cheii secrete după A

  • cheie = (Y B ) XA mod q

6. Calcularea cheii secrete de către B

  • cheie = (Y A ) XB mod q

Exemplu

1. Alice și Bob folosesc ambele numere publice P = 23, G = 5

2. Alice a selectat cheia privată a = 4, iar Bob a selectat b = 3 ca cheie privată

3. Ambele, Alice și Bob calculează acum valoarea lui x și y după cum urmează:

  • Alice: x = (5 4 mod 23) = 4
  • Bob: y = (5 3 mod 23) = 10

4. Acum, atât Alice cât și Bob fac schimb de numere publice între ele.

5. Alice și Bob calculează acum tastele simetrice

  • Alice: k a = y a mod p = 10 4 mod 23 = 18
  • Bob: k b = x b mod p = 4 3 mod 23 = 18

6. 18 este cheia secretă partajată.

Utilizări ale algoritmului Diffie Hellman

În afară de utilizarea algoritmului pentru generarea cheilor publice, există câteva alte locuri în care DH Algorithm poate fi utilizat:

  • Criptare: Algoritmul de schimb de chei Diffie Hellman poate fi utilizat pentru a efectua criptarea, una dintre primele scheme care au făcut-o a fost criptarea ElGamal. Un exemplu modern este numit Schema de Criptare Integrată care oferă securitate împotriva textului simplu ales și atacurilor ale clipboard-ului.
  • Acord autentificat prin parolă: Când două părți partajează o parolă, un acord de cheie autentificat prin parolă poate fi utilizat pentru a preveni omul în atacul din mijloc. Acest acord cheie poate fi sub forma lui Diffie-Hellman. Protocolul securizat de la distanță este un bun exemplu care se bazează pe această tehnică.
  • Forward Secrecy: Protocoalele bazate pe secretul avansat pot genera noi perechi de chei pentru fiecare nouă sesiune și le pot arunca automat la sfârșit atunci când sesiunea este terminată și ea. În aceste protocoale secrete înainte, este adesea folosit schimbul de chei Diffie Hellman.

Avantajele algoritmului Diffie Hellman

  • Expeditorul și receptorul nu au nevoie de cunoștințe prealabile între ele.
  • Odată schimbate cheile, comunicarea datelor se poate face printr-un canal nesigur.
  • Partajarea cheii secrete este sigură.

Dezavantajele algoritmului Diffie Hellman

  • Algoritmul nu poate fi dat în judecată pentru vreun schimb de chei asimetric.
  • În mod similar, nu poate fi utilizat pentru semnarea semnăturilor digitale.
  • Întrucât nu autentifică nicio parte din transmisie, schimbul de chei Diffie Hellman este susceptibil la un atac între om.

Concluzie

Datorită avantajelor sale, schimbul de chei Diffie Hellman s-a dovedit a fi un sistem util de schimb de chei. Deși este cu adevărat dificil pentru cineva care schițează rețeaua să decripteze datele și să obțină cheile, este totuși posibil dacă numerele generate nu sunt complet aleatorii. De asemenea, sistemul de schimb de chei face posibilă realizarea unui bărbat în atac de mijloc, pentru a-l evita, ambele părți ar trebui să fie foarte atenți la începutul schimbului.

Articol recomandat

Acesta a fost un ghid pentru algoritmul de schimb de chei al lui Diffie Hellman. Aici discutăm despre utilizări, algoritmi, avantaje și dezavantaje diferite. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Algoritmi de învățare a mașinilor
  2. Algoritmul de criptare
  3. Algoritmi de clasificare
  4. Tipuri de algoritmi