Rețeaua Feistel

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În criptologie , un cifru Feistel este un algoritm de cifrare bloc cu o anumită structură dezvoltată de criptologul IBM Horst Feistel , de la care a luat numele rețelei Feistel ; îl folosesc mulți algoritmi de cifrare bloc, inclusiv Standardul de criptare a datelor (DES). Structura inventată de Feistel are avantajul că criptarea și decriptarea sunt operațiuni foarte similare, adesea identice și că este suficient să inversați operațiunea managerului de chei pentru a obține operația inversă: prin urmare, circuitele de criptare și decriptare sunt adesea aceleași. Mecanismul de criptare seamănă cu operațiile Enigma în cascadă.

Mulți algoritmi moderni se bazează pe rețelele Feistel, iar structura propusă de Feistel a fost analizată temeinic de criptologi, chiar dacă cei mai siguri depășesc paradigma invertibilității și folosesc fie criptografie asimetrică, fie tehnologii inovatoare, cum ar fi rețeaua cuantică DARPA .

Cifrul Feistel este utilizat și în alte tipuri de algoritmi criptografici, nu doar în cifrele bloc. De exemplu, criptarea optimă asimetrică de criptare utilizează o rețea simplă Feistel pentru a randomiza textul cifrat în unele scheme de cifrare cheie asimetrice .

fundal

Rețeaua Feistel a fost comercializată pentru prima dată de IBM sub numele de Lucifer , un algoritm proiectat de Feistel și Don Coppersmith . Rețeaua Feistel a devenit foarte populară atunci când guvernul SUA a adoptat DES (un algoritm bazat pe Lucifer cu unele modificări făcute de NSA ) ca standard criptografic. La fel ca alte părți ale DES, rețeaua Feistel, fiind o structură care a presupus multe iterații ale aceluiași bloc, a fost simplu de construit cu circuitele care puteau fi produse în acel moment.

Structura generală

Rețeaua Feistel este similară ca design cu cifrul produsului și utilizează următoarele operațiuni:

Aceste operații, repetate de mai multe ori ( runde ), dau rețelei Feistel proprietățile „ confuziei și difuziei ” descrise de Claude Shannon .

Detalii de construcție

Cifrul Feistel.png

Sa spunem fie funcția pașilor și sub-cheile respectiv ale pasajelor Operațiile de bază sunt, prin urmare, următoarele:

Împărțiți datele de intrare în două părți egale

Pentru fiecare rundă a calcula

unde este este funcția de rotund și este cheia sesiunii.

Apoi se obține textul cifrat

Fără a lua în considerare funcția decriptarea se realizează cu

Un avantaj al acestui model este că funcționează utilizate sunt unidirecționale și pot fi foarte complexe.

Această diagramă arată criptarea și decriptarea mesajului. Rețineți inversarea cheii de sesiune pentru decriptare, este singura diferență față de criptarea mesajelor.

Cifrare Feistel dezechilibrată

Un cifru Feistel dezechilibrat utilizează o versiune modificată a structurii cu Și de lungimi diferite [1] . Skipjack este un exemplu al acestui tip de algoritm. Texas Instruments folosește un cifrat Feistel propriu neechilibrat în transponderul digital de semnătură , un dispozitiv wireless pentru autentificare. [2]

Lista cifrelor Feistel

Feistel modificat sau Feistel: Blowfish , Camellia , CAST-128 , Standard de criptare a datelor (DES), FEAL , KASUMI , LOKI97 , Lucifer , MAGENTA , MISTY1 , RC5 , Tiny Encryption Algorithm (TEA), Triple DES , Twofish , XTEA .

Feistel generalizat: CAST-256 , MacGuffin , RC2 , RC6 , Skipjack .

Notă

  1. ^ Bruce Schneier : Feistel dezechilibrat
  2. ^ S. Bono, M. Green, A. Stubblefield, A. Rubin, A. Juels, M. Szydlo: Security Analysis of a Cryptographically-Enabled RFID Device - Proceedings of the USENIX Security Symposium (2005)

Elemente conexe