Introducere în algoritmi simetrici

Algoritmii simetrici, de asemenea, cunoscuți ca algoritmi de chei secrete sunt utilizați pe scară largă în criptarea datelor în vrac sau a fluxului de date. Acesta este un tip de algoritm criptografic care criptează și decriptează datele folosind aceeași cheie (care face ca acest algoritm să fie simetric). Se numește cheie secretă, deoarece cheia folosită este ținută secretă de sistemele care sunt implicate în procesul de criptare și decriptare. Criptarea făcută de acest algoritm nu este ușor de rupt dacă persoana care încearcă să decripteze nu are cheia secretă, ar trebui să folosească tehnici avansate pentru a o rupe. Acești algoritmi sunt, în general, de natură foarte rapidă, motiv pentru care sunt folosiți atunci când este nevoie de criptare în cantități mari de date. Fig1.a prezintă criptarea cheilor simetrice de bază:

Figura1.a Criptare cu cheie simetrică

Tipuri de algoritmi simetrici

Algoritmii larg simetrici sunt clasificați în două

  • bloc
  • Curent

Algoritmi de bloc

Algoritmii de bloc criptează blocul de date pe bloc (mulți octeți). Block se referă la setul de biți specificat, iar acești biți sunt modificați / criptați folosind o cheie secretă. Există un dezavantaj cu algoritmii de bloc care este, să presupunem că vom cripta datele fluxului de rețea, aceste date sunt păstrate de sistemul de criptare în componentele sale de memorie. Această păstrare a datelor se face atunci când sistemul așteaptă efectiv blocuri complete de date. Acest timp de așteptare poate duce la un decalaj de securitate care poate compromite securitatea și integritatea datelor. Pentru a evita această amenințare, putem reduce blocul și îmbina datele cu blocul de date criptat anterior până când sunt primite blocuri suplimentare, în termeni simpli această tehnică se numește feedback. Acest algoritm va cripta numai dacă se primește blocul complet.

Stream algoritmii

Algoritmii In-Stream, datele sunt criptate octet cu octet și uneori chiar bit cu bit. În cazul algoritmului de flux, datele nu sunt păstrate în memorie de către sistem, prin urmare, se poate spune că acest lucru este mult mai sigur în comparație cu algoritmul de bloc, deoarece datele nu sunt păstrate în sistem fără criptare.

Mai mult, sunt mai multe tipuri de algoritmi de criptare dintre cei puțini sunt enumerați mai jos

  • DES & Triple DES
  • RC2
  • Blowfish

DES & Triple DES

DES reprezintă un standard de criptare a datelor care ia un text simplu pe 64 de biți și criptează într-un cifrat de 64 de biți și decriptează înapoi cu ajutorul unei chei de 56 de biți. În DES, procesul de criptare începe cu o etapă de permutare inițială în care va lua intrarea ca date pe 64 de biți și le va permite în mod predefinit. Urmată de permutarea inițială este faptul că 16 runde de cifrare Feistel (o cifră Feistel preia intrarea și o împarte în două părți și face criptarea pe o singură parte), unde fiecare rundă va folosi o cheie de cifrare de 48 de biți. În scop de criptare și decriptare, utilizează un cifru și inversează algoritmul de cifrare. În cele din urmă, datele trec prin etapa de permutare finală pentru a reveni la cifra textului. Similar cu DES Triple DES nu este altceva decât cifrul DES repetat de 3 ori. Fig2.a arată arhitectura generică a algoritmului DES.

Arhitectura generică a algoritmului DES

RC2

Acesta este un algoritm de criptare bloc unde la început datele sunt împărțite într-un bloc de 8 octeți și aceste blocuri sunt procesate separat. Acest algoritm a fost utilizat pe scară largă în anii '90. Criptul Rc2 utilizează o cheie de utilizator secretă a cărei dimensiune poate varia de la un octet la 128 de octeți. Este nevoie de această cheie secretă de utilizator și folosește un algoritm de expansiune a cheilor și criptează datele. Acest algoritm este conceput astfel încât să poată fi implementat cu ușurință în microprocesoare pe 16 biți. Aici nu există runde Feistel, în schimb datele sunt supuse unui număr de 18 runde de amestecare și amestecare. Fig2.b arată arhitectura generică a algoritmului RC2.

Arhitectura generică a algoritmului RC2

Blowfish

Acesta este un algoritm asimetric care înlocuiește DES. Aici dimensiunea blocului folosită este de 64 biți și dimensiunile cheilor variază între 32 și 448 biți. Criptarea folosind pești de suflare constă în principal din două etape

  • Funcție rotundă
  • Operație de ieșire

Funcția rotundă efectuează următorii pași

  1. Albirea cu cheie, unde se ia porțiunea din stânga a datelor de intrare și se efectuează operațiune exclusivă OR.
  2. În cel de-al doilea pas folosește casetele S, aceste casete S mapează date pe 8 biți la 32 biți și ieșirea este luată pentru a combina cu o combinație de operații de adăugare și XOR
  3. Cele două etape de mai sus combinate denumite funcția F. Cu ieșirea funcției F și partea dreaptă a datelor de intrare, se efectuează operația XOR.
  4. Ultimul pas implică schimbarea producției.

Funcția de ieșire respectă schimbarea finală și realizează albirea la ieșire. Ieșirea acestei funcții este un text de cifră de pește. Decriptarea cu pești de suflare implică utilizarea aceleiași structuri ca și criptarea, deoarece folosește un cifru Feistel, dar tastele rotunde trebuie utilizate în ordine inversă. Avantajul major al acestui algoritm este că este disponibil în domeniul public, astfel încât să fie ușor accesibil. Dezavantajele sunt, practic, că generează cheile care necesită mult timp, iar dacă dimensiunea blocului este mică, este vulnerabilă la atacuri.

Aplicații ale algoritmilor simetrici

Unele dintre locurile în care este utilizat algoritmul de criptare simetrică sunt

  • Tranzacțiile cu card sunt utilizate pentru a preveni furturile de identitate și tranzacțiile frauduloase.
  • Pentru a confirma identitatea mesagerului.
  • Generarea numerelor de urgență și aleatoriu
  • Criptarea bazei de date

Concluzie - Algoritmi simetrici

Algoritmii simetrici sunt mult mai rapide și mai eficienți în comparație cu algoritmii asimetrici. Acesta este cu atât mai mult motivul pentru care sunt utilizate în criptarea în vrac. Dar dezavantajul său este că managementul cheilor este foarte exhaustiv, prin urmare, întreținerea la scară largă este o sarcină obositoare, unde trebuie să avem securitate de înaltă calitate, pentru a realiza acest lucru, trebuie să fi menținut ciclul de viață al cheii generate folosind sistemul separat . Prin urmare, trebuie să utilizăm întotdeauna criptarea adecvată pentru a evita atacurile asupra datelor noastre.

Articole recomandate

Acesta este un ghid pentru algoritmii simetrici. Aici vom discuta Introducerea și tipurile de algoritmi simetrici împreună cu DES și Triple DES. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Ce este WebSocket?
  2. Securitatea aplicațiilor web
  3. Cariera în dezvoltarea web
  4. Cariere în proiectare web
  5. Blocați modurile de operare Cipher
  6. Exemple de algoritm C ++