DFC

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. marts 2021; checks kræver 3 redigeringer .
DFC
Skaber Jacques Stern ,
Serge Vaudenay
Oprettet 1998
offentliggjort 1998
Nøglestørrelse 128/192/256 bit
Blokstørrelse 128 bit
Antal runder otte
Type Feistel netværk

DFC ( Decorrelated Fast Cipher ) er en bloksymmetrisk kryptoalgoritme skabt i 1998 i fællesskab af kryptografer fra Paris High Normal School , National Center for Scientific Research ( CNRS ) og telekommunikationsgiganten France Telecom under vejledning af den berømte kryptolog Serge Vaudene , især for deltagelse i AES- konkurrencen . Tilhører PEANUT (Pretty Encryption Algorithm with n-Universal Transformation) familie af chiffer. [en]

Generel struktur

DFC er en 128-bit blokchiffer, der repræsenterer det 8-rundede Feistel-netværk . En 64-bit krypteringsfunktion bruges med otte forskellige 128-bit runde nøgler afledt af en original krypteringsnøgle . Hver runde bruger krypteringsfunktionen venstre halvdel af almindelig tekst (blok) og to 64-bit nøgler, som er halvdelen af ​​den tilsvarende runde, til at producere en 64-bit chiffertekst. Den resulterende krypterede venstre halvdel af blokken føjes til den højre halvdel. Derefter, ifølge ideen om Feistel-netværket, byttes venstre og højre del af blokken [2] . Dekryptering er det samme som kryptering ved at bruge de runde nøgler i omvendt rækkefølge. Længden af ​​den originale krypteringsnøgle er ikke begrænset til de tre faste størrelser, der leveres af AES-konkurrencen (128, 192 og 256 bit), og kan være af variabel størrelse fra 0 til 256 bit [3] .

Krypteringsfunktion [2] [4]

Input :  - 64-bit venstre halvdel af kildeteksten (blok);  er den tilsvarende runde nøgle.

Output :  - 64-bit krypteret venstre halvdel af den originale tekst.

Trin 1: Beregning

Den runde nøgle er opdelt i to halvdele: og . Derefter foretages følgende beregning:

Trin 2: "Forvirrende permutation"

Confusion Permutation bruger en S-boks , der transformerer inputtet 6 bits til 32 bits ved hjælp af RT-erstatningstabellen (Vi betragter det yderligere som en funktion af denne transformation).

Lad og  være venstre og højre del af de modtagne 32 bit hver (lad os betegne dette som ), og  får konstanter med længden henholdsvis 32 og 64 bit, og  er en funktion, der efterlader de mest venstre bit af argumentet, så resultatet af krypteringsfunktionen:

Opslagstabel (S-boks)

S-boks  er hovedkomponenten i symmetriske kryptoalgoritmer, der erstatter n inputbits med m outputbits ifølge en opslagstabel. Det bruges til at eliminere så meget som muligt afhængighederne mellem krypteringsnøglen og chifferteksten , hvilket gør det muligt at opfylde Shannon egenskaben om kompleksiteten af ​​kryptoalgoritmen. Normalt bruges S-bokse med en fast opslagstabel ( DES , Rijndael ), men i nogle kryptoalgoritmer genereres opslagstabellen ved hjælp af inputkrypteringsnøglen ( Blowfish , Twofish ). DFC bruger en fast opslagstabel RT, dens betydning vil blive beskrevet nedenfor. Et nødvendigt kriterium for en opslagstabel er injektivitet .

Rundtaster [4]

For at øge chifferens styrke bruger krypteringsfunktionen hver runde en anden rundnøgle . For at få dem bruges hovedkrypteringsnøglen . Algoritmen til opnåelse er som følger.

Trin 1

Først supplerer vi hovedkrypteringsnøglen (som er i længden fra 0 til 256 bit) med en given konstant på 256 bit, hvilket afskærer ekstra tegn.

.

Den resulterende skåret i 8 32-bit dele .

Trin 2

Lad os definere et par hjælpevariable ved hjælp af de opnåede :

og også for i=2,3,4

hvor  er givet 64-bit konstanter.

Trin 3

Således fik vi to nøgler på hver 512 bit fra den originale nøgle på 256 bit.

Lad være  krypteringsfunktionerne beskrevet i afsnit 2, med kun 4 runder i stedet for 8, ved hjælp af rundnøglerne og henholdsvis for den -th runde . Så, forudsat at vi får de ønskede runde nøgler:

Hvis  det er mærkeligt, så:

Hvis  er lige, så:

Runde nøgler fundet.

Faste parametre [4]

For at udføre DFC-krypteringsoperationen som vist ovenfor kræves følgende faste parametre:

Navn Længde (bit) Formål
64 Krypteringsfunktion, trin 2
32 Krypteringsfunktion, trin 2
64 Få runde nøgler, trin 2
64 Få runde nøgler, trin 2
256 Få runde nøgler, trin 1
Opslagstabel 64x32 Krypteringsfunktion, trin 2

For at indstille faste parametre bruges den hexadecimale notation af tallet e normalt :

e = 2.b7e151628aed2a6abf7158...

Yderligere vil vi kun overveje brøkdelen af ​​den hexadecimale repræsentation af tallet e.

Således får vi følgende (data præsenteres i hexadecimalt system ):

RT opslagstabel
Input bitsekvens(6): 00 01 02 03 04 05 06 07 08 09 0A 0B
Output bitsekvens (32): b7e15162 8aed2a6a bf715880 9cf4f3c7 62e7160f 38b4da56 a784d904 5190cf 324e7738 926cfbe5 f4bf8d8d 8c31d763
0C 0D 0E 0F ti elleve 12 13 fjorten femten 16 17 atten 19 1A 1B
da06c80a bb1185eb 4f7c7b57 57f59594 90cfd47d 7c19bb42 158d9554 f7b46bce d55c4d79 fd5f24d6 613c31c3 839a2ddf 8a9a276b cfbfa1c8 77c56284 dab79cd4
1C 1D 1E 1F tyve 21 22 23 24 25 26 27 28 29 2A 2B
c2d3293d 20e9e5ea f02ac60a cc93ed87 4422a52e cb238 gebyr e5ab6add 835fd1a0 753d0a8f 78e537d2 b95bb79d 8dcaec64 2c1e9f23 b829b5c2 780bf387 37df8bb3
2C 2D 2E 2F tredive 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

Konstanter:

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

Sikkerhed

Kryptografisk styrke  er en krypteringsalgoritmes evne til at modstå mulige angreb på den. DFC-strukturen er baseret på dekorrelationsmetoden [1] udviklet af Serge Vadenay, med beviselig modstand mod kendte kryptografiske angreb. Der er dog allerede analytiske resultater, der viser det modsatte.

Svage taster og konstanter [4]

For nemheds skyld tager vi det  - venstre halvdel af den i -te runde nøgle K,  - højre halvdel. Hvis lig med 0, så vil outputtet af krypteringsfunktionen være en vis konstant uafhængig af . Derfor, ved at tage , , lig med 0, bliver chifferen sårbar over for et kendetegnende angreb (mere om et sådant angreb med et eksempel [5] ). Chancen for at sådanne nøgler dukker op er 2-192 .

Det skal bemærkes endnu et træk ved chifferen forbundet med et dårligt valg af konstanter og . (se "Runde nøgler") Hvis , , , så får vi , , . Så

Således opnår vi nul runde nøgler for alle runder, hvilket betyder

, hvor  er en eller anden konstant.

Den resulterende lukkede tekst kan bruges til at gendanne den originale tekst.

Tidsangreb

Timing angreb  er en type sidekanalangreb. Implementeringer af stærke cifre (DFC er ingen undtagelse) bør være sådan, at beregningstiden for modulo-operationer (mod) ikke afhænger af inputdataene. Ellers er det muligt at bruge Kochers tidsangreb [6] .

Photofinishing Attack

Eli Biham foreslog en effektiv chifferimplementeringsteknologi baseret på en 1- bit SIMD- mikroprocessor . Denne form for implementering er immun over for Shamirs "Photofinishing-angreb" [7] .

Noter

  1. 1 2 Serge Vaudenay Påviselig sikkerhed for blokcifre ved deccorelation (1998) Arkiveret 6. januar 2015 på Wayback Machine
  2. 1 2 Lars Knudsen , Vincent Rayman (marts 1999) "On the Decorrelated Fast Cipher (DFC) and Its Theory" Arkiveret 19. august 2005 på Wayback Machine
  3. Panasenko S.P. Krypteringsalgoritmer. Særlig opslagsbog - St. Petersborg. : BHV-SPb , 2009. - 576 s. — 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 og Serge Vaudenay Dekorreleret hurtig chiffer: en AES-kandidat. Fuld version Arkiveret 15. januar 2007 på Wayback Machine
  5. Simon Künzli, Willi Meier (2009) Distinguishing Attack on MAG Arkiveret 27. maj 2011 på Wayback Machine
  6. Paul Kocher Timing af angreb på implementeringer af Diffie-Hellman, PSA, DSS og andre systemer Arkiveret 22. oktober 2010 på Wayback Machine
  7. A. Shamir. Visuel kryptoanalyse i kryptologi EUROCRYPT'98 (1998)

Links