Küçük Şifreleme Algoritması - Tiny Encryption Algorithm - Wikipedia

ÇAY
TEA InfoBox Diagram.png
İki Feistel turu (bir döngü) ÇAY[1]
Genel
TasarımcılarRoger Needham, David Wheeler
İlk yayınlandı1994
HaleflerXTEA
Şifre ayrıntısı
Anahtar boyutları128 bit
Blok boyutları64 bit
YapısıFeistel ağı
Mermideğişken; önerilen 64 Feistel mermi (32 döngü)
En iyi halk kriptanaliz
TEA, eşdeğer anahtarlardan muzdariptir (metne bakınız; Kelsey ve diğerleri, 1996) ve bir ilgili anahtar saldırısı 2 gerektiren23 seçili düz metinler ve 2 zaman karmaşıklığı32.[2] Standart tek gizli anahtar ayarında TEA'nın en iyi yapısal kriptanalizi, sıfır korelasyonlu kriptanalizin 2 turda 21 turu kırmasıdır.121.5 tam kod kitabından daha az zaman [3]

İçinde kriptografi, Küçük Şifreleme Algoritması (ÇAY) bir blok şifreleme açıklama sadeliği ile dikkat çekiyor ve uygulama, genellikle birkaç satır kod. Tarafından tasarlandı David Wheeler ve Roger Needham of Cambridge Bilgisayar Laboratuvarı; ilk olarak ... 'da sunuldu Hızlı Yazılım Şifreleme atölye Leuven 1994 yılında ve ilk olarak o atölyenin kitapçığında yayınlandı.[4]

Şifrelemeye tabi değildir patentler.

Özellikleri

TEA, iki 32-bit üzerinde çalışır işaretsiz tamsayılar (64 bitlik bir veriden türetilebilir blok ) ve 128 bit kullanır anahtar. Bir Feistel yapısı önerilen 64 tur ile, tipik olarak adı verilen çiftler halinde uygulanır döngüleri. Son derece basit bir anahtar program, tüm temel materyalin her döngü için tamamen aynı şekilde karıştırılması. A'nın farklı katları büyü sabiti temel alan basit saldırıları önlemek için kullanılır simetri mermilerin. 2654435769 veya 0x9E3779B9 sihirli sabiti ⌊2 olarak seçilir32/ϕ⌋, nerede ϕ ... altın Oran (olarak Kol numaram hiçbir şey ).[4]

TEA'nın birkaç zayıf yönü var. En önemlisi, eşdeğer anahtarlardan muzdariptir - her anahtar diğer üç anahtarla eşdeğerdir, bu da etkili anahtar boyutunun yalnızca 126 olduğu anlamına gelir bitler.[5] Sonuç olarak, ÇAY özellikle kötü kriptografik karma işlevi. Bu zayıflık, hacklemek Microsoft 's Xbox oyun konsolu, şifrenin bir karma işlevi olarak kullanıldığı yer.[6] ÇAY ayrıca bir ilgili anahtar saldırısı hangisi 2 gerektirir23 seçili düz metinler 2 ile ilişkili bir anahtar çifti altında32 zaman karmaşıklığı.[2] Bu zayıflıklar nedeniyle, XTEA şifre tasarlandı.

Versiyonlar

TEA'nın ilk yayınlanan sürümü, daha güvenli hale getirmek için uzantıları içeren ikinci bir sürümle tamamlandı. TEA'yı engelle (ile birlikte belirtilmiştir XTEA ), orijinalin 64 bitlik bloklarının yerine rasgele boyutlu bloklar üzerinde çalışır.

Üçüncü bir versiyon (XXTEA ), 1998'de yayınlanan, Blok TEA algoritmasının güvenliğini artırmak için daha fazla iyileştirme açıklamıştır.

Referans Kodu

Aşağıda, referans şifreleme ve şifre çözme rutinlerinin bir uyarlaması yer almaktadır. C, David Wheeler ve Roger Needham tarafından kamu malı olarak yayınlanmıştır:[4]

#Dahil etmek <stdint.h>geçersiz şifrelemek (uint32_t v[2], sabit uint32_t k[4]) {    uint32_t s0=v[0], v1=v[1], toplam=0, ben;           /* kurmak */    uint32_t delta=0x9E3779B9;                     / * önemli bir zamanlama sabiti * /    uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];   / * önbellek anahtarı * /    için (ben=0; ben<32; ben++) {                         / * temel döngü başlangıcı * /        toplam += delta;        s0 += ((v1<<4) + k0) ^ (v1 + toplam) ^ ((v1>>5) + k1);        v1 += ((s0<<4) + k2) ^ (s0 + toplam) ^ ((s0>>5) + k3);    }                                              / * döngü sonu * /    v[0]=s0; v[1]=v1;}geçersiz şifresini çözmek (uint32_t v[2], sabit uint32_t k[4]) {    uint32_t s0=v[0], v1=v[1], toplam=0xC6EF3720, ben;  /* kurmak; toplam 32 * delta * /    uint32_t delta=0x9E3779B9;                     / * önemli bir zamanlama sabiti * /    uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];   / * önbellek anahtarı * /    için (ben=0; ben<32; ben++) {                         / * temel döngü başlangıcı * /        v1 -= ((s0<<4) + k2) ^ (s0 + toplam) ^ ((s0>>5) + k3);        s0 -= ((v1<<4) + k0) ^ (v1 + toplam) ^ ((v1>>5) + k1);        toplam -= delta;    }                                              / * döngü sonu * /    v[0]=s0; v[1]=v1;}

Referans uygulamasının çok baytlı sayısal değerlere göre hareket ettiğini unutmayın. Orijinal kağıt, üzerinde etki ettiği sayıların ikili veya diğer içerikten nasıl türetileceğini belirtmez.

Ayrıca bakınız

  • RC4 - bir kesintisiz şifreleme bu, tıpkı TEA gibi, uygulaması çok basit olacak şekilde tasarlanmıştır.
  • XTEA - Blok TEA'nın halefinin ilk versiyonu.
  • XXTEA - TEA'nın halefi düzeltildi.
  • Treyfer - 64 bit anahtar boyutu ve blok boyutu ile basit ve kompakt bir şifreleme algoritması.

Notlar

  1. ^ Matthew D. Russell (27 Şubat 2004). "Kalaylık: ÇAY ve İlgili Şifrelere Genel Bakış". Arşivlenen orijinal 12 Ağustos 2007.
  2. ^ a b Kelsey, John; Schneier, Bruce; Wagner, David (1997). 3-WAY, Biham-DES, CAST, DES-X NewDES, RC2 ve TEA'nın ilgili anahtar kriptanalizi. Bilgisayar Bilimlerinde Ders Notları. 1334. s. 233–246. CiteSeerX  10.1.1.35.8112. doi:10.1007 / BFb0028479. ISBN  978-3-540-63696-0.
  3. ^ Bogdanov, Andrey; Wang Meiqin (2012). Azaltılmış Veri Karmaşıklığı ile Sıfır Korelasyonlu Doğrusal Kriptanaliz (PDF). Bilgisayar Bilimlerinde Ders Notları. 7549. Fast Software Encryption 2012. s. 29–48. doi:10.1007/978-3-642-34047-5_3. ISBN  978-3-642-34046-8.
  4. ^ a b c Wheeler, David J .; Needham Roger M. (1994-12-16). TEA, küçük bir şifreleme algoritması. Bilgisayar Bilimlerinde Ders Notları. 1008. Leuven, Belçika: Hızlı Yazılım Şifreleme: İkinci Uluslararası Çalıştay. sayfa 363–366. doi:10.1007/3-540-60590-8_29. ISBN  978-3-540-60590-4.
  5. ^ Kelsey, John; Schneier, Bruce; Wagner, David (1996). IDEA, G-DES, GOST, SAFER ve Triple-DES'in anahtar program kriptanalizi (PDF). Bilgisayar Bilimlerinde Ders Notları. 1109. sayfa 237–251. doi:10.1007/3-540-68697-5_19. ISBN  978-3-540-61512-5.
  6. ^ Michael Steil. "Xbox Güvenlik Sisteminde Microsoft Tarafından Yapılan 17 Hata". Arşivlenen orijinal 16 Nisan 2009.

Referanslar

Dış bağlantılar