Akelarre
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 28. marts 2021; checks kræver
64 redigeringer .
Akelarre |
Skaber |
Team af forfattere G. Álvarez Marañón, A. Fúster Sabater, D. Guía Martínez, F. Montoya Vitini, A. Peinado Domínguez |
offentliggjort |
1996 _ |
Nøglestørrelse |
Multipel på 64 bit (anbefalet - 128 bit) |
Blokstørrelse |
128 bit |
Antal runder |
Alle (anbefalet - 4) |
Type |
SP netværk |
Akelarre er en blokcifre udviklet af et hold spanske forfattere og præsenteret på SAC i 1996; kombinerer kerneudviklingen af IDEA med koncepter fra RC5 . Navnet akelarre bruges også på baskisk til at henvise til en forsamling af hekse [1] .
Beskrivelse
Akelarre er en 128-bit blokchiffer. I dette tilfælde er nøglelængden variabel og skal være et multiplum af 64 bit; antallet af krypteringsgennemgange er også en variabel parameter. De optimale værdier foreslået af forfatterne er en 128-bit nøgle og 4 runder [2] . Krypteringsfunktionen i Akelarre ligner strukturelt den, der leveres i IDEA. Der er dog en række væsentlige forskelle mellem disse cifre generelt: IDEA bruger for eksempel en 16-bit ordstørrelse, ikke 32-bit, og det anvendte sæt af primitive operationer er også anderledes. Akelarre gælder [3] :
Det er brugen af et cyklisk skift med et variabelt antal bit, der bestemmer ligheden mellem denne algoritme og RC5 [4] . Alle de anførte operationer tilhører forskellige algebraiske grupper og er uforenelige i den forstand, at de associative og distributive love ikke gælder for noget par af dem. Dette giver dig mulighed for at skjule alle eksisterende relationer mellem klartekst og chiffertekst og nøglen, hvilket gør krypteringsanalyse vanskelig [5] .
Operationsalgoritme
Strukturelt kan algoritmen opdeles i to underdele:
- Krypterings-/dekrypteringsalgoritme.
- Algoritme til at udvide nøglen indtastet af brugeren.
Kryptering
Først opdeles klarteksten X i 128-bit blokke, som hver igen er opdelt i 4 underblokke X 1 ... X 4 , hvortil den primære transformation allerede er anvendt. Hele krypteringsproceduren foregår i tre trin.
- Indgangstransformationen består i modulo-addition af de udvidede nøglefragmenter Ki1 , Ki4 henholdsvis med underblokke X1 , X4 og anvendelse af bitvis eksklusiv OR (XOR) til de udvidede nøglefragmenter Ki2 , Ki3 og underblokke X2 , X3 henholdsvis. Disse transformationer er nødvendige for at forhindre konsekvenserne af en mulig indtastning af input af en sekvens af alle nuller eller alle enere, samt for at gøre det vanskeligt at angribe chifferen ved hjælp af differentiel kryptoanalyse (se svag nøgle ).
- Krypteringsrunder:
- I begyndelsen af hver runde roteres en 128-bit blok, hvilket er et resultat af foreningen af underblokke dannet som et resultat af inputtransformationen eller den foregående runde; i den th runde ( ) bestemmes det variable antal bits, der specificerer skiftet, af de mindst signifikante bits af nøglefragmentet Km1 dannet som et resultat af nøgleudvidelsesproceduren.
- På næste trin opdeles 128-bit blokken igen i 4 underblokke på 32 bit, og bitvise OR'er beregnes for et par af de to første og derefter for et par af de sidste to blokke. Yderligere transformationer af de resulterende blokke C1 , C2 bestemmes af driften af AR-modulet ( additionsrotationsstruktur). Strukturen af modulet består af to kolonner: C 1 føres til indgangen af den første, C 2 - den anden. For C1 :
_
- De første 31 bit af C1 roteres til venstre (forskydningsmængden bestemmes af de mindst signifikante 5 bit af C2 ).
- Resultatet opnået i det foregående trin tilføjes modulo nummeret med et af fragmenterne af den udvidede nøgle Km8 .
- De sidste 31 bit af outputblokken fra det foregående trin roteres til venstre som i trin 1.
- 32-bit blok opnået i det foregående trin tilføjes modulo nummeret med undernøglen K m9 på samme måde som trin 2.
- De høje 31 bit af outputblokken fra det foregående trin roteres til venstre som i trin 1.
- 32-bit blok opnået i det foregående trin tilføjes modulo nummeret med undernøglen K m10 som i trin 2.
- Trin 3 til 6 gentages, indtil der er udført i alt 7 skift og 6 undertaster.
C 02 behandles på samme måde , kun med tasterne K m2 ... K m7 .
Fra blokkene D 1 , D 2 opnået som et resultat af driften af modulet , ved at tilføje med blokkene dannet ved at opdele 128-bit blokken i begyndelsen af runden, dannes 4 outputværdier af runden ( hver af X1 , X3 sættes til D1 , og hver af X2 , X4 - med D2 ) . Anvendelsen af en bitvis forskydning ikke til hele blokken, men kun til 31 bit, sker for at undgå den mulige identitet af output- og inputresultaterne, som kan observeres ved brug af sammensatte tal
[6] .
- Under den endelige transformation forskydes 128-bit blok underblok dannet af sammenkædningen af 128 bit blok opnået efter den sidste runde cyklisk til venstre med antallet af bit bestemt af de sidste 7 bit af undernøglen Kf1 , efter hvor den resulterende blok er opdelt i 32-bit underblokke, hvorpå der anvendes operationer svarende til inputblokkens transformationer, men med nøglerne K f2 …K f5 [7] .
Dekryptering
Dekrypteringsalgoritmen er i det væsentlige organiseret på samme måde som den, der bruges til kryptering, kun undernøglerne er allerede genereret baseret på krypteringsnøglerne. Korrespondancen mellem nøglerne til kryptering og til dekryptering er som følger (her forstås den indledende transformation som den nulte runde, og den endelige transformation er (r + 1) runde) [8] :
Rund
|
Nøgler brugt til kryptering
|
Nøgler brugt til dekryptering
|
Indledende transformation
|
|
|
1. runde
|
|
|
2. runde
|
|
|
m-te runde
|
|
|
r-te runde
|
|
|
Endelig transformation
|
|
|
Nøgleudvidelse
For at algoritmen skal fungere, kræves en nøgle bestående af mindst 22 underblokke af 32 bit (704 bit) [9] . Følgende beskrivelse svarer til at anvende algoritmen på en 128-bit nøgle:
- Brugernøglen er opdelt i 8 dele af 16 bit k 1 ... k 8 .
- Hvert individuelt fragment kvadreres for at opnå en 32-bit værdi, og modulo summation af antallet af resulterende værdier udføres separat med hver af konstanterne a 1 , a 2 ; som et resultat, baseret på hver af de indledende nøgler k i1 , dannes to midlertidige værdier Kti og K'ti . Konstanterne bør vælges for at undgå mulig dannelse af en nøgle, der kun består af nuller. Forfatterne foreslog en 1 =A49ED284H og en 2 =73503DEH [10] .
- Fra de midlertidige værdier opnået i det foregående trin dannes fragmenter af den foreløbige udvidede nøgle K e1 ...K e8 . Hvert af disse fragmenter er resultatet af sammenkædningen af 8 lave og 8 høje bits K'ti , samt 8 lave og 8 høje bits Kti ; De 16 bits, der er placeret i midten af hver af de midlertidige værdier, behandles på en måde svarende til behandlingen af k 1 ... k 8 for at opnå nye værdier af de udvidede nøglefragmenter [11] .
- Nøglerne brugt i den indledende transformation ( K i1 …K i4 ), driften af AR-modulet ( K m1 …K m13 for hver af m runder) og den endelige transformation ( K f1 … K f5 ) udfyldes efter tur med værdierne K e1 dannet under driften af algoritmen …K e8 [12] .
Bæredygtighed
Allerede et år efter, at chifferen blev præsenteret, udførte Niels Fergusons og Bruce Schneiers arbejde et angreb, der tillader brud baseret på en prøve på højst 100 klartekster. Angrebet sker i 4 trin: i de første to gendannes de indledende og endelige konverteringer af undernøglebittene, og de næste to bruger sårbarhederne i nøgleudvidelsesskemaet, og med en stigning i antallet af runder i algoritmen, mængden af information, der kan indhentes om ordningens drift, stiger også kraftigt. Kompleksiteten af organisationen af AR-modulet på grund af dets egenskaber (paritetsegenskaber) komplicerer slet ikke hacking [13] . I samme arbejde er der givet endnu et angreb, hvor brugen af differentialkarakteristikken for algoritmen desuden gør det muligt at reducere antallet af nødvendige operationer i sidste ende til .
Et andet arbejde, hvor Akelarre-krypteringsanalysen blev udført med succes, er af Lars Knudsen og Vincent Ridgman. De beskriver to mulige angreb: det ene er baseret på brugen af klartekst , det andet giver dig mulighed for at afsløre nøglen ved kun at bruge chifferteksten og nogle oplysninger om klarteksten - især er det nok at vide, at dette er en engelsk ASCII -tekst . Ligesom de angreb, der er foreslået i Fergusons og Schneiers arbejde, afhænger angrebene, der foreslås i dette arbejde, ikke af antallet af runder af algoritmen eller størrelsen af nøglen, og angrebet med kun chiffertekst er blandt de mest praktisk anvendelige, da allerede én lytter, er kanalen tilstrækkelig til dens implementering [14] .
Betydning
Udtænkt som en algoritme, der med succes kombinerer elementer fra to pålidelige og velkendte algoritmer IDEA og RC5 og har en kompleks arkitektur, viste Akelarre ikke høj kryptografisk styrke, hvilket tydeligt viste, at det ikke altid resulterer i at kombinere komponenterne i to velbeskyttede algoritmer. i en pålidelig ny [15] . Som anført i titlen på en af de artikler, der undersøgte algoritmen [16] :
To plusser giver nogle gange et minus.
Originaltekst (engelsk)
[ Visskjule]
To rettigheder gør nogle gange en uret.
Ændringer
Efter Akelarres succesrige kryptoanalyse introducerede dets designere en opdateret variant kaldet Ake98 . Denne chiffer adskiller sig fra den originale Akelarres nye AR-boks (Addition-Rotation box) ved permutation af ord udført i slutningen af krypteringspasset, samt tilføjelse af undernøgler i begyndelsen af hvert krypteringspass. Samtidig forblev parametre som nøglestørrelse og blokstørrelse, som før, justerbare, men deres minimumsstørrelse blev ikke defineret af skaberne [17] . AR-modulet fungerer i den nye version som en pseudo-tilfældig talgenerator .
I 2004 fandt Jorge Nakaara Jr. og Daniel Santana de Freita store klasser af svage nøgler til Ake98. Disse svage nøgler tillader analyse hurtigere end brute-force , idet de kun bruger 71 kendte tekststykker til 11,5 krypteringsgennemgange i Ake98. Derudover blev der i samme arbejde udført en evaluering af algoritmens ydeevne, som viste, at selvom algoritmen for antallet af runder på 25,5 eller mere ikke har svage nøgler, viser den sig at være 4 gange langsommere end IDEA , 8 gange langsommere end AES , og 14 gange - RC6 [18] .
Noter
- ↑ Stamp M. et al, 2007 , s. 160.
- ↑ Panasenko S., 2009 , s. 101.
- ↑ Álvarez MG et al., 1996 , s. 2-3.
- ↑ Panasenko S., 2009 , s. 99.
- ↑ Álvarez MG et al., 1996 , s. 2.
- ↑ Álvarez MG et al., 1996 , s. 5-6.
- ↑ Panasenko S., 2009 , s. 98-100.
- ↑ Álvarez MG et al., 1996 , s. 6.
- ↑ Álvarez MG et al., 1996 , s. 7.
- ↑ Álvarez MG et al., 1996 , s. 7-8.
- ↑ Panasenko S., 2009 , s. 101-102.
- ↑ Ferguson N. et al., 1997 , s. 207-208.
- ↑ Ferguson N. et al., 1997 , s. 210-211.
- ↑ Panasenko S., 2009 , s. 102-103.
- ↑ Knudsen L. et al, 1997 , s. 223.
- ↑ Panasenko S., 2009 , s. 103.
- ↑ Júnior J. et al., 2005 , s. 208.
- ↑ Júnior J. et al., 2005 , s. 213-214.
Litteratur
- Álvarez MG, Fúster SA, Guía MD, Montoya VF, Peinado DA Akelarre: a New Block Cipher Algorithm // SAC'96, Third Annual Workshop on Selected Areas in Cryptography - Queen's University, Kingston, Ontario, 1996, Proceedings. - 1996. - S. 1-14 .
- Panasenko S.P. Kapitel 3 // Krypteringsalgoritmer. Særlig opslagsbog - St. Petersborg. : BHV-SPb , 2009. - S. 97-103. — 576 s. — ISBN 978-5-9775-0319-8
- Ferguson N., Schneier B. Cryptanalysis of Akelarre // SAC'97: Fourth Annual Workshop on Selected Areas in Cryptography, Carleton University, Ottawa, 1997, Proceedings. - 1997. - S. 201-212 .
- Knudsen LR, Rijmen V. Two Rights Sometimes Make a Wrong // SAC'97: Fourth Annual Workshop on Selected Areas in Cryptography, Carleton University, Ottawa, 1997, Proceedings. - 1997. - S. 213-223 .
- Júnior J. N. , Freitas D. S. Cryptanalysis of Ake98 (engelsk) // Progress in Cryptology - INDOCRYPT 2004 : 5th International Conference on Cryptology in India, Chennai, Indien, December 20-22, 2004. Proceedings / A. Cantewanathan , K. , Heidelberg , New York, NY , London [etc.] : Springer Berlin Heidelberg , 2005. - S. 206-217. — 431 s. - ( Lecture Notes in Computer Science ; Vol. 3348) - ISBN 978-3-540-24130-0 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/978-3-540-30556-9_17
- Stamp M., Low MR Anvendt krypteringsanalyse: bryde cifre i den virkelige verden. - John Wiley & Sons, Inc., Hoboken, New Jersey, 2007. - S. 160. - ISBN 978-0-470-11486-5 .