bloková šifra From Wikipedia, the free encyclopedia
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.
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;
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.