Prince (şifre)

Prince (şifre), düşük gecikmeli, kontrolsüz donanım uygulamalarını hedefleyen bir blok şifredir. Sözde FX yapısına dayanmaktadır. En dikkate değer özelliği "alfa yansımasıdır": Şifre çözme, hesaplanması çok ucuz olan bir anahtarla şifrelemedir. Diğer "hafif" şifrelerin çoğundan farklı olarak az sayıda tura sahiptir ve bir turu oluşturan katmanların mantık derinliği düşüktür. Sonuç olarak, tamamen kontrolsüz uygulama AES veya PRESENT'ten çok daha yüksek frekanslara ulaşabilir. Yazarlara göre aynı zaman kısıtlamaları ve teknolojiler için Prince, PRESENT- 80'den 6-7 kat ve AES 128' den 14-15 kat daha az alan kullanır.

Genel bakış 
Blok boyutu 64 bit ve anahtar boyutu 128 bittir. Anahtar K0 ve K1 olarak iki 64 bit anahtara bölünmüştür. Giriş K0 ile XOR'lanır, daha sonra K1 kullanılarak bir çekirdek işlev tarafından işlenir. Çekirdek işlevin çıktısı, nihai çıktıyı üretmek için K0' tarafından XOR' lanır (K0'; K0' dan türetilen bir değerdir). Şifre çözme, K0 ve K0' değiş tokuş edilerek ve çekirdek işlevi ile beslenerek yapılır, K1 sabit bir alfa ile ifade edilir. Çekirdek işlev, toplamda 11 tur için; 5 "ileri" tur, 1 orta tur ve 5 "geri" tur içerir. Original makale, 12 turdan açıkça bahsetmeden bahseder; orta tur iki tur olarak sayılırsa(doğrusal olmayan iki katman içerdiğinden), o zaman toplam tur sayısı 12' dir. Bir ileri tur, K1 ile XORed yuvarlak sabiti ile başlar, sonra doğrusal olmayan bir katman S ve son olarak lineer bir katman M. "geri" turlar, sabitleri dışında "ileri" turların tam tersidir. Doğrusal olmayan katman, belirli 8 S-kutularının afin eşdeğeri arasından seçilebilen tek bir 4 bitlik S-kutusuna dayanmaktadır. Doğrusal katman, 64*64' lük bir matris M' ile çarpmadan ve AES' dekine benzer bir kaydırma satırından oluşur ancak bayt yerine 4 bitlik küçük parçalar üzerinde çalışır. Orta tur, S katmanının ardından M' ve S-1 katmanından oluşur.

Kriptanaliz 
Prince şifresinin kriptanalizini teşvik etmek için arkasındaki kuruluşlar 

The paper "Security analysis of PRINCE" yarattı. "Prince' in güvenlik analizi" makalesi, tam ve yuvarlak azaltılmış varyantlara, özellikle de karmaşıklık 125.1 saldırısına ve 33 veri gerektiren ilgili bir anahtar saldırıya yönelik çeşitli saldırılar sunar.

FX yapıları için genel bir zaman-bellek-veri değiş tokuşu, Prince' e yapılan bir başvuruyla yayınlandı. Makale, FX yapısının geniş çapta konuşlandırılmış bir şifrenin (DES-X'in DES için yaptığı gibi) güvenliğini arttırmak için iyi bir çözüm olduğunu ancak bunun yeni tasarımlar için şüpheli bir seçim olduğunu savunuyor. Bu özel saldırı türüne karşı onu güçlendirmek için Prince şifresine bir ince ayar sunuyor.

Tam şifrede bir biclique kriptoanaliz saldırısı yayınlandı. Anahtar arama alanını 21,28 oranında azalttığı için tasarımcıların tahminleriyle biraz örtüşüyor (orijinal makale bir faktör 2'den bahsediyor).

"PRINCE-Like Ciphers'ın Yansıma Kriptanalizi" makalesi, alfa yansımasına odaklanır ve alfa sabiti için seçim kriterleri belirler. Kötü seçilmiş bir alfanın tam şifre üzerinde etkili saldırılara yol açacağını gösterir; ancak tasarımcılar tarafından rastgele seçilen değer zayıf olanlar arasında değildir. Sınırlı sayıda yuvarlak sürümde çeşitli ortadaki buluşma saldırıları yayınlandı.

Çok kullanıcılı ayardaki bir saldırı, 265 zaman içinde 232 kullanıcıdan oluşan bir set içerisinden 2 kullanıcının anahtarını bulabilir. Toplam karmaşıklığı 118.56 bit olan 10 turda bir saldırı yayınlandı. 257 operasyonun zaman karmaşıklığına sahip 7 turda bir saldırı yayınlandı. Rastgele 4 bit nibble hata modeli altında 7 hatalı şifre metni kullanılarak bir diferansiyel hata saldırısı yayınlandı. "Yuvarlak indirgenmiş PRINCE şifre kriptoanalizi için yeni yaklaşımlar" makalesi, 6 tura kadar azaltılmış tur sürümlerinde bumerang saldırısı ve bilinen açık metin saldırısı sunar. 2015 yılında birkaç saldırı yayınlandı, ancak bu saldırılar ücretsiz olarak sunulmuyor.

Azaltılmış yuvarlak versiyonlarda en pratik saldırılar; Birkaç ortadaki buluşma saldırısı, yuvarlak küçültülmüş sürümlerde yayınlandı.

Kaynakça 

Blok şifreler
Şifreleme