cifruri simetrice

criptosistem Symmetric (de asemenea, de criptare simetrică, cifruri simetrice) - metoda de criptare, în care pentru (per) criptare și decriptare utilizată aceeași cheie criptografică. Înainte de inventarea unei scheme de criptare asimetrică a fost singura metodă existentă de criptare simetrică. Algoritmul cheie trebuie să fie păstrate confidențiale de către ambele părți. Algoritmul de criptare este ales de către părți înainte de schimbul de mesaje.

Algoritmi de criptare și decriptare a datelor este utilizat pe scară largă în tehnologia informatică în sistemele de ascunderea informațiilor confidențiale și comerciale de la utilizarea abuzivă de către terți. Principiul de bază în ele este o condiție ca emițătorul și receptorul știe în avans algoritmul de criptare. precum și cheia mesajului, fără de care informația este doar un set de simboluri care nu au nici un sens.

O rearanjare simplu, fără cheie - una dintre cele mai simple metode de criptare. Mesajul este scris în coloane de tabel. După coloane plaintext scrise pentru formarea de criptare este citit linie cu linie. Pentru a utiliza acest cifru la expeditor și receptor trebuie să cadă de acord asupra unei chei comune într-o dimensiune tabelă. Combinațiile de litere din grup nu este inclus în cheia de criptare, și este utilizat numai pentru comoditate de text lipsit de sens.

Metoda Mai practic de criptare numită unică permutare a cheii este foarte similar cu cel precedent. Aceasta diferă doar prin faptul că coloanele din tabel sunt rearanjate pe cuvântul cheie, fraza, sau un set de numere din lungimea rând de tabel.

Pentru mai multe secret puteți re-cripta un mesaj care a fost criptat. Această metodă este cunoscută ca o permutare dublu. Pentru aceasta a doua dimensiune tabel este selectată, astfel încât lungimea de rânduri și coloane sale au fost altele decât în ​​primul tabel. Cel mai bun dintre toate, dacă acestea sunt relativ prim. Mai mult, în primele coloane de masă pot fi interschimbate, iar în al doilea rând. În cele din urmă, puteți umple masa de zig-zag, serpentine, spirala, sau în alt mod. Astfel de metode de umplere tabel, în cazul în care nu crește puterea de cifrare, face procesul de criptare este mult mai distractiv.

pătrate Magic numit masă pătrată cu înscrisă în celulele lor prin numere naturale succesive de la 1 pentru a adăuga în fiecare coloană, fiecare rând și fiecare diagonală de același număr. Aceste piețe sunt utilizate pe scară largă pentru introducerea textului criptat este prezentat în numerotarea lor. Dacă scrieți apoi afară conținutul rândurile din tabel, veți obține permutare de criptare de litere. La prima vedere, se pare că patrate foarte puțin magice. Cu toate acestea, numărul lor crește foarte rapid cu creșterea dimensiunii pieței. Deci, există doar un singur pătrat magic dimensiune 3 x 3, dacă nu iau în considerare meandrele lui. pătrate Magic 4 x 4, există deja 880, iar numărul de pătrate magice 5 x 5 în jurul valorii de 250000 Prin urmare, pătrate magice de dimensiuni mari ar putea fi o bună bază pentru un sistem de criptare fiabilă a timpului, deoarece căutarea manuală a tuturor opțiunilor-cheie pentru acest cifru era de neconceput.

Dimensiunea 4 de 4 numere se potrivesc pătrat de la 1 la 16. Magia lui a fost ca suma numerelor de rânduri, coloane și diagonalele este egală cu una completă și același număr - 34. Primul dintre aceste pătrate a apărut în China, unde a fost atribuită unele „putere magică“.

de magie Criptarea pătrat se realizează după cum urmează. De exemplu, doriți să criptați fraza: „Am venit azi“ Literele din această frază se potrivesc la pătrat în mod constant în conformitate cu numerele scrise în ele: poziția literelor într-o propoziție corespunde cu numărul de ordine. Celulele goale un punct.

După aceea, textul criptat este scris șirul (citit de la stânga la dreapta, linie cu linie). IRDZEGYUSZHAOEYANP

Când descifrarea textului se potrivește într-un pătrat și text simplu este citit în secvența de numere de program „pătrat magic“ ar trebui să genereze o „pătrate magice“ și selectați tasta dorită. Dimensiunea pătrat mai mult de 3x3.

Pierderea completă a tuturor regularităților statistice ale mesajului original este o cerință importantă pentru un cifru simetric. Pentru acest cod trebuie să fie „efect de avalanșă“ - ar trebui să fie puternică schimbare shifrobloka schimbare 1bitnom la 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, simetrice cifrurile - este:

  • cifrurile bloc. Informații despre proces blochează anumite lungimi (în general, între 64 și 128 de biți) cu ajutorul cheii de bloc în modul prescris, de obicei mai multe cicluri de amestecare și runde de substituție numite. Rezultatul este o repetare a runde efect de avalanșă - creșterea biți impedanta nepotrivire între blocurile de date publice și criptate.
  • cifruri flux, în care criptarea este realizată pe fiecare bit sau octet al sursei (deschis) text folosind XOR. cifru Stream poate fi ușor create pe baza bloc (de exemplu, o operație de GOST 28147-89 XOR), care rulează într-un mod special.

Cele mai multe dintre cifruri simetrice folosesc o combinație complexă a unui număr mare de substituții și permutări. Multe astfel de coduri sunt executate în mai multe (uneori până la 80) trece, fiecare folosind un „pasaj-cheie“ trece. Setul de „chei“ pentru toate treceri numite „programate cheie» (programul cheie). Ca o regulă, este creat dintr-o cheie efectuarea unor operațiuni pe acesta, inclusiv permutări și substituții.

O metodă tipică pentru construirea unui algoritm de criptare simetrică este o rețea Feistel. Algoritmul construiește un sistem de criptare bazat pe o funcție F (D, K), în cazul în care D - o bucată de date este jumătate din dimensiunea blocului de criptare, și K - «cheia de trecere“ pentru acest pasaj. Funcția nu este necesară reversibilitate - funcția inversă poate fi necunoscută. Avantaje rețea Feistel - aproape un decripta meci plin criptat (singura diferență - ordinea inversă a „cheie trecere“, în calendarul), care simplifică foarte mult implementarea de hardware.

operațiune permutare amestecă mesajul de biți de o anumită lege. este trivial realizat ca rețea de sârmă ghimpată sârmă în implementări hardware. Că operațiunile de permutare face posibilă pentru a realiza „efectul de avalanșă“. operație permutare liniar - f (a) xor f (b) == f (a xor b)

operațiunile de substituire sunt efectuate ca înlocuirea unora dintre valorile de mesaje (de multe ori la 4, 6 sau 8 biți) pentru standardul algoritm rigid încorporat într-un număr diferit prin referire la matrice constantă. operațiune de substituție aduce la non-liniaritatea a algoritmului.

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ă o pluralitate (cel puțin două duzini) algoritmi de criptare simetrică, care sunt parametri esențiali:

  • durabilitate
  • lungime cheie
  • numărul de runde
  • Lungimea blocului prelucrat
  • complexitatea hardware implementare / software
  • complexitatea transformării
  • AES (Advanced Encryption Standard engleză.) - American Encryption Standard
  • GOST 28147-89 - standardul de criptare a datelor interne
  • DES (Data Encryption Standard English.) - Data Encryption Standard în SUA pentru a AES
  • 3DES (Triple-DES triplu DES)
  • RC6 (Rivest Cipher)
  • Twofish
  • IDEA (Ing. International Data Encryption Algorithm)
  • SEED - Criptare coreeană de date standard
  • Camellia - aprobat pentru utilizare în Japonia cifru
  • CAST (inițialele dezvoltatorii Carlisle Adams și Stafford Tavares)
  • XTEA - cel mai ușor de implementat algoritm
  • algoritm de criptare cu o cheie de lungime variabilă - RC4
  • SEAL (software eficient algoritm) - software și un algoritm eficient
  • WAKE (algoritm de criptare Mondială cheie Auto) - algoritmul de criptare la nivel mondial într-un mod automat
  • Rata (conform Criptografie Aplicată - 3 ordine de mărime mai mare)
  • ușurința de implementare (datorită operațiunilor mai simplu)
  • lungime mai mică cheie necesară pentru fermitate comparabilă
  • învățare (în detrimentul mai mare de vârstă)
  • complexitatea managementului cheie într-o rețea mare. Aceasta înseamnă creșterea pătratică a numărului de perechi de chei care au nevoie pentru a genera, transmite, stoca și distruge rețeaua. Pentru o cheie de abonat rețea de 10 necesită 45-100 au 4950 pentru a 1000-499500, etc ...
  • complexitatea schimbului cheie. Pentru a aplica, trebuie să rezolve problema de transfer sigur de chei pentru fiecare utilizator, după cum este necesar un canal secret pentru fiecare cheie pentru ambele părți.

Pentru a compensa deficiențele în criptare simetrică este acum utilizat pe scară largă combinate (hibrid) scheme criptografice. unde c este transmis utilizând o cheie de sesiune de criptare asimetrică este utilizată de către părți pentru a comunica utilizând criptare simetrică.