Üç balık - Threefish

Üç balık
Skein permütasyon.png
Genel
Tasarımcılar Bruce Schneier , Niels Ferguson , Stefan Lucks , Doug Whiting, Mihir Bellare , Tadayoshi Kohno, Jon Callas , Jesse Walker
İlk yayınlandı 2008
İle ilgili Balon balığı , Twofish
Şifre ayrıntısı
Anahtar boyutları 256, 512 veya 1024 bit
(anahtar boyutu blok boyutuna eşittir)
Blok boyutları 256, 512 veya 1024 bit
Mermi 72 (1024 bit blok boyutu için 80)
Hız 6.1 CPB ile Core 2 .

Threefish , NIST hash fonksiyonu yarışmasında bir giriş olan Skein hash fonksiyonunun bir parçası olarak tasarlanmış simetrik anahtarla değiştirilebilir bir blok şifresidir . Threefish, önbellek zamanlama saldırılarını önlemek için S-box veya başka tablo aramaları kullanmaz ; doğrusal olmama durumu , özel OR'lerle alternatif eklemelerden gelir . Bu bağlamda, bu benzer Salsa20 , TEA , ve SHA-3 aday CubeHash ve BLAKE .

Threefish ve Skein hash fonksiyonu Bruce Schneier , Niels Ferguson , Stefan Lucks , Doug Whiting, Mihir Bellare , Tadayoshi Kohno, Jon Callas ve Jesse Walker tarafından tasarlandı.

Şifrenin açıklaması

Threefish 64 bitlik sözcükler üzerinde çalışır (işaretsiz Küçük endian tamsayıları ). düz metin kelimelerinin ve ayrıca anahtar kelimelerin sayısıdır. İnce ayar iki kelimeden oluşur. Tüm eklemeler ve çıkarmalar modulo olarak tanımlanmıştır .

Anahtar program

Üç balık farklı yuvarlak tuşlar kullanır ( : Tur sayısı). Bu anahtarları hesaplamak için orijinal anahtar kelimelere ek bir anahtar kelime eklenir . İnce ayar sözcüklerine ek bir ince ayar sözcüğü de eklenir .

Görünüşte keyfi sabitin amacı, ve diğer anahtar kelimeler arasındaki ilişkiden yararlanan bazı saldırıları engellemektir .

Yuvarlak anahtar kelimeler artık şu şekilde tanımlanmıştır:

Burada ve yuvarlak anahtarın kullanıldığı turun numarasıdır.

Mix işlevi

Threefish Mix İşlevi

Mix işlevi, bir kelime grubu alır ve başka bir kelime grubu döndürür . İşlev şu şekilde tanımlanır:

hızlı difüzyon elde etmek için seçilen sabit bir rotasyon sabitleri setidir .

Permute

Permütasyon adımı, kelimelerin konumlarını sabit bir modele göre değiştirir. Bu adımda bit düzeyinde permütasyon elde edilmez, ancak MIX işlevleri bit düzeyinde dönüşler biçiminde bit düzeyinde permütasyonlar sağladığından bu gerekli değildir. MIX işlevlerindeki Permute adımı ve rotasyon sabitleri, genel etki bir veri bloğundaki tüm bitlerin tam difüzyonu olacak şekilde seçilir.

Bu permütasyon sabit olduğundan ve anahtardan bağımsız olduğundan, onu hesaplamak için gereken süre anahtar veya düz metin hakkında bilgi sağlamaz. Bu önemlidir, çünkü çoğu modern mikroişlemcide performans optimizasyonları, bir dizi işleminin hesaplanması için harcanan zamanı, verilerin bellekte depolandığı yere bağlı hale getirebilir. Dizi aramasının anahtara veya düz metne bağlı olduğu şifrelerde (AES'deki ikame adımında olduğu gibi), şifreleme için gereken zamanı inceleyerek şifreyi zamanlama saldırılarına karşı savunmasız hale getirebilir . Bu nedenle permütasyon, kullanılan anahtardan veya şifrelenen verilerden bağımsız olarak aynı şekilde yürütülmesi gerektiğinden emin olmak için bilinçli olarak tasarlanmıştır.

Tam bir Üç Balık turu

  • eğer yuvarlak tuş sözcüğü eklenir
  • karışım işlevi ardışık kelimelere uygulanır, dönüş genişlikleri ve kelime numarasına bağlıdır
  • kelimeler, yuvarlak sayıdan bağımsız bir permütasyon kullanılarak değiştirilir

Threefish256 ve Threefish512 bu turu 72 kez uygulayın ( ). Threefish1024 bunu 80 kez uygular ( ).

Nihai işlemler

Tüm turlar uygulandıktan sonra, son yuvarlak anahtar kelimelere eklenir ve kelimeler bayt dizisine geri dönüştürülür.

Güvenlik

Ekim 2010'da birleştiren bir saldırı dönme kriptanaliz ile ribaund saldırı yayınlandı. Saldırı , Threefish-256'daki 72 merminin 53'üne ve Threefish-512'deki 72 merminin 57'sine karşı bilinen bir anahtar ayırt edici yerleştirir . Ayrıca Skein hash işlevini de etkiler . Bu, Şubat ayında yayınlanan ve sırasıyla 39 ve 42 turu kıran önceki saldırının devamı niteliğindedir. Bu saldırıya yanıt olarak, Skein ekibi Threefish'te kullanılan rotasyon sabitlerini ve dolayısıyla NIST hash fonksiyonu yarışmasının 3. turu için anahtar program sabitlerini değiştirdi.

2009'da, azaltılmış tur Threefish versiyonuna yönelik önemli bir bumerang saldırısı yayınlandı. 32 yuvarlak sürüm için, zaman karmaşıklığı ve bellek karmaşıklığı ; 33 turluk sürüm için, zaman karmaşıklığı ihmal edilebilir bir bellek kullanımıyla ilgilidir. Saldırılar ayrıca Threefish'in ince ayarlanmış sürümüne karşı da işe yarıyor: 32 turluk sürüm için, zaman karmaşıklığı ve bellek karmaşıklığı ; 33 turluk sürüm için, zaman karmaşıklığı ihmal edilebilir bellek kullanımıyla ilgilidir.

Ayrıca bakınız

Referanslar

Dış bağlantılar