Locked History Actions

XTEA

XTEA algoritmas

SHOUTcast 2 šifro raktas

SHOUtcast sistemoje yra naudojamas šifro raktas, kuris reikalingas, kai vyksta jungimasis prie DNAS serverio. Šį šifro raktą reikia pakeisti tada, kai gaunama autentifikavimo klaida, jog šifro raktai nesutampa. Jeigu naudojamas dsp winamp plėtinys (plug-in) tai šifro raktas pakeičiamas jo nustatymų ini faile. O DNAS serverio atitikmuo šio rakto yra saugomas prie parametro vadinamo uvoxcipherkey. Šis specifinis raktas yra naudojamas siekiant tarsi paslėpti, padaryti sunkiau suprantamą pasisveikinimo iniciavimą su šaltiniu. Numatytoji vertė šio uvoxcipherkey parametro yra foobar. Jungiantis per DNAS transkoderį yra parametras djcipher, kuris taip pat skirtas paslėpti pasisveikinimo su serveriu inicijavimą ir gali būti pakeistas. Šifro raktas yra dalis XTEA algoritmo, kuris reikalingas dėl to, jog yra būtina užšifruoti vartotojo identifikaciją bei autorizacijos duomenis.

XTEA

SHOUTcast naudojamas XTEA (Extended Tiny Encyption Algorithm) algoritmas yra naujesnė TEA algoritmo versija skirta ištaisyti pastarojo klaidas. TEA (Tiny Encryption Algorithm) yra Feistelio tipo šifras, kuris naudoja operacijas iš skirtingų algebrinių grupių. Dvigubas perstūmimas padaro tai, kad duomenų ir rakto bitai pastoviai sumaišomi. Rakto planavimo algoritmas nėra sudėtingas: 128 bitų raktas K yra dalinamas į keturis 32 bitų blokus. TEA atrodo gana atsparus diferencialinei kriptoanalizei ir pasiekia didelį išsimaišymą. Kadangi naudojami perstūmimai ir kitos operacijos, tai vieno bito pasikeitimas įprastame tekste sukelia 32 bitų pasikeitimą šifruotame tekste. Laiko atžvilgiu našumas taip pat yra geras. Feistelio šifro tipas reiškia specialią klasę pakartotinų blokų šifrus, kur šifruotas tekstas yra gaunamas iš paprasto teksto pakartotinai taikant tuos pačius transformacinius veiksmus arba ciklų (rounds) funkcijas. Šiame šifre tekstas, kuris bus šifruojamas, yra padalinamas į dvi dalis. Ciklų funkcija F yra priskiriama vienai iš padalintų teksto dalių naudojant subraktą ir funkcijos išeities tekstas yra sudedamas išskirtinio arba būdu su kita dalimi. Dvi pusės tada yra sukeičiamos. Kiekvienas ciklas seka tokį modelį, išskyrus paskutinį, kurio metu dažniausiai nebėra keitimo. Tokio algoritmo pagrindu ir veikia TEA šifras. XTEA (Extended TEA) yra išplėstasis TEA algoritmas, skirtas ištaisyti dvi pagrindines silpnybes TEA algoritmo. Kaip ir TEA, XTEA naudoja aritmetines ir logines operacijas. Pirmasis pastiprinimas yra pakoreguotas rakto naudojimo tvarkaraštis ir kitas yra lėtasis rakto duomenų pristatymas. O pagrindiniai bruožai XTEA yra išlikę tokie patys kaip kad XTEA naudoja 64 bitų Feistelio tinklo blokus su 128 bitų raktu ir siūlomais 64 ciklais.

xtea.png

2 pav. TEA algoritmo abstrakcija

2 pav. pavaizduotas TEA, kurio principais paremtas XTEA, algoritmas. Jis panašus į Feistelio šifravimo metodą. Užšifravimo įvesties duomenys yra grynasis tekstas raktas. Tekstas yra padalinamas į dvi dalis. Kiekviena pusė yra šifruojama su kita puse panaudojant 64 turus ir subraktą, kuris yra dalis pagrindinio rakto. Galutiniame išvesties rezultate abi teksto pusės yra sukeičiamos ir tada sudedamos gaunant išvesties duomenis. Savybės:

  • Kiekvienas ciklas turi įvesties duomenis gautus iš praeito ciklo.
  • Subraktai yra skirtingi nuo pagrindinio rakto ir nuo kitų subraktų.
  • Delta konstanta (√5-1)∙2^31 yra iš auksinio skaičiaus, tam kad būtų užtikrina, kad subraktai nesikartotų ir jo vertė nepalieka kriptografinių požymių.
  • Skirtumas nuo tradicinio Feistelio algoritmo yra tas, kad vietoj išskirtinio arba yra naudojamas suma moduliu 232.

Taip pat dar galima paminėt, kad TEA gali būti pilnai nulaužtas kriptografinėmis atakomis. XTEA atveju 2004 metais buvo nulaužta 27 iš 64 ciklų. 2009 metais buvo pasiektas 36 turų rezultatas.

Naudota literatūra

1. Vikram Reddy Andema. Cryptaanalysis of the Tiny Encyrption Algorithm