DFC

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 15 martie 2021; verificările necesită 3 modificări .
DFC
Creator Jacques Stern ,
Serge Vaudenay
Creată 1998
publicat 1998
Dimensiunea cheii 128/192/256 biți
Dimensiunea blocului 128 de biți
Numărul de runde opt
Tip de Rețeaua Feistel

DFC ( Decorrelated Fast Cipher ) este un algoritm cripto simetric bloc creat în 1998 împreună de criptografii de la Liceul Normal din Paris , Centrul Național de Cercetare Științifică ( CNRS ) și gigantul de telecomunicații France Telecom sub îndrumarea celebrului criptolog Serge Vaudene , în special pentru participarea la concursul AES . Aparține familiei de cifruri PEANUT (Pretty Encryption Algorithm with n-Universal Transformation). [unu]

Structura generală

DFC este un cifr pe bloc de 128 de biți care reprezintă rețeaua Feistel cu 8 runde . O funcție de criptare pe 64 de biți este utilizată cu opt chei rotunde diferite de 128 de biți derivate dintr-o cheie de criptare originală . În fiecare rundă, funcția de criptare folosește jumătatea stângă a textului simplu (bloc) și două chei de 64 de biți, care sunt jumătate din runda corespunzătoare, pentru a produce un text cifrat de 64 de biți. Jumătatea stângă criptată rezultată a blocului este adăugată în jumătatea dreaptă. Apoi, conform ideii rețelei Feistel, părțile din stânga și din dreapta ale blocului sunt schimbate [2] . Decriptarea este aceeași cu criptarea , folosind cheile rotunde în ordine inversă. Lungimea cheii de criptare inițială nu este limitată la cele trei dimensiuni fixe oferite de competiția AES (128, 192 și 256 de biți), și poate fi de dimensiune variabilă de la 0 la 256 de biți [3] .

Funcția de criptare [2] [4]

Intrare :  - jumătate din stânga de 64 de biți a textului sursă (bloc);  este cheia rotundă corespunzătoare.

Ieșire :  - jumătate din stânga criptată pe 64 de biți a textului original.

Etapa 1: Calcul

Cheia rotundă este împărțită în două jumătăți: și . Apoi se face următorul calcul:

Etapa 2: „Permutarea confuză”

Confusion Permutation folosește o cutie S care transformă intrarea de 6 biți în 32 de biți folosind tabelul de înlocuire RT (în continuare o considerăm o funcție a acestei transformări).

Fie și să  fie părțile din stânga și din dreapta celor 32 de biți recepționați fiecare (să notăm acest lucru ca ), și  li se dau constante cu lungimea de 32, respectiv 64 de biți și  este o funcție care lasă biții cei mai din stânga ai argumentului, apoi rezultatul a funcției de criptare:

Tabel de căutare (S-box)

S-box  este componenta principală a criptoalgoritmilor simetrici care înlocuiește n biți de intrare cu m biți de ieșire conform unui tabel de căutare. Este folosit pentru a elimina pe cât posibil dependențele dintre cheia de criptare și textul cifrat , ceea ce face posibilă îndeplinirea proprietății Shannon despre complexitatea criptoalgoritmului. De obicei sunt folosite casetele S cu o tabelă de căutare fixă ​​( DES , Rijndael ), dar în unele criptoalgoritmi tabelul de căutare este generat folosind cheia de criptare de intrare ( Blowfish , Twofish ). DFC folosește un tabel de căutare fix RT, semnificația acestuia va fi descrisă mai jos. Un criteriu necesar pentru un tabel de căutare este injectivitatea .

Taste rotunde [4]

Pentru a crește puterea cifrului, fiecare rundă a funcției de criptare folosește o cheie rotundă diferită . Pentru a le obține, se folosește cheia principală de cifră . Algoritmul de obținere este următorul.

Pasul 1

În primul rând, suplimentăm cheia principală de criptare (a cărui lungime variază de la 0 la 256 de biți) cu o constantă dată de 256 de biți, eliminând caracterele suplimentare.

.

Taierea rezultată în 8 părți de 32 de biți .

Pasul 2

Să definim câteva variabile auxiliare folosind cele obținute :

și, de asemenea, pentru i=2,3,4

unde  sunt date constante pe 64 de biți.

Pasul 3

Astfel, am obținut două chei de 512 biți fiecare din cheia originală de 256 de biți.

Fie  funcțiile de criptare descrise în paragraful 2, cu doar 4 runde în loc de 8, folosind cheile rotunde și respectiv pentru runda -a . Apoi, presupunând că obținem cheile rotunde dorite:

Dacă  este impar, atunci:

Dacă  este par, atunci:

S-au găsit chei rotunde.

Parametri fixi [4]

Pentru a efectua operația de criptare DFC, așa cum se arată mai sus, sunt necesari următorii parametri fix:

Nume Lungime (bit) Scop
64 Funcția de criptare, etapa 2
32 Funcția de criptare, etapa 2
64 Obținerea cheilor rotunde, Pasul 2
64 Obținerea cheilor rotunde, Pasul 2
256 Obținerea cheilor rotunde, Pasul 1
Tabel de căutare 64x32 Funcția de criptare, etapa 2

Pentru a seta parametrii fix, se folosește de obicei notația hexazecimală a numărului e :

e = 2.b7e151628aed2a6abf7158…

În plus, vom lua în considerare doar partea fracțională a reprezentării hexazecimale a numărului e.

Astfel, obținem următoarele (datele sunt prezentate în sistem hexazecimal ):

Tabelul de căutare RT
Secvență de biți de intrare (6): 00 01 02 03 04 05 06 07 08 09 0A 0B
Secvență de biți de ieșire (32): b7e15162 8aed2a6a bf715880 9cf4f3c7 62e7160f 38b4da56 a784d904 5190cfef 324e7738 926cfbe5 f4bf8d8d 8c31d763
0C 0D 0E 0F zece unsprezece 12 13 paisprezece cincisprezece 16 17 optsprezece 19 1A 1B
da06c80a bb1185eb 4f7c7b57 57f59594 90cfd47d 7c19bb42 158d9554 f7b46bce d55c4d79 fd5f24d6 613c31c3 839a2ddf 8a9a276b cfbfa1c8 77c56284 dab79cd4
1C 1D 1E 1F douăzeci 21 22 23 24 25 26 27 28 29 2A 2B
c2d3293d 20e9e5ea f02ac60a cc93ed87 4422a52e taxă cb238 e5ab6add 835fd1a0 753d0a8f 78e537d2 b95bb79d 8dcaec64 2c1e9f23 b829b5c2 780bf387 37df8bb3
2C 2D 2E 2F treizeci 31 32 33 34 35 36 37 38 39 3A 3B
00d01334 a0d0bd86 45cbfa73 a6160ffe 393c48cb bbca060f 0ff8ec6d 31beb5cc eed7f2f0 bb088017 163bc60d f45a0ecb 1bcd289b 06cbbfea 21ad08e1 847f3f73
3C 3D 3E 3F
78d56ced 94640d6e f0d3d37b e6700831

constante:

KD = 86d1bf27 5b9b251d KC=eb64749a KA 1 = b7e15162 8aed2a6a KA 2 = bf715880 9cf4f3c7 KA 3 = 62e7160f 38b4da56 KB 1 = a784d904 5190cfef KB 2 = 324e7738 926cfbe5 KB 3 = f4bf8d8d 8c31d763 KS=da06c80a bb1185eb 4f7c7b57 57f59584 90cfd47d 7c19bb42 158d9554 f7b46bce

Securitate

Puterea criptografică  este capacitatea unui algoritm de criptare de a rezista la posibile atacuri asupra acestuia. Structura DFC se bazează pe metoda decorelației [1] dezvoltată de Serge Vadenay, cu rezistență dovedibilă la atacurile criptografice cunoscute. Cu toate acestea, există deja rezultate analitice care arată contrariul.

Chei și constante slabe [4]

Pentru comoditate, luăm asta  - jumătatea stângă a tastei i -a rotunde K,  - jumătatea dreaptă. Dacă este egală cu 0, atunci rezultatul funcției de criptare va fi o anumită constantă independentă de . Prin urmare, luând , , egal cu 0, cifrul devine vulnerabil la un atac distinctiv (mai multe despre un astfel de atac cu un exemplu [5] ). Șansa ca astfel de chei să apară este 2 −192 .

Trebuie remarcată încă o caracteristică a cifrului asociată cu o alegere slabă a constantelor și . (vezi „Tastele rotunde”) Dacă , , , atunci obținem , , . Asa de

Astfel, obținem zero chei rotunde pentru toate rundele, ceea ce înseamnă

, unde  este o constantă.

Textul închis rezultat poate fi folosit pentru a restabili textul original.

Atacul în timp

Atacul de sincronizare  este un tip de atac de canal lateral. Implementările de cifruri puternice (DFC nu este o excepție) ar trebui să fie astfel încât timpul de calcul al operațiilor modulo (mod) să nu depindă de datele de intrare. În caz contrar, este posibil să se folosească atacul în timp Kocher [6] .

Photofinishing Attack

Eli Biham a propus o tehnologie eficientă de implementare a cifrului bazată pe un microprocesor SIMD de 1 bit . Acest tip de implementare este imun la „atacul de fotofinisare” al lui Shamir [7] .

Note

  1. 1 2 Serge Vaudenay Securitate dovedibilă pentru Cifrele bloc prin deccorelation (1998) Arhivat 6 ianuarie 2015 la Wayback Machine
  2. 1 2 Lars Knudsen , Vincent Rayman (martie 1999) „Despre Decorrelated Fast Cipher (DFC) and its Theory” Arhivat la 19 august 2005 la Wayback Machine
  3. Panasenko S.P. Algoritmi de criptare. Carte de referință specială - Sankt Petersburg. : BHV-SPb , 2009. - 576 p. — ISBN 978-5-9775-0319-8
  4. 1 2 3 4 Henri Gilbert, Marc Girault, Philippe Hoogvorst, Fabrice Noilhan, Thomas Pornin, Guillaume Poupard, Jacques Stern și Serge Vaudenay Decorrelated Fast Cipher: an AES Candidate. Versiunea completă Arhivată pe 15 ianuarie 2007 la Wayback Machine
  5. Simon Künzli, Willi Meier (2009) Distinguishing Attack on MAG Arhivat 27 mai 2011 la Wayback Machine
  6. Paul Kocher Timing Attacks on Implementations of Diffie-Hellman, PSA, DSS, and Other Systems Arhivat 22 octombrie 2010 la Wayback Machine
  7. A. Shamir. Criptanaliza vizuală în criptologie EUROCRYPT'98 (1998)

Link -uri