Üç balık - Threefish

Üç balık
Skein permütasyon.png
Genel
TasarımcılarBruce Schneier, Niels Ferguson, Stefan Lucks, Doug Whiting, Mihir Bellare Tadayoshi Kohno, Jon Callas Jesse Walker
İlk yayınlandı2008
İle ilgiliBalon balığı, İki balık
Şifre ayrıntısı
Anahtar boyutları256, 512 veya 1024 bit
(anahtar boyutu blok boyutuna eşittir)
Blok boyutları256, 512 veya 1024 bit
Mermi72 (1024 bit blok boyutu için 80)
Hız6.1 cpb açık Çekirdek 2.[1]

Üç balık bir simetrik anahtar ayarlanabilir blok şifresi bir parçası olarak tasarlanmış Skein hash işlevi, bir giriş NIST karma işlevi rekabeti. Üç balık hayır kullanır S kutuları veya önbellekten kaçınmak için diğer tablo aramaları zamanlama saldırıları;[1] doğrusal olmaması, alternatif eklemelerden gelir özel OR'ler. Bu açıdan benzer Salsa20, ÇAY ve SHA-3 adayları CubeHash ve BLAKE.

Threefish ve Skein hash işlevi, Bruce Schneier, Niels Ferguson, Stefan Lucks, Doug Whiting, Mihir Bellare Tadayoshi Kohno, Jon Callas ve Jesse Walker.

Şifrenin açıklaması[1]

Threefish 64 kelimede işe yarar bitler (imzasız 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 tanımlanmıştır modulo .

Anahtar program

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

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

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

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

Mix işlevi

Threefish Mix İşlevi

Karıştırma işlevi bir grup kelimeyi alır ve başka bir kelime grubu döndürür . İşlev şu şekilde tanımlanır:

hızlı elde etmek için seçilen sabit bir rotasyon sabitleri kümesidir. yayılma.

Permute

Permütasyon adımı, kelimelerin pozisyonlarını sabit bir modele göre değiştirir. Bu adımda bit seviyesinde permütasyon elde edilmez, ancak MIX fonksiyonları bit seviyesinde rotasyonlar şeklinde bit seviyesinde permütasyonlar sağladığından bu gerekli değildir.[kaynak belirtilmeli ] MIX fonksiyonlarındaki Permute adımı ve rotasyon sabitleri, genel etki bir veri bloğundaki tüm bitlerin tam difüzyonu olacak şekilde seçilir.[kaynak belirtilmeli ]

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 (ikame durumunda olduğu gibi) AES adımında), şifreyi savunmasız hale getirebilir zamanlama saldırıları şifreleme için gereken süreyi inceleyerek. Bu nedenle permütasyon, kullanılan anahtardan veya şifrelenen veriden bağımsız olarak aynı şekilde yürütülmesini sağlamak için kasıtlı olarak tasarlanmıştır.[kaynak belirtilmeli ]

Tam bir Üç Balık turu

  • Eğer yuvarlak anahtar kelimeye eklendi
  • karıştırma işlevi ardışık kelimelere uygulanır, dönüş genişlikleri şunlara bağlıdır ve kelime numarası
  • 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 bir bayt dizisine dönüştürülür.

Güvenlik

Ekim 2010'da, birleştiren bir saldırı rotasyonel kriptanaliz ile ribaund saldırısı basıldı. Saldırı bir bilinen anahtar ayırt edici Threefish-256'daki 72 raundun 53'üne ve Threefish-512'deki 72 raundun 57'sine karşı. Aynı zamanda Skein Özet fonksiyonu.[2] Bu, Şubat ayında yayınlanan ve sırasıyla 39 ve 42 turu kıran önceki saldırının devamı niteliğindedir.[3] Bu saldırıya yanıt olarak, Skein ekibi Threefish'te kullanılan rotasyon sabitlerini ve dolayısıyla anahtar program NIST hash işlevi yarışmasının 3. turu için sabitler.[1]

2009'da ilgili bir anahtar bumerang saldırısı indirgenmiş tur Threefish versiyonuna karşı yayınlandı. 32 turluk versiyon için zaman karmaşıklığı ve hafıza karmaşıklığı ; 33 turluk versiyon için zaman karmaşıklığı önemsiz bir bellek kullanımıyla. 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 hafıza karmaşıklığı ; 33 turluk versiyon için zaman karmaşıklığı önemsiz bir bellek kullanımıyla.[4]

Ayrıca bakınız

Referanslar

  1. ^ a b c d Ferguson; et al. (2010-10-01). "Skein Hash Fonksiyon Ailesi" (PDF). Alıntı dergisi gerektirir | günlük = (Yardım) Threefish'in tanıtıldığı makale.
  2. ^ Dmitry Khovratovich; Ivica Nikolic; Christian Rechberger (2010-10-20). "Azaltılmış Skein'e Dönüşlü Sıçrama Saldırıları". Alıntı dergisi gerektirir | günlük = (Yardım)
  3. ^ Dmitry Khovratovich ve Ivica Nikolić (2010). "ARX'in Rotasyonel Kriptanalizi" (PDF). Lüksemburg Üniversitesi. Alıntı dergisi gerektirir | günlük = (Yardım)
  4. ^ Jiazhe Chen; Keting Jia (2009-11-01). "Round-Reduced Threefish-512'de Geliştirilmiş İlgili Anahtar Boomerang Saldırıları".

Dış bağlantılar