FEAL | |
---|---|
Skaber | Akihiro Shimizu og Shoji Miyaguchi (NTT) |
offentliggjort | FEAL-4 i 1987 ; FEAL-N/NX i 1990 |
Nøglestørrelse | 64 bit (FEAL), 128 bit (FEAL-NX) |
Blokstørrelse | 64 bit |
Antal runder | først 4, derefter 8 og derefter et variabelt tal (anbefalet - 32) |
Type | Feistel netværk |
FEAL (Fast data Encipherment ALgorithm) er en blokchiffer udviklet af Akihiro Shimizu og Shoji Miyaguchi, ansatte i NTT .
Den bruger en 64-bit blok og en 64-bit nøgle. Hans idé er også at skabe en algoritme , der ligner DES , men med en stærkere scenefunktion. Ved at bruge færre trin kunne denne algoritme køre hurtigere. Derudover, i modsætning til DES, bruger scenefunktionen for FEAL ikke S-bokse , så implementeringen af algoritmen kræver ikke yderligere hukommelse til at gemme erstatningstabeller [1] .
Udgivet i 1987 af Akihiro Shimizu og Shoji Miyaguchi, blev FEAL-blokchifferet designet til at øge krypteringshastigheden uden at forringe chifferens styrke sammenlignet med DES . Til at begynde med brugte algoritmen blokke på 64 bit, en nøgle på 64 bit og 4 omgange kryptering. Allerede i 1988 blev Bert Den-Boers værk udgivet , hvilket beviste tilstrækkeligheden af at eje 10.000 chiffertekster til at udføre et vellykket angreb baseret på en valgt klartekst [2] . Lineær kryptoanalyse var en af de første, der blev anvendt på FEAL-chifferet . Især i 1992 beviste Mitsuru Matsui og Atsuhiro Yamagishi , at det er nok at kende 5 chiffertekster for at udføre et vellykket angreb [3] .
For at bekæmpe de opdagede sårbarheder fordoblede skaberne antallet af krypteringsrunder ved at udgive FEAL-8-standarden. Imidlertid opdagede Henri Gilbert allerede i 1990, at denne chiffer også var sårbar over for et matchet-klartekst-angreb [4] . Yderligere i 1992 beskrev Mitsuru Matsui og Atsuhiro Yamagishi et klartekstangreb, der kræver kendte chiffertekster [3] .
På grund af det store antal vellykkede angreb besluttede udviklerne at komplicere chifferen yderligere. I 1990 blev nemlig FEAL-N introduceret, hvor N er et vilkårligt lige antal krypteringsrunder, og FEAL-NX blev introduceret, hvor X (fra engelsk udvidet) betegner brugen af en krypteringsnøgle udvidet til 128 bit. Denne innovation hjalp dog kun delvist. I 1991 viste Eli Biham og Adi Shamir , ved hjælp af metoder til differentiel kryptoanalyse , muligheden for at bryde en chiffer med antallet af runder hurtigere end brute force [5] .
Men på grund af intensiteten af forskning i krypteringsalgoritmen fra fællesskabet, er grænserne for chifferens sårbarhed over for lineær og differentiel kryptoanalyse blevet bevist. Stabiliteten af en algoritme med mere end 26 runder til lineær kryptoanalyse blev vist i deres arbejde af Shiho Morai, Kazumaro Aoki og Kazuo Ota [6] , og i arbejdet af Kazumaro Aoki, Kunio Kobayashi og Shiho Morai, umuligheden af at anvende differentiel kryptoanalyse til en algoritme ved hjælp af mere end 32 runder blev bevist kryptering [7] .
FEAL-NX-algoritmen bruger en 64-bit almindelig tekstblok som input til krypteringsprocessen [1] [8] . Krypteringsprocessen er opdelt i 3 trin.
Derudover beskrives processen med at generere rundnøgler, hvorfra kryptering begynder, samt de funktioner , ved hjælp af hvilke transformationer udføres.
Lad os definere (A,B) — driften af sammenkædning af to sekvenser af bit.
Definer - en nulblok med en længde på 32 bit.
= drej 2 bit til venstre
= drej 2 bit til venstre
F-funktionen tager 32 databit og 16 nøglebit og blander dem sammen.
Funktionen fungerer med to 32 bit ord.
Som et resultat af genereringen af rundnøgler opnås et sæt af N + 8 rundnøgler , hver 16 bit lange, fra den 128 bit lange nøgle, der modtages ved indgangen . Dette resultat opnås som et resultat af følgende algoritme.
På den indledende fase forberedes datablokken til en iterativ krypteringsprocedure.
På dette trin udføres N runder af bitblanding med datablokken i overensstemmelse med følgende algoritme.
Opgaven for denne fase er at udarbejde en næsten klar chiffertekst til udsendelse.
Den samme algoritme kan bruges til dekryptering. Den eneste forskel er, at under dekryptering er rækkefølgen, hvori nøglens dele bruges, omvendt.
Selvom FEAL-algoritmen oprindeligt blev tænkt som en hurtigere erstatning for DES, herunder til brugen af kryptering i smart cards, satte antallet af sårbarheder, der hurtigt blev fundet i den, en stopper for mulighederne for at bruge denne algoritme. For eksempel, i arbejdet af Eli Biham og Adi Shamir , udgivet i 1991, blev tilstrækkeligheden af 8 udvalgte klartekster til at bryde FEAL-4-cifferet, 2000 til at bryde FEAL-8-cifferet og for FEAL-16 [5] bevist. . Alle disse tal er væsentligt mindre end antallet af valgte klartekster, der er nødvendige for at angribe DES, og det faktum, at FEAL-32 er ret pålideligt, er ret ubrugeligt, da DES opnår sammenlignelig pålidelighed med betydeligt færre runder, og dermed fratager FEAL den fordel, der var oprindeligt tænkt af skaberne. .
I øjeblikket, på den officielle hjemmeside for forfatterne af chifferen - NTT -virksomheden , i beskrivelsen af FEAL-cifferet, er der lagt en advarsel om, at NTT anbefaler ikke at bruge FEAL-cifferet, men at bruge Camelia -cifferet , også udviklet af denne virksomhed af hensyn til pålideligheden og krypteringshastigheden [9] .
På grund af det faktum, at FEAL-chifferet blev udviklet ret tidligt, har det tjent som et fremragende træningsobjekt for kryptologer over hele verden [10] .
Derudover blev lineær kryptoanalyse opdaget ved hjælp af hans eksempel. Mitsuru Matsui , opfinderen af lineær kryptoanalyse, betragtede i sit første arbejde om dette emne blot FEAL og DES.
Symmetriske kryptosystemer | |
---|---|
Stream-cifre | |
Feistel netværk | |
SP netværk | |
Andet |