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:

  1. Krypterings-/dekrypteringsalgoritme.
  2. 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.

  1. 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.
  2. 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] .

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:

  1. Brugernøglen er opdelt i 8 dele af 16 bit k 1 ... k 8 .
  2. 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] .
  3. 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] .
  4. 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

  1. Stamp M. et al, 2007 , s. 160.
  2. Panasenko S., 2009 , s. 101.
  3. Álvarez MG et al., 1996 , s. 2-3.
  4. Panasenko S., 2009 , s. 99.
  5. Álvarez MG et al., 1996 , s. 2.
  6. Álvarez MG et al., 1996 , s. 5-6.
  7. Panasenko S., 2009 , s. 98-100.
  8. Álvarez MG et al., 1996 , s. 6.
  9. Álvarez MG et al., 1996 , s. 7.
  10. Álvarez MG et al., 1996 , s. 7-8.
  11. Panasenko S., 2009 , s. 101-102.
  12. Ferguson N. et al., 1997 , s. 207-208.
  13. Ferguson N. et al., 1997 , s. 210-211.
  14. Panasenko S., 2009 , s. 102-103.
  15. Knudsen L. et al, 1997 , s. 223.
  16. Panasenko S., 2009 , s. 103.
  17. Júnior J. et al., 2005 , s. 208.
  18. Júnior J. et al., 2005 , s. 213-214.

Litteratur