Přeskočit na obsah

XXTEA

Z Wikipedie, otevřené encyklopedie
Diagram pro jednu rundu šifry XXTEA

XXTEA, nazývaná také Corrected Block TEA (doslova opravená bloková TEA) je bloková šifra navržená jako oprava slabosti šifry XTEA. Jejími autory jsou opět David Wheeler a Roger Needham z Cambridgeské univerzity a byla zveřejněna v říjnu 1998. Sama je ovšem již považována za prolomenou, neboť existuje útok s výběrem otevřeného textu s 259 dotazy.

Opět se jedná o Feistelovu šifru s velikostí bloku alespoň 64 bitů a délkou klíče 128 bitů a opět autoři zveřejnili i referenční implementaci napsanou v Céčku.

Referenční implementace

[editovat | editovat zdroj]

Verze zveřejněná Wheelrem a Needhamem vypadá následovně:

  #define MX ((z>>5^y<<2) + (y>>3^z<<4) ^ (sum^y) + (k[p&3^e]^z))
  
  long btea(long* v, long n, long* k) {
    unsigned long z=v[n-1], y=v[0], sum=0, e, DELTA=0x9e3779b9;
    long p, q ;
    if (n > 1) {          /* Coding Part */
      q = 6 + 52/n;
      while (q-- > 0) {
        sum += DELTA;
        e = (sum >> 2) & 3;
        for (p=0; p<n-1; p++) y = v[p+1], z = v[p] += MX;
        y = v[0];
        z = v[n-1] += MX;
      }
      return 0 ; 
    } else if (n < -1) {  /* Decoding Part */
      n = -n;
      q = 6 + 52/n;
      sum = q*DELTA ;
      while (sum != 0) {
        e = (sum >> 2) & 3;
        for (p=n-1; p>0; p--) z = v[p-1], y = v[p] -= MX;
        z = v[n-1];
        y = v[0] -= MX;
        sum -= DELTA;
      }
      return 0;
    }
    return 1;
  }

V tomto článku byl použit překlad textu z článku XXTEA na anglické Wikipedii.


Externí odkazy

[editovat | editovat zdroj]
  • WHEELER, David; NEEDHAM, Roger. Correction to XTEA [online]. Dostupné online. (anglicky)