XXTEA - XXTEA

Tuzatilgan blok TEA (XXTEA)
XXTEA cipher.svg uchun algoritm diagrammasi
XXTEA-ning bir bosqichi
Umumiy
DizaynerlarDevid Uiler, Rojer Nidxem
Birinchi marta nashr etilgan1998 yil oktyabr
Dan olinganTEA-ni bloklash
Shifrlash tafsiloti
Asosiy o'lchamlar128 bit
Blok o'lchamlario'zboshimchalik bilan, kamida ikkita so'z (64 bit)
TuzilishiBalanssiz Feistel tarmog'i
Davralarblok o'lchamiga bog'liq; ~ 52 + 6 *so'zlar (6-32 to'liq tsikl)
Eng yaxshi jamoatchilik kriptanaliz
XXTEA a uchun himoyasiz ochiq matnli hujum 2 talab qiladi59 so'rovlar va ahamiyatsiz ish.[1]

Yilda kriptografiya, TEA blokini tuzatdi (ko'pincha deb nomlanadi XXTEA) a blok shifr asl nusxadagi zaif tomonlarni to'g'irlash uchun mo'ljallangan TEA-ni bloklash.[2][3]

XXTEA a uchun himoyasiz ochiq matnli hujum 2 talab qiladi59 so'rovlar va ahamiyatsiz ish. Quyidagi kriptanalizga qarang.

The shifr dizaynerlari edi Rojer Nidxem va Devid Uiler ning Kembrij kompyuter laboratoriyasi va algoritm nashr etilmagan holda taqdim etildi[tushuntirish kerak ] 1998 yil oktyabr oyida texnik hisobot (Wheeler and Needham, 1998). Hech kimga bo'ysunmaydi patentlar.

Rasmiy ravishda XXTEA - izchil to'liq bo'lmagan manba og'ir heterojen UFN (muvozanatsiz) Feistel tarmog'i ) blok shifrini. XXTEA o'zgaruvchan uzunlikdagi bloklarda ishlaydi, ular hajmi 32 bitdan (kamida 64 bit) o'zboshimchalik bilan ko'paytiriladi. To'liq tsikllarning soni blok o'lchamiga bog'liq, ammo kamida oltitasi mavjud (kichik blok o'lchamlari uchun 32 ga ko'tariladi). Asl Block TEA amal qiladi XTEA blokdagi har bir so'zga yumaloq funktsiya va uni qo'shni bilan eng chap qo'shnisi bilan birlashtiradi. Shifrni sindirish uchun parol hal qilish jarayonining sekin tarqalish tezligidan foydalanildi. Tuzatilgan blokli TEA blokdagi har bir so'zni qayta ishlashda har ikkala yaqin qo'shnidan foydalanadigan yanada yumaloq funktsiyadan foydalanadi.

XXTEA, ehtimol uzoqroq xabarlar uchun XTEA'dan samaraliroq bo'lishi mumkin.[iqtibos kerak ]

Needham & Wheeler Block TEA-dan foydalanish bo'yicha quyidagi mulohazalarni bildiradi:

Foydalanish qulayligi va umumiy xavfsizlik uchun quyidagi sabablarga ko'ra qo'llanilganda katta blok versiyasiga ustunlik beriladi.

  • Bitta bit o'zgarish butun blok bitlarining taxminan yarmiga o'zgaradi va o'zgarishlarni boshlanadigan joy qolmaydi.
  • Bunda ishtirok etish tartibi mavjud emas.
  • Har doim yuborilgan ma'lumotlarning o'zgarishi (ehtimol xabar raqami bilan) to'g'ri ishlatilgan bo'lsa ham, faqat bir xil xabarlar bir xil natija beradi va ma'lumotlarning tarqalishi minimaldir.
  • Xabar raqami har doim tekshirilishi kerak, chunki bu ortiqcha - bu tasodifiy xabar qabul qilinishiga qarshi tekshiruv.
  • Hujumlarni kesish va qo'shilish mumkin emas.
  • Agar juda uzun xabarlarni qabul qilish qabul qilinmasa, ularni 60 ta so'zdan iborat bo'laklarga bo'lish mumkin zanjirlangan uchun ishlatiladigan usullarga o'xshash DES.

Biroq, dumaloq funktsiyaning to'liq bo'lmaganligi sababli, ikkita yoki 32 so'zdan iborat bo'lgan ikkita katta shifrlangan matnlar, ammo barchasi 12 ta so'zdan iborat.96 − N 2. xotira,N vaqt va 2N+296 − N tanlangan oddiy matnlar, boshqacha qilib aytganda umumiy vaqt * xotiraning murakkabligi 2 ga teng96, bu aslida 2 ga tengwordize * to'liq velosipedlar / 2 har qanday bunday shifr uchun. Bunday qisman to'qnashuvlar shifr xavfsizligiga tahdid soladimi, hozircha noma'lum. Sakkizta to'liq tsikl parallel to'qnashuv hujumlari murakkabligidan yuqoridagi to'qnashuv izlash uchun zaminni oshiradi.[iqtibos kerak ]

XXTEA algoritmining g'ayrioddiy kichikligi uni juda cheklangan holatlarda, masalan, hayotiy imkoniyatga aylantiradi. mavjud bo'lgan eski apparat tizimlari (ehtimol o'rnatilgan) Ram minimal yoki muqobil ravishda bitta taxtali kompyuterlar kabi Raspberry Pi, Banana Pi yoki Arduino.

Kriptanaliz

2010 yilda E. Yarrkov tomonidan chop etilgan hujum a ochiq matnli hujum to'liq blokli keng blokli 2-ga qarshi, 2 talab qiladi59 blok hajmi 212 bayt yoki undan ortiq bo'lgan so'rovlar va ahamiyatsiz ish. Bunga asoslanadi differentsial kriptanaliz.[1]

"212 bayt yoki undan ko'p" algoritmni shifrlash uchun atigi 6 tur bajariladi va puxta tanlangan bit naqshlari ko'chki ta'sirini aniqlash va tahlil qilishga imkon beradi. Qog'oz qo'shimcha ikkita dumaloqni qo'shib qo'yganini bildiradi (ya'ni 6 ta o'rniga 8 ta dumaloq) bu muammoni hal qiladi.

Malumot kodi

Devid Uiler va Rojer Nidxem tomonidan nashr etilgan Tuzatilgan Blok TEA algoritmining asl formulasi quyidagicha:[4]

  # MX ni aniqlang ((z >> 5 ^ y << 2) + (y >> 3 ^ z << 4) ^ (sum ^ y) + (k [p & 3 ^ e] ^ z))    uzoq btea(uzoq* v, uzoq n, uzoq* k) {    imzosiz uzoq z=v[n-1], y=v[0], sum=0, e, DELTA=0x9e3779b9;    uzoq p, q ;    agar (n > 1) {          / * Kodlash qismi * /      q = 6 + 52/n;      esa (q-- > 0) {        sum += DELTA;        e = (sum >> 2) & 3;        uchun (p=0; p<n-1; p++) y = v[p+1], z = v[p] += MX;        y = v[0];        z = v[n-1] += MX;      }      qaytish 0 ;     } boshqa agar (n < -1) {  / * Qismni dekodlash * /      n = -n;      q = 6 + 52/n;      sum = q*DELTA ;      esa (sum != 0) {        e = (sum >> 2) & 3;        uchun (p=n-1; p>0; p--) z = v[p-1], y = v[p] -= MX;        z = v[n-1];        y = v[0] -= MX;        sum -= DELTA;      }      qaytish 0;    }    qaytish 1;  }

Needham va Uilerning so'zlariga ko'ra:

BTEA n so'zlarni bitta blok sifatida kodlaydi yoki dekodlaydi n > 1

  • v - n so'zli ma'lumotlar vektori
  • k - 4 ta so'zli kalit
  • n dekodlash uchun salbiy
  • n nolga teng bo'lsa, natija 1 ga teng va kodlash yoki dekodlash amalga oshirilmaydi, aks holda nolga teng bo'ladi
  • 32 bitli "uzun" va bir xil endian kodlash va dekodlashni talab qiladi

E'tibor bering, z ning boshlanishi Aniqlanmagan xatti-harakatlar uchun n Sabab bo'lishi mumkin bo'lgan <1 segmentatsiya xatosi yoki boshqa kiruvchi xatti-harakatlar - "Kodlash qismi" blokiga joylashtirilsa yaxshi bo'ladi. Shuningdek, MX ta'rifida ba'zi dasturchilar operator ustunligini aniqlashtirish uchun braketdan foydalanishni afzal ko'rishadi.

Ushbu yaxshilanishlarni o'z ichiga olgan aniqlangan versiyasi quyidagicha:

  # shu jumladan <stdint.h>  # DELTA 0x9e3779b9 ni aniqlang  # MXni aniqlang (((z >> 5 ^ y << 2) + (y >> 3 ^ z << 4)) ^ ((sum ^ y) + (key [(p & 3) ^ e] ^ z)) )    bekor btea(uint32_t *v, int n, uint32_t konst kalit[4]) {    uint32_t y, z, sum;    imzosiz p, turlar, e;    agar (n > 1) {          / * Kodlash qismi * /      turlar = 6 + 52/n;      sum = 0;      z = v[n-1];      qil {        sum += DELTA;        e = (sum >> 2) & 3;        uchun (p=0; p<n-1; p++) {          y = v[p+1];           z = v[p] += MX;        }        y = v[0];        z = v[n-1] += MX;      } esa (--turlar);    } boshqa agar (n < -1) {  / * Qismni dekodlash * /      n = -n;      turlar = 6 + 52/n;      sum = turlar*DELTA;      y = v[0];      qil {        e = (sum >> 2) & 3;        uchun (p=n-1; p>0; p--) {          z = v[p-1];          y = v[p] -= MX;        }        z = v[n-1];        y = v[0] -= MX;        sum -= DELTA;      } esa (--turlar);    }  }

Shuningdek qarang

  • RC4: A oqim shifri xuddi XXTEA singari, uni amalga oshirish juda sodda qilib yaratilgan.
  • XTEA: TEA ning kashshofini blokirovka qiling.
  • CHOY: XTEA kashshofi.

Adabiyotlar

  1. ^ a b Elias Yarrkov (2010-05-04). "XXTEA ning kriptanalizi". Iqtibos jurnali talab qiladi | jurnal = (Yordam bering)
  2. ^ Metyu D. Rassel (2004-02-27). "Kichkintoy: TEA va unga tegishli shifrlarga umumiy nuqtai".. Arxivlandi asl nusxasi 2007-08-12.
  3. ^ Rojer M. Nidxem va Devid J. Uiler (1997 yil oktyabr). "Choy kengaytmalari" (PDF). Kompyuter laboratoriyasi, Kembrij universiteti, Angliya. Olingan 2008-07-04.
  4. ^ Devid J. Uiler va Rojer M. Nidxem (1998 yil oktyabr). "XTEA-ga tuzatish" (PDF). Kompyuter laboratoriyasi, Kembrij universiteti, Angliya. Olingan 2008-07-04.

Tashqi havolalar