XTEA - XTEA

XTEA
XTEA InfoBox Diagram.svg
XTEA'nın iki Feistel turu (bir döngü)
Genel
TasarımcılarRoger Needham, David Wheeler
İlk yayınlandı1997
Elde edilenÇAY
HaleflerDüzeltilmiş Blok TEA
Şifre ayrıntısı
Anahtar boyutları128 bit
Blok boyutları64 bit
YapısıFeistel şifresi
Mermideğişken; önerilen 64 Feistel mermi (32 döngü)
En iyi halk kriptanaliz
Bir ilişkili anahtar 36 tur XTEA'ya dikdörtgen saldırı (Lu, 2009)[belirsiz ]

İçinde kriptografi, XTEA (eXtended TEA) bir blok şifreleme zayıflıkları düzeltmek için tasarlandı ÇAY. şifre tasarımcıları David Wheeler ve Roger Needham of Cambridge Bilgisayar Laboratuvarı ve algoritma 1997'de yayınlanmamış bir teknik raporda sunulmuştur (Needham ve Wheeler, 1997). Herhangi bir tabi değildir patentler.[1]

TEA gibi, XTEA bir 64 bit blok Feistel şifresi Birlikte 128 bit anahtar ve önerilen 64 tur. Biraz daha karmaşık olanlar da dahil olmak üzere, TEA ile anahtar program ve vardiyaların yeniden düzenlenmesi, XOR'lar ve eklemeler.

Uygulamalar

Bu standart C kaynak kodu, yayınlanmış referans kodundan uyarlanmıştır. kamu malı David Wheeler ve Roger Needham tarafından, XTEA kullanarak şifreler ve şifre çözer:

#Dahil etmek <stdint.h>/ * v [0] ve v [1] 'de 64 bit veri ve [0] anahtarından 128 bit al - anahtar [3] * /geçersiz şifrelemek(imzasız int num_rounds, uint32_t v[2], uint32_t sabit anahtar[4]) {    imzasız int ben;    uint32_t s0=v[0], v1=v[1], toplam=0, delta=0x9E3779B9;    için (ben=0; ben < num_rounds; ben++) {        s0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (toplam + anahtar[toplam & 3]);        toplam += delta;        v1 += (((s0 << 4) ^ (s0 >> 5)) + s0) ^ (toplam + anahtar[(toplam>>11) & 3]);    }    v[0]=s0; v[1]=v1;}geçersiz deşifre etmek(imzasız int num_rounds, uint32_t v[2], uint32_t sabit anahtar[4]) {    imzasız int ben;    uint32_t s0=v[0], v1=v[1], delta=0x9E3779B9, toplam=delta*num_rounds;    için (ben=0; ben < num_rounds; ben++) {        v1 -= (((s0 << 4) ^ (s0 >> 5)) + s0) ^ (toplam + anahtar[(toplam>>11) & 3]);        toplam -= delta;        s0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (toplam + anahtar[toplam & 3]);    }    v[0]=s0; v[1]=v1;}

Referans kaynak kodundaki değişiklikler küçüktür:

  • Referans kaynak kodu, imzasız uzun yerine yazın 64 bit temiz uint32_t.
  • Referans kaynak kodu kullanmadı sabit türleri.
  • Referans kaynak kodu, yuvarlama işlevini örneğin, C önceliğini kullanarak yazmak için fazlalık parantezleri atladı. v1 + = (v0 << 4 ^ v0 >> 5) + v0 ^ toplam + k [toplam >> 11 ve 3];

Döngünün her yinelemesi iki Feistel-şifre turu yaptığından "num_rounds" parametresi için önerilen değer 64 değil 32'dir. Hızı ek olarak iyileştirmek için, toplam + anahtar [] değerleri önceden hesaplanarak döngü açılabilir.

Kriptanaliz

2004 yılında Ko ve ark. bir ilişkili anahtar diferansiyel saldırı 64 tur XTEA'nın 27'sinde, 220.5 seçili düz metinler ve bir zaman karmaşıklığı 2115.15 (Ko ve diğerleri, 2004).

Lu, 2009 yılında, XTEA'nın 36 turunda, XTEA için daha önce yayınlanan kriptanalitik sonuçlardan daha fazla mermi kırarak ilgili anahtar dikdörtgen saldırı sundu. Makale, biri zayıf anahtar varsayımına sahip olan ve olmayan iki saldırı sunmaktadır;64.98 bayt veri ve 2126.44 operasyonlar ve 263.83 bayt veri ve 2104.33 sırasıyla operasyonlar.[2]

TEA'yı engelle

XTEA ile birlikte sunulan değişken genişlikte bir blok şifresiydi. TEA'yı engelle, XTEA yuvarlak işlevini kullanan, ancak Blok TEA bunu birkaç yineleme için tüm ileti boyunca döngüsel olarak uygular. Tüm mesaj üzerinde çalıştığı için Blok ÇAY, ihtiyaç duymama özelliğine sahiptir. Kullanma usulü, çalışma şekli. Tam Blok TEA'ya yönelik bir saldırı (Saarinen, 1998) 'de açıklanmıştır, bu aynı zamanda Blok TEA'nın halefindeki bir zayıflığı da detaylandırmaktadır, XXTEA.

Ayrıca bakınız

  • RC4 - bir kesintisiz şifreleme bu, tıpkı XTEA gibi, uygulaması çok basit olacak şekilde tasarlanmıştır.
  • XXTEA - TEA'nın halefini engelleyin.
  • ÇAY - TEA'nın öncüsünü engelle.

Referanslar

  1. ^ Roger M. Needham, David J. Wheeler (Ekim 1997). Çay uzantıları (PDF). Bilgisayar Laboratuvarı, Cambridge Üniversitesi (Teknik rapor).CS1 Maint: yazar parametresini (bağlantı)
  2. ^ Lu, Jiqiang (2 Temmuz 2008). "XTEA blok şifresinin 36 turunda ilgili anahtarlı dikdörtgen saldırı". Uluslararası Bilgi Güvenliği Dergisi. 8 (1): 1–11. doi:10.1007 / s10207-008-0059-9. ISSN  1615-5262.

daha fazla okuma

Dış bağlantılar