Criptosisteme simetrice

După aceea, textul criptat este scris într-un șir (citiți de la stânga la dreapta, rând cu linie):
.irdzegyuSzhaoeyanP

Când se decodează, textul se potrivește într-un pătrat, iar textul liber se citește în ordinea numerelor "pătratului magic". Programul ar trebui să genereze "pătrate magice" și să selecteze unul dorit de tastă. Dimensiunea pătratului este mai mare de 3x3.







Pierderea completă a tuturor regularităților statistice ale mesajului original este o cerință importantă pentru un cifr simetric. Pentru acest cod trebuie să fie „efect de avalanșă“ - ar trebui să fie shifrobloka puternică schimbare cu schimbare de 1-bit în datele de intrare (în mod ideal, valorile de 1/2 biți ar trebui să varieze shifrobloka).

O altă cerință importantă este lipsa liniarității (adică, starea f (a) xor f (b) == f (a xor b)), în caz contrar, este facilitată de utilizarea criptanaliza diferențială cifrarii.

În prezent, cifrele simetrice sunt:

  • blochează cifrele. Procesarea blocurilor de informații cu o anumită lungime (de obicei 64, 128 de biți), aplicând blocului cheia în ordinea stabilită, de obicei mai multe cicluri de amestecare și înlocuire, numite runde. Rezultatul repetării rundelor este un efect de avalanșă - o pierdere din ce în ce mai mare de corespondență între blocurile de date deschise și criptate.
  • cipuri de flux. în care se efectuează criptarea peste fiecare bit sau octet al textului sursă (deschis) utilizând jocurile. Cifrul de flux poate fi ușor creat pe baza unui cifru bloc (de exemplu, GOST 28147-89 în modul gamma), pornit într-un mod special.

Cele mai multe cipuri simetrice utilizează o combinație complexă a unui număr mare de permutări și permutări. Multe astfel de cifre sunt executate în mai multe (uneori până la 80) treceri, folosind o "cheie de trecere" pe fiecare trecere. Setul de "chei de trecere" pentru toate trecerile se numește "program cheie". De regulă, acesta este creat din cheie prin efectuarea anumitor operații pe acesta, inclusiv permutări și substituții.

O modalitate tipică de a construi algoritmi pentru criptarea simetrică este rețeaua Feistel. Algoritmul construiește o schemă de criptare bazată pe funcția F (D, K), unde D este o porțiune de date care este jumătate din mărimea unității de criptare și K este "cheia de trecere" pentru această trecere. Funcția nu necesită reversibilitate - funcția sa inversă poate să nu fie cunoscută. Avantajele rețelei Feistel sunt coincidența aproape completă a decrippării cu criptare (singura diferență fiind ordinea inversă a "cheilor de trecere" din program), ceea ce facilitează foarte mult implementarea hardware.







Operația de permutare amestecă biții mesajului conform unei anumite legi. În implementările hardware, este realizat trivial ca o încurcare a conductorilor. Operațiile de permutare permit realizarea "efectului de avalanșă". Operația de permutare este liniară - f (a) xor f (b) = f (a xor b)

Operațiunile de substituire sunt efectuate ca o înlocuire a valorii unei părți a mesajului (adesea în 4, 6 sau 8 biți) printr-un standard, încorporat rigid într-un alt număr de algoritm prin accesarea unei matrice constante. Operația de substituire introduce nelinearitatea în algoritm.

De multe ori, rezistență algoritm, în special diferențiale criptanaliza depinde de alegerea valorilor din tabelele de substituție (S-cutii). Cel puțin luate în considerare prezența nedorită a elementelor S fixe (x) = x, iar lipsa efectului unor biți de intrare octeți la un anumit bit al rezultatului - adică, cazurile în care bitul rezultat este aceeași pentru toate perechile de cuvinte de intrare, care diferă doar în biți .

Există mulți (cel puțin două duzini) algoritmi de cifre simetrice, ale căror parametri esențiali sunt:

  • durabilitate
  • cheie lungime
  • număr de runde
  • lungimea blocului procesat
  • complexitatea implementării hardware / software
  • complexitatea transformării

Tipuri de cifre simetrice blochează cifrele

  • AES (standardul avansată de criptare în limba engleză) - standard american de criptare
  • GOST 28147-89 - standardul de criptare sovietic și rus, este, de asemenea, standardul CSI
  • DES (standardul de criptare a datelor în limba engleză) - standardul de criptare a datelor în SUA
  • 3DES (Triple-DES, Triple DES)
  • RC2 (Rivest Cipher sau Cifrul lui Ron)
  • RC5
  • Blowfish
  • Twofish
  • nush
  • IDEA (algoritm internațional de criptare a datelor, algoritm internațional de criptare a datelor)
  • CAST (după inițialele dezvoltatorilor Carlisle Adams și Stafford Tavares)
  • CRAB
  • 3-WAY
  • Khufu și Khafre
  • Kuznechik
cipuri de flux
  • RC4 (algoritm de criptare cu cheie de lungime variabilă)
  • SEAL (Algoritm eficient de software, algoritm eficient pentru software)
  • WAKE (algoritmul World Key Encryption, un algoritm de criptare la nivel mondial pe o cheie automată)

Comparație cu criptosistemele asimetrice

demnitate

  • viteză
  • simplitatea implementării (datorită operațiilor mai simple)
  • Lungimea cheii mai mică necesară pentru durabilitate comparabilă
  • învățare (datorită vârstei mai mari)

deficiențe

  • complexitatea managementului cheie într-o rețea extinsă
  • complexitatea schimbului de chei. Pentru aplicare, este necesar să se rezolve problema transferului fiabil al cheilor către fiecare abonat, deoarece este necesar un canal secret pentru a transfera fiecare cheie la ambele părți

Pentru a compensa dezavantajele cripțiunii simetrice, în prezent este utilizat pe scară largă o schemă criptografică hibrid (hibrid). unde criptarea asimetrică trimite o cheie de sesiune utilizată de părți pentru a face schimb de date utilizând criptarea simetrică.

Un dezavantaj important al cifrilor simetrice este imposibilitatea de a le folosi în mecanismele de formare a semnăturilor digitale electronice și a certificatelor, deoarece cheia este cunoscută de fiecare parte.







Articole similare

Trimiteți-le prietenilor: