E2 | |
---|---|
Skaber | NTT |
offentliggjort | 1998 |
Nøglestørrelse | 128 (192, 256) bit |
Blokstørrelse | 128 bit |
Antal runder | 12 |
Type | Feistel celle |
E2 ( engelsk Efficient Encryption - effektiv kryptering) - i kryptografi , en familie af symmetriske blokkryptografiske algoritmer baseret på Feistel-cellen . E2 bruger en blok på 128 bit og nøgler på 128, 192, 256 bit. Skabt af NTT (Nippon Telegraph and Telephone) i 1998 og blev præsenteret ved AES-konkurrencen . Efterfølgeren til denne chiffer er Camellia -cifferen , som også er resultatet af NTTs (Nippon Telegraph and Telephone) arbejde.
E2-chifferet, skabt af NTT, blev indsendt til AES-konkurrencen sammen med fjorten andre cifre. E2 bestod den kryptografiske styrketest med succes. Styrken af E2-chifferet påvirkede ikke dens ydeevne. E2 har indtaget en af de førende positioner både i konkurrencen om hastigheden af kryptering / dekryptering, og i hastigheden af at generere nøgler. Især implementeringen af E2-krypteringen ( Borland compiler ) viste en krypterings-/dekrypteringshastighed på 26 Mbps. Hastigheder over 25 Mbps blev dog også vist af fem andre ledere. Mens chifferscorer varierede efter compiler, platform og logik, forblev den overordnede tendens den samme. De fleste af forfatterne, der har skrevet om AES-konkurrencen, hævder, at E2, sammen med nogle andre cifre, bestod den første runde med succes. E2 nåede dog ikke til finalen af de fem bedste cifre. NIST bemærkede, at på trods af god hastighedsydelse og fravær af sårbarheder , er kravene til ikke-flygtig hukommelse for høje ( CAST-256 led på samme måde ). [en]
Arbejdet med krypteringsalgoritmen kan opdeles i tre hoveddele : IT-funktionen eller initial transformation (IT) , Feistel -cellen baseret på F-funktionen, gentaget 12 gange, og FT-funktionen eller den endelige datakonverter ( Engelsk finale transformation (FT) ). Blokken af den algoritme, der er ansvarlig for nøgleplanlægning ( eng. key sheduling part ), før kryptering, fra den hemmelige nøgle K skaber seksten undernøgler {k1,..k16}, som hver er en 128-bit bit vektor (et element af Galois-feltet (2 ^ 128 )). Den første transformation af klartekst M udføres ved hjælp af IT-funktionen og to genererede nøgler nummereret 13 og 14( og )
M'=IT(M, , )M` er opdelt i to blokke af lige længde, hver af elementerne er en 64 -bit bit vektor . Derefter udføres 12 cyklusser af transformationer i Feistel-cellen, hvor højre blok ved den aktuelle iteration af cyklussen bestemmes af modulo to-addition af venstre del af den foregående iteration af cyklussen og resultatet af funktionen F, hvis argumenter er den højre del af den forrige iteration og tasten , og venstre blok ved r-trinnet i cyklussen tildeles værdien af højre blok ved r-1-trin. Cyklussen gentages 12 gange, dvs. r skifter fra 1 til 12
= = .Den sidste fase af kryptering er udførelsen af FT-funktionen. Resultatet af FT-funktionen, hvis argumenter er sammenkædningen af højre og venstre del ved udgangen af den 12. iteration af Feistel-cellen og tasterne :
`Dekryptering sker i henhold til en ordning, der ligner kryptering. Arbejdet med dekrypteringsalgoritmen kan opdeles i tre hoveddele: IT-funktion (initial transformation - engelsk initial information (IT) ), 12 cyklusser af Feistel -cellen med F-funktion og i slutningen FT-funktion ( engelsk finale transformation (FT) ). Blokken af den algoritme, der er ansvarlig for nøgleplanlægning ( engelsk key sheduling ) fra den hemmelige nøgle umiddelbart før kryptering genererer 16 undernøgler { }, som er bitvektorer med dimension 128 (et element i Galois-feltet GF(2^128)). I det første trin udføres IT-funktionen, hvis argumenter er kryptogrammet C og to undernøgler
`Resultatet af IT-funktionen C` er opdelt i 2 lige store dele af 64 bit (halv blok): højre og venstre ( ). Dernæst udføres 12 cyklusser af Feistel-cellen baseret på F-funktionen ( skifter fra 12 til 1).
Ved slutningen af den sidste cyklus af Feistel-cellen er blokkens halvdele sammenkædet ( ). Og i slutningen - den endelige transformation: FT-funktionen udføres , hvis argumenter er resultatet af sammenkædningen af ` og to nøgler . Resultatet af at udføre FT-funktionen er klartekst .
Baseret på den hemmelige nøgle ( { } har en dimension på en halv blok, det vil sige 64 bit og er et argument for krypterings- og dekrypteringsfunktionerne), undernøgler {i=1;2…16} ( bitvektorer med dimension 128) genereres ved hjælp af G-funktionen og S-funktionerne. Nøglegenereringsproceduren forbliver næsten uændret, hvis den private nøglelængde er 128, 192 eller 256 bit. Hvis den angivne længde er 128 bit, vælges konstanter som værdier som følger: , . Hvis nøglelængden er 192 bit, er nøgleværdien , hvor S() er S-funktionen.
BRS(),S(),P() — henholdsvis BRS-funktion, S-funktion, P-funktion; X,Y - ord i det binære alfabet med en dimension på 64 bit (halvdelen af blokken); — nøgler på 128 bit hver. H er et 64-bit dimensionsrum .
Essensen af F-funktionen er konverteringen af binære alfabetord på 64 bit med en given nøgle på 128 bit. Resultatet af transformationen er et 64-bit binært alfabetord.
IT-funktion eller initial datakonverter:
H er rummet af 64-bit binære alfabetord; X,A,B — 128-bit binære ord; BP() - BP funktion; er en binær operation .
FT-funktion eller endelig datakonverter:
.H er rummet af 64-bit binære alfabetord; X,A,B — 128-bit binære ord; () er en funktion invers af BP-funktionen; er den binære operation de.
FT-funktionen er det omvendte af IT-funktionen:
.BRL-funktion ( eng. byte rotate left function ), eller cyklisk skift til venstre, er en integreret del af F-funktionen:
{ } er et binært ord med en dimension på 8 bits ( bytes ) eller med andre ord et element i Galois-feltet .
S-funktionen er den del af F-funktionen, der er defineret af s-boks :
.S-boksen, der bruges i S-funktionen, er defineret som følger:
, hvorDet er ikke forbudt at bruge tabeller med allerede beregnede værdier på s(x) i beregninger. Det er
225 | 66 | 62 | 129 | 78 | 23 | 158 | 253 | 180 | 63 | 44 | 218 | 49 | tredive | 224 | 65 |
204 | 243 | 130 | 125 | 124 | atten | 142 | 187 | 228 | 88 | 21 | 213 | 111 | 233 | 76 | 75 |
53 | 123 | 90 | 154 | 144 | 69 | 188 | 248 | 121 | 214 | 27 | 136 | 2 | 171 | 207 | 100 |
9 | 12 | 240 | en | 164 | 176 | 246 | 147 | 67 | 99 | 134 | 220 | 17 | 165 | 131 | 139 |
201 | 208 | 25 | 149 | 106 | 161 | 92 | 36 | 110 | 80 | 33 | 128 | 47 | 231 | 83 | femten |
145 | 34 | fire | 237 | 166 | 72 | 73 | 103 | 236 | 247 | 192 | 57 | 206 | 242 | 45 | 190 |
93 | 28 | 227 | 135 | 7 | 13 | 122 | 244 | 251 | halvtreds | 245 | 140 | 219 | 143 | 37 | 150 |
168 | 234 | 205 | 51 | 101 | 84 | 6 | 141 | 137 | ti | 94 | 217 | 22 | fjorten | 113 | 108 |
elleve | 255 | 96 | 210 | 46 | 211 | 200 | 85 | 194 | 35 | 183 | 116 | 226 | 155 | 223 | 119 |
43 | 185 | 60 | 98 | 19 | 229 | 148 | 52 | 177 | 39 | 132 | 159 | 215 | 81 | 0 | 97 |
173 | 133 | 115 | 3 | otte | 64 | 239 | 104 | 254 | 151 | 31 | 222 | 175 | 102 | 232 | 184 |
174 | 189 | 179 | 235 | 198 | 107 | 71 | 169 | 216 | 167 | 114 | 238 | 29 | 126 | 170 | 182 |
117 | 203 | 212 | 48 | 105 | 32 | 127 | 55 | 91 | 157 | 120 | 163 | 241 | 118 | 250 | 5 |
61 | 58 | 68 | 87 | 59 | 202 | 199 | 138 | 24 | 70 | 156 | 191 | 186 | 56 | 86 | 26 |
146 | 77 | 38 | 41 | 162 | 152 | 16 | 153 | 112 | 160 | 197 | 40 | 193 | 109 | tyve | 172 |
249 | 95 | 79 | 196 | 195 | 209 | 252 | 221 | 178 | 89 | 230 | 181 | 54 | 82 | 74 | 42 |
P-funktion - en integreret del af F-funktionen
P - transformationsmatrix, der beskriver P-funktionen
G - funktionen udfører følgende visning:
, hvor - f-funktion.F-funktionen er nødvendig for at beregne G-funktionen. f-funktion er defineret som følger:
P() er en P-funktion, S() er en S-funktion.
Den binære operator er defineret som følger:
, hvor - logisk bitvis addition (logisk "eller") med 1 i ringen .Den binære operator de er defineret som følger:
, hvor - logisk bitvis addition (logisk "eller") med 1 i ringen .BP - funktionen eller byte-permutationsfunktionen er en del af IT-funktionen og FT-funktionen. Det er defineret som følger:
,hvor .Den inverse af BP-transformationen, eller BP^{-1}, beregnes som følger:
,hvor
Ansatte i informationsteknologi R&D Center Mitsubishi Electric Corporation Mitsuru Matsui og Toshio Tokita opdagede, at chifferen ikke var modstandsdygtig over for differentiel kryptoanalyse . [3] På trods af dette forbliver chifferen (ved hjælp af 12 krypteringscyklusser) stærk fra et praktisk synspunkt. Selvom Mitsuru Matsui og Toshio Tokita var i stand til at vise, at sikkerhedsniveauet for E2-chifferet med færre krypteringscyklusser er væsentligt lavere end det, udviklerne har angivet.
Høje krav til ikke-flygtig hukommelse.
Symmetriske kryptosystemer | |
---|---|
Stream-cifre | |
Feistel netværk | |
SP netværk | |
Andet |