Akelarre

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 28. maaliskuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 64 muokkausta .
Akelarre
Luoja Kirjoittajaryhmä G. Álvarez Marañón, A. Fúster Sabater, D. Guía Martínez, F. Montoya Vitini, A. Peinado Domínguez
julkaistu 1996_ _
Avaimen koko Useita 64 bittiä (suositus - 128 bittiä)
Lohkon koko 128 bittinen
Kierrosten lukumäärä Mikä tahansa (suositus - 4)
Tyyppi SP verkko

Akelarre  on espanjalaisten kirjailijoiden ryhmän kehittämä lohkosalaus , joka esiteltiin SAC :ssa vuonna 1996; yhdistää IDEA :n ydinkehityksen RC5 :n konsepteihin . Nimeä akelarre käytetään myös baskin kielessä viittaamaan noitien joukkoon [1] .

Kuvaus

Akelarre on 128-bittinen lohkosalaus. Tässä tapauksessa avaimen pituus on muuttuva ja sen on oltava 64 bitin kerrannainen; salauskulkujen määrä on myös muuttuva parametri. Kirjoittajien ehdottamat optimaaliset arvot ovat 128-bittinen avain ja 4 kierrosta [2] . Akelarren salaustoiminto on rakenteellisesti samanlainen kuin IDEA:ssa. Näiden salausten välillä on kuitenkin useita merkittäviä eroja yleisesti: esimerkiksi IDEA käyttää 16-bittistä sanakokoa, ei 32-bittistä, ja käytettyjen primitiivisten operaatioiden joukko on myös erilainen. Akelarre soveltaa [3] :

Tämän algoritmin samankaltaisuuden RC5 : n kanssa määrittää syklisen siirron käyttö vaihtelevalla bittimäärällä . Kaikki luetellut operaatiot kuuluvat eri algebrallisiin ryhmiin ja ovat yhteensopimattomia siinä mielessä, että assosiatiiviset ja distributiiviset lait eivät päde millekään niiden parille. Tämän avulla voit piilottaa kaikki olemassa olevat suhteet selkeän tekstin ja salatekstin ja avaimen välillä, mikä tekee kryptausanalyysistä vaikeaa [5] .

Toimintaalgoritmi

Rakenteellisesti algoritmi voidaan jakaa kahteen osaan:

  1. Salaus/salauksenpurkualgoritmi.
  2. Algoritmi käyttäjän syöttämän avaimen laajentamiseksi.

Salaus

Ensin selväteksti X jaetaan 128-bittisiksi lohkoiksi, joista jokainen puolestaan ​​jaetaan 4 alilohkoon X 1 ... X 4 , joihin on jo sovellettu ensisijainen muunnos. Koko salausprosessi tapahtuu kolmessa vaiheessa.

  1. Jokaisen kierroksen alussa käännetään 128-bittinen lohko, joka on tuloksena syötemuunnoksen tai edellisen kierroksen tuloksena muodostuneiden alilohkojen liitosta; kolmannella kierroksella ( ) siirtymän määrittävä bittimäärä määritetään avaimenlaajennusproseduurin tuloksena muodostuneen avainfragmentin K m1 vähiten merkitsevien bittien perusteella.
  2. Seuraavassa vaiheessa 128-bittinen lohko jaetaan jälleen neljään 32-bittiseen alilohkoon ja bittikohtaiset TAI-arvot lasketaan kahden ensimmäisen lohkon parille ja sitten kahden viimeisen lohkon parille. Tuloksena olevien lohkojen C1 , C2 lisämuunnokset määräytyvät AR -moduulin (lisäys-rotaatiorakenne) toiminnan avulla. Moduulin rakenne koostuu kahdesta sarakkeesta: C 1 syötetään ensimmäisen, C 2  - toisen tuloon. C 1 : lle :
    • C1 : n ensimmäiset 31 bittiä kierretään vasemmalle (siirtomäärän määrää C2 :n vähiten merkitsevä 5 bittiä ).
    • Edellisessä vaiheessa saatu tulos lisätään modulo numeroon yhdellä laajennetun avaimen K m8 fragmenteista .
    • Edellisen vaiheen lähtölohkon viimeiset 31 bittiä käännetään vasemmalle kuten vaiheessa 1.
    • Edellisessä vaiheessa saatu 32-bittinen lohko lisätään modulo numeroon aliavaimella K m9 samalla tavalla kuin vaiheessa 2.
    • Edellisen vaiheen lähtölohkon korkeat 31 bittiä käännetään vasemmalle kuten vaiheessa 1.
    • Edellisessä vaiheessa saatu 32-bittinen lohko lisätään modulo numeroon aliavaimella K m10 kuten vaiheessa 2.
    • Vaiheita 3-6 toistetaan, kunnes on suoritettu yhteensä 7 vuoroa ja 6 aliavainlisäystä.
C 02 käsitellään samalla tavalla , vain näppäimillä K m2 ... K m7 . Moduulin toiminnan tuloksena saaduista lohkoista D 1 , D 2 lisäämällä kierroksen alussa 128-bittisen lohkon jakamalla muodostettuihin lohkoihin muodostuu 4 kierroksen lähtöarvoa ( kukin X1 , X3 lisätään D1 :een ja kukin X2 , X4- D2 : n kanssa  ) . Bittisiirtymän soveltaminen ei koko lohkoon, vaan vain 31 bittiin tehdään, jotta vältetään mahdollinen lähtö- ja tulotulosten identiteetti, joka voidaan havaita yhdistelmälukuja käytettäessä [6] .

Salauksen purku

Salauksenpurkualgoritmi on olennaisesti järjestetty samalla tavalla kuin salaukseen käytetty, vain aliavaimia luodaan jo salausavainten perusteella. Salaus- ja salauksenpurkuavainten välinen vastaavuus on seuraava (tässä alkumuunnos ymmärretään nollakierrokseksi ja lopullinen muunnos (r + 1) kierros) [8] :

Pyöristää Salauksessa käytetyt avaimet Salauksen purkamisessa käytetyt avaimet
Alkuperäinen muunnos
1. kierros
2. kierros
m-kierros
r-nen kierros
Lopullinen muunnos

Avaimen laajennus

Jotta algoritmi toimisi, tarvitaan avain, joka koostuu vähintään 22 alilohkosta, joissa on 32 bittiä (704 bittiä) [9] . Seuraava kuvaus vastaa algoritmin soveltamista 128-bittiseen avaimeen:

  1. Käyttäjäavain on jaettu 8 osaan, joissa on 16 bittiä k 1 ...k 8 .
  2. Jokainen yksittäinen fragmentti neliöidään 32-bittisen arvon saamiseksi, ja tuloksena olevien arvojen lukumäärän modulosummaus suoritetaan erikseen kullakin vakiolla a 1 , a 2 ; tuloksena kunkin aloitusavaimen k i1 perusteella muodostuu kaksi väliaikaista arvoa Kti ja K'ti . Vakiot tulee valita siten, että vältetään mahdollista pelkistä noloista koostuvan avaimen muodostumista. Kirjoittajat ehdottivat arvoa 1 = A49ED284H ja 2 = 73503DEH [10] .
  3. Edellisessä vaiheessa saaduista väliaikaisista arvoista muodostetaan alustavan laajennetun avaimen K e1 ...K e8 fragmentit . Jokainen näistä fragmenteista on seurausta 8 matalan ja 8 korkean bitin K'ti sekä 8 matalan ja 8 korkean bitin Kti yhdistämisestä ; Kunkin väliaikaisen arvon keskellä sijaitsevat 16 bittiä käsitellään samalla tavalla kuin k 1 ... k 8 käsittelyä, jotta saadaan uusia arvoja laajennetuista avainfragmenteista [11] .
  4. Alkumuunnoksessa ( K i1 …K i4 ), AR-moduulin toiminnassa ( K m1 …K m13 kullekin m kierrokselle) ja loppumuunnoksessa ( K f1 … K f5 ) käytetyt näppäimet täytetään vuorotellen algoritmin toiminnan aikana muodostuneet arvot K e1 …K e8 [12] .

Kestävyys

Jo vuosi salauksen esittelyn jälkeen Niels Fergusonin ja Bruce Schneierin työ suoritti hyökkäyksen, joka mahdollistaa murtamisen enintään 100 selväkielisen näytteen perusteella. Hyökkäys tapahtuu 4 vaiheessa: kahdessa ensimmäisessä aliavainbittien alkuperäinen ja viimeinen muunnos palautetaan, ja kaksi seuraavaa käyttävät avaimen laajennusjärjestelmän haavoittuvuuksia ja algoritmin kierrosten määrän kasvaessa, myös järjestelmän toiminnasta saatavan tiedon määrä kasvaa voimakkaasti. AR-moduulin organisaation monimutkaisuus sen ominaisuuksista (pariteettiominaisuudet) johtuen ei vaikeuta hakkerointia ollenkaan [13] . Samassa työssä annetaan toinen hyökkäys, jossa lisäksi algoritmin differentiaalisen ominaisuuden käyttö mahdollistaa tarvittavien operaatioiden määrän vähentämisen loppujen lopuksi .

Toinen työ, jossa Akelarren kryptausanalyysi suoritettiin onnistuneesti, on Lars Knudsen ja Vincent Ridgeman. Ne kuvaavat kahta mahdollista hyökkäystä: toinen perustuu selkeän tekstin käyttöön , toinen mahdollistaa avaimen paljastamisen käyttämällä vain salatekstiä ja joitain tietoja selkeästä tekstistä - erityisesti riittää, että tietää, että tämä on ASCII -englanninkielinen teksti . Aivan kuten Fergusonin ja Schneierin työssä ehdotetut hyökkäykset, tässä työssä ehdotetut hyökkäykset eivät riipu algoritmin kierrosten lukumäärästä tai avaimen koosta, ja pelkkä salakirjoitus -hyökkäys on yksi käytännöllisimpiä. koska jo yksi kanavan kuuntelu riittää sen toteuttamiseen [14] .

Merkitys

Akelarre on suunniteltu algoritmiksi, joka yhdistää onnistuneesti kahden luotettavan ja tunnetun algoritmin IDEA ja RC5 elementit ja jolla on monimutkainen arkkitehtuuri, mutta se ei osoittanut suurta kryptografista vahvuutta, mikä osoitti selvästi, että kahden hyvin suojatun algoritmin komponenttien yhdistäminen ei aina johda luotettavassa uudessa [15] . Kuten erään algoritmia tutkivan artikkelin otsikossa todetaan [16] :

Kaksi plussaa antaa joskus miinuksen.

Alkuperäinen teksti  (englanniksi)[ näytäpiilottaa] Kaksi oikeutta tekee joskus virheen.

Muutokset

Akelarren onnistuneen krypta-analyysin jälkeen sen suunnittelijat esittelivät päivitetyn muunnelman nimeltä Ake98 . Tämä salaus eroaa alkuperäisestä Akelarren uudesta AR-laatikosta (Addition-Rotation box) sanojen permutaatiolla, joka suoritetaan salauskierroksen lopussa, sekä aliavaimien lisäämisellä jokaisen salauskierroksen alussa. Samanaikaisesti parametrit, kuten avaimen koko ja lohkokoko, säilyivät entiseen tapaan säädettävinä, mutta niiden vähimmäiskokoa eivät tekijät määrittäneet [17] . AR-moduuli toimii uudessa versiossa pseudosatunnaislukugeneraattorina .

Vuonna 2004 Jorge Nakaara Jr. ja Daniel Santana de Freita löysivät suuria luokkia heikkoja avaimia Ake98:lle. Nämä heikot avaimet mahdollistavat analyysin nopeammin kuin raakavoima käyttämällä vain 71 tunnettua tekstinpalaa 11,5 salauskierrosta varten Ake98:ssa. Lisäksi samassa työssä suoritettiin algoritmin suorituskyvyn arviointi, joka osoitti, että vaikka kierrosten lukumäärällä 25,5 tai enemmän algoritmilla ei ole heikkoja avaimia, se osoittautuu 4 kertaa hitaammaksi. kuin IDEA , 8 kertaa hitaampi kuin AES ja 14 kertaa - RC6 [18] .

Muistiinpanot

  1. Stamp M. et al, 2007 , s. 160.
  2. Panasenko S., 2009 , s. 101.
  3. Álvarez MG et ai., 1996 , s. 2-3.
  4. Panasenko S., 2009 , s. 99.
  5. Álvarez MG et ai., 1996 , s. 2.
  6. Álvarez MG et ai., 1996 , s. 5-6.
  7. Panasenko S., 2009 , s. 98-100.
  8. Álvarez MG et ai., 1996 , s. 6.
  9. Álvarez MG et ai., 1996 , s. 7.
  10. Álvarez MG et ai., 1996 , s. 7-8.
  11. Panasenko S., 2009 , s. 101-102.
  12. Ferguson N. et ai., 1997 , s. 207-208.
  13. Ferguson N. et ai., 1997 , s. 210-211.
  14. Panasenko S., 2009 , s. 102-103.
  15. Knudsen L. et ai., 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.

Kirjallisuus