Twofish

Vikipedi, özgür ansiklopedi
Twofish
Twofish algoritması
Genel
TasarımcılarBruce Schneier
İlk yayınlanma1998
Türetildiği yerBlowfish, SAFER, Square
Şunlarla ilgiliThreefish
SertifikasyonAES finalisti
Şifre detayları
Anahtar boyutları128, 192 veya 256 bit
Blok boyutları128 bit
YapıFeistel network
Döngüler16
En iyi açık kriptanaliz
Truncated differential cryptanalysis requiring roughly 251 chosen plaintexts.[1] Impossible differential attack that breaks 6 rounds out of 16 of the 256-bit key version using 2256 steps.[2]

Kriptografide Twofish, 128 bit ve 256 bite kadar anahtar boyutlarına sahip simetrik bir anahtar blok şifresidir. Advanced Encryption Standard yarışmasının beş finalistinden bir tanesiydi, ancak standardizasyon için seçilmedi. Twofish, Blowfish'in önceki blok şifrelesi ile ilgilidir.

Twofish'in ayırt edici özellikleri, önceden hesaplanmış anahtara bağlı S-kutularının kullanılması ve nispeten karmaşık bir anahtar programıdır. Bir n-bit anahtarın bir yarısı gerçek şifreleme anahtarı olarak kullanılır ve n-bit anahtarın diğer yarısı şifreleme algoritmasını değiştirmek için kullanılır. Twofish, diğer tasarımlardan bazı şeyleri kullanmaktadır; örneğin, SAFER şifre ailesinden sözde Hadamard dönüşümü (PHT). Twofish, DES gibi bir Feistel yapısına sahiptir. Twofish ayrıca ayrılabilir bir maksimum mesafe matrisi kullanır.

1998'de piyasaya sürüldüğünde, Twofish 128 bitlik anahtarlar için Rijndael'den biraz daha yavaştı, ancak 256 bitlik anahtarlar için biraz daha hızlıydı. 2008'den beri, neredeyse tüm AMD ve Intel işlemciler, AES komut seti aracılığıyla Rijndael algoritmasının donanım hızlandırmasını içeriyor; Komut setini kullanan Rijndael uygulamaları artık Twofish uygulamalarından çok daha hızlıdır.

Twofish, Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall ve Niels Ferguson tarafından tasarlandı: Twofish'in daha fazla kriptanalizini gerçekleştirmek için bir araya gelen "Geliştirilmiş ve güncellenmiş Twofish ekibi". Diğer AES yarışmacıları arasından Stefan Lucks, Tadayoshi Kohno ve Mike Stay gibi isimlerde vardı.

Twofish şifreleme metodunun patenti alınmamıştır ve referansı kamuya açık hale getirilmiştir. Sonuç olarak, Twofish algoritması herhangi bir kısıtlama olmaksızın herkesin kullanımına açık ve ücretsizdir. OpenPGP standardında (RFC 4880) bulunan birkaç şifrelemeden biridir. Bununla yanı sıra Twofish, daha uzun süredir mevcut da bulunmakta olan Blowfish'ten daha az bir ilgi görmüştür bir kullanım gördü.

Performans[değiştir | kaynağı değiştir]

Performans kısmını tasarlanırken Twofish'te her zaman önemli bir faktör olmuştur. Twofish, şifreleme hızı, bellek kullanımı, donanım kapısı sayısı, anahtar kurulumu ve diğer parametrelerin önemine bağlı olarak birkaç performans değiş tokuşu katmanına izin verecek şekilde tasarlanmıştır. Bu, çeşitli uygulamalarda uygulanabilen oldukça esnek bir algoritmaya izin verir.

Twofish için donanımda olduğu kadar yazılımda da yapılabilecek çok sayıda uzay-zaman değiş tokuşu vardır. Böyle bir değiş tokuşun bir örneği, iki veya daha fazla faktörün hız artışlarına yol açabilen yuvarlak alt anahtarların veya s-kutularının önceden hesaplanması olabilir. Ancak bunlar, onları depolamak için gereken daha fazla RAM pahasına gelir .

Aşağıdaki tablodaki tahminlerin tümü mevcut 0,35 μm CMOS teknolojisine dayanmaktadır.

Donanım Takasları (128-bit Anahtar)
Kapı sayısı h bloklar Blok taşıma saatleri Boru hattı seviyeleri Saat hızı Performans (Mbit/sn) Başlangıç saatleri Yorumlar
14000 1 64 1 40 MHz 80 4 Anında alt anahtar
19000 1 32 1 40 MHz 160 40
23000 2 16 1 40 Mhz 320 20
26000 2 32 2 80 MHz 640 20
28000 2 48 3 120 MHz 960 20
30000 2 64 4 150 MHz 1200 20
80000 2 16 1 80 MHz 640 300 S kutusu RAM'leri

Kriptoanaliz[değiştir | kaynağı değiştir]

1999'da Niels Ferguson, 2256 adım kullanarak 256 bit anahtar sürümünün 16'sından 6'sını kıran imkansız bir diferansiyel saldırı yayınladı .

2000 yılı itibarıyla, Twofish blok şifresinin en iyi yayınlanmış kriptanalizi, tam 16-yuvarlak versiyonun kesilmiş bir diferansiyel kriptanalizidir. Makale, kesik diferansiyellerin olasılığının blok başına 2-57,3 olduğunu ve iyi bir kesik diferansiyel çifti bulmak için kabaca 251 seçilmiş düz metin (32  petabayt değerinde veri) gerekeceğini iddia ediyor.

Bruce Schneier, 2005 tarihli bir blog girişinde, bu makalenin tam bir kriptanalitik saldırı olmadığını, yalnızca bazı varsayımsal ayırıcı özellikler sunduğunu söyledi: "Fakat teorik bir perspektiften bile, Twofish uzaktan bile bozuk değil. Bu sonuçların herhangi bir uzantısı olmamıştır. 2000 yılında yayınlandıklarından beri."

Ayrıca Bakınız[değiştir | kaynağı değiştir]

Notlar[değiştir | kaynağı değiştir]

  1. ^ Ship Moriai; Yiqun Lisa Yin (2000). "Cryptanalysis of Twofish (II)" (PDF). 1 Haziran 2012 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 14 Ocak 2013. 
  2. ^ Niels Ferguson (5 Ekim 1999). "Impossible differentials in Twofish" (PDF). 8 Mart 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ocak 2013. 

Kaynakça[değiştir | kaynağı değiştir]

  1. Shiho Mariai; Yiqun Lisa Yin (2000) "Twofish'in Kriptanalizi (II)" 24 Şubat 2022 tarihinde Wayback Machine sitesinde arşivlendi.
  2. Niels Ferguson (1999-10-05). "Twofish'de imkansız diferansiyeller" 22 Mart 2022 tarihinde Wayback Machine sitesinde arşivlendi.
  3. "Siyahlı Takım adamları sunar: Twofish"
  4. Bruce Schneler; Doug Whiting (2000-04-07) "Beş AES finalistinin performans karşılaştırması" 22 Mart 2022 tarihinde Wayback Machine sitesinde arşivlendi.
  5. Schneier, Bruce (15 Haziran 1998). "Twofish: 128-Bit Blok şifreleme" 24 Şubat 2022 tarihinde Wayback Machine sitesinde arşivlendi.
  6. Schneier, Bruce (2005-11-23) "Twofish Kriptanaliz Söylentileri" 24 Şubat 2022 tarihinde Wayback Machine sitesinde arşivlendi.

Makaleler[değiştir | kaynağı değiştir]