XXTEA

bloková šifra

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.

Diagram pro jednu rundu šifry XXTEA

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

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;
  }

Odkazy editovat

Reference editovat

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


Externí odkazy editovat

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