RTEA

RTEA
Luoja Marcos el Ruptor (Sean O'Neil)
Luotu 2007_ _
julkaistu 2007_ _
Avaimen koko 128 (256) bittiä
Lohkon koko 64-bittinen
Kierrosten lukumäärä 48 (64)
Tyyppi Feistelin verkko


RTEA ( Ruptor's TEA tai Repaired TEA ) on " Feistel Network " -tyyppinen symmetrinen lohkosalagoritmi kryptografiassa , jonka on kehittänyt Marcos el Ruptor , TEA - salausalgoritmin laajennus . Korjattu joitain algoritmin haavoittuvuuksia. Kuten muutkin TEA-algoritmin versiot, toiminnot perustuvat työskentelyyn 32-bittisten numeroiden kanssa. Algoritmi on paljon yksinkertaisempi ja tehokkaampi kuin XTEA , mutta tekijöiden ja kehittäjien suorittamien tilastollisten testien mukaan se kestää paremmin kryptausanalyysiä [1]. Vastustaakseen kaikkia mukautuvia ja ei-adaptiivisia hyökkäyksiä algoritmi tarvitsee kierrosten määrän, joka on 32+w*4, missä w on 32-bittisten kokonaislukujen määrä avaimessa, eli 4 128-bittiselle avaimelle ja 8 avaimelle. 256-bittinen avain. Avaimelle, jonka koko on 128 bittiä, suoritetaan 48 kierrosta, 256 bitin avaimelle 64 algoritmin kierrosta. [2]

Koska tämä on lohkosalausalgoritmi, jossa lohkon pituus on 64-bittinen ja datan pituus ei saa olla 64-bitin kerrannainen, kaikkien lohkoa 64-bitin kerrannaiseksi täydentävien tavujen arvoksi asetetaan 0x01 .

Toteutus

Algoritmi käsittelee yhdellä kierrolla kaksi 32-bittistä etumerkitöntä lukua (esiteetön pitkä) a ja b, eli 64-bittisen lohkon. 32-bittisten lukujen avaimen pituus on kw, r on pyöreä.

Näin ollen muuttujien ilmoitus voisi olla seuraava:

u32 a , b , c , kw ; u32avain [ kw ] ; pitkä r ;

Universal Code

// salaus for ( r = 0 ; r < kw * 4 + 32 ; r ++ ) c = b , b += a + (( b << 6 ) ^ ( b >> 8 )) + näppäin [ r % kw ] + r , a = c ; // salauksen purku for ( r = kw * 4 + 31 ; r != -1 ; r -- ) c = a , a = b - = a + ( ( a << 6 ) ^ ( a >> 8 )) + näppäin [ r % kw ] + r , b = c ;


Mikä on samanlainen kuin toinen kirjoitusasu:


// salaus for ( r = 0 ; r < kw * 4 + 32 ; r ++ ) a += b + (( b << 6 ) ^ ( b >> 8 )) + näppäin [ r % kw ] + r , r + + , b += a + (( a << 6 ) ^ ( a >> 8 )) + näppäin [ r % kw ] + r ; // salauksen purku for ( r = kw * 4 + 31 ; r != -1 ; r -- ) b - = a + ( ( a << 6 ) ^ ( a >> 8 )) + näppäin [ r % kw ] + r , r -- , a -= b + (( b << 6 ) ^ ( b >> 8 )) + näppäin [ r % kw ] + r ;

Koodi 256-bittiselle avaimelle

Algoritmin käyttö on erittäin yksinkertaista ja kätevää. Joten avaimelle, joka on yhtä suuri kuin 256 bittiä (kw = 8), koodi on seuraava:


// salaus for ( r = 0 ; r < 64 ; r ++ ) { b += a + (( a << 6 ) ^ ( a >> 8 )) + ( näppäin [ r % 8 ] + r ); r ++ ; a += b + (( b << 6 ) ^ ( b >> 8 )) + ( näppäin [ r % 8 ] + r ); } // salauksen purku for ( r = 63 ; r >= 0 ; r - ) { a -= b + (( b << 6 ) ^ ( b >> 8 )) + ( näppäin [ r % 8 ] + r ); r - ; b -= a + (( a << 6 ) ^ ( a >> 8 )) + ( näppäin [ r % 8 ] + r ); }

Jokaisen salatun lohkon ainutlaatuisuuden varmistamiseksi alkuperäisen selkeän tekstin identiteetin kanssa voidaan käyttää yhtä DES-moodista (esimerkiksi CBC, CFB, CTS, CTR)

Turvallisuus

Tällä hetkellä tähän salaukseen on olemassa vain hyökkäys, joka perustuu toisiinsa liittyviin avaimiin ( englanniksi  related key attack ) [3] .

Katso myös

TEE

XTEA

XXTEA

Raiden  on algoritmi, kuten RTEA, joka perustuu TEA -lohkosalauksen ideoihin.

Muistiinpanot

  1. Symmetristen kryptalgoritmien stabiiliuden vertailutulokset Arkistoitu 25. heinäkuuta 2008.  (Englanti)
  2. TEA, XTEA, XXTEA ja RTEA Arkistoitu 19. heinäkuuta 2008.
  3. Asiaan liittyvä avainhyökkäys RTEA:lle.  (linkki ei saatavilla)

Linkit

  1. RTEA-algoritmin lähdekoodi Open Watcom C:ssä ja Delphissä Arkistoitu 23. huhtikuuta 2018 Wayback Machinessa
  2. UKK perustuu fido7.ru.crypt-konferenssin materiaaleihin. (linkki ei saatavilla) . Haettu 22. huhtikuuta 2010. Arkistoitu alkuperäisestä 22. elokuuta 2011.   Seuraava ennakkovaroitus koskee suoraan RTEA:ta: "Algoritmin keksiminen on 5 % työstä. Loput 95 % on varmistamista (ja muiden vakuuttamista), ettei kukaan voi rikkoa sitä."