300 likes | 573 Views
MATEMATİKSEL KRİPTOANALİZ. Ferhat Karakoç. İÇERİK. Kriptoanaliz Matematiksel Kriptoanaliz SP Network Lineer Kriptoanaliz. Kriptoanaliz. Kripto sisteminin sağlamlığının analizi Sağlamlık : Anahtarın elde edilememesi Analiz : Zaman Kaynak Donanim Yazilim İnsan Veri Sadece metin
E N D
MATEMATİKSEL KRİPTOANALİZ Ferhat Karakoç
İÇERİK • Kriptoanaliz • Matematiksel Kriptoanaliz • SP Network • Lineer Kriptoanaliz
Kriptoanaliz • Kripto sisteminin sağlamlığının analizi • Sağlamlık : Anahtarın elde edilememesi • Analiz : • Zaman • Kaynak • Donanim • Yazilim • İnsan • Veri • Sadece metin • Metin şifreli metin çiftleri • Sadece şifreli metin • …
Kriptoanaliz • Kriptoanaliz Saldırı • Kriptoanaliz : Sistemi analiz etmek saldırılara karşı, iyi niyetli :) • Saldırı : Sistemi kırmak
Kriptoanaliz • Matematiksel (Klasik, Teorik) Kriptoanaliz : Algoritmaya yönelik analiz • Yan Kanal Saldırıları : Algoritmanın uygulanmasına yönelik saldırı • Güç Harcama • Zaman
Matematiksel Kriptoanaliz • Algoritmaya yönelik analiz • Tarihi : • Bilinen kayıtlı ilk kriptoanaliz açıklaması 9.yy da Matematikçi olan Ebu Yusuf Yakup tarafından “A Manuscript on Deciphering Cryptographic Messages. ” eserinde yer alıyor. Bu yöntem frekans analizine dayanıyor. • Sonraları şifreleme daha karmaşık hale gelince matematik daha baskın yer alıyor kriptoanalizde (2. Dünya Savaşı ve sonrası) • Yöntemler : • Frekans Analizi • Lineer Analiz • Farksal Analiz • İntegral Analiz • İstatiksel Analiz • …
Lineer Analiz • SPN (Substitution – Permutation Network, “İterated Chipher”, “Block Chipher”, …) kripto sistemlerine uygulanıyor • Metin ve şifreli metin çiftleri gerekiyor
SP Network • “Substitution – Permutation Network” • Blok şifreleme • Raundlardan oluşuyor • Her raundda (son raund hariç) “substitution” ve “permutation” işlemi ve raund anahtarı ile işlem yapılıyor
x u1 v1 w1 u2 v2 w2 u3 v3 w3 u4 v4 y SP Network Raund anahtarları K anahtarı kullanılarak bilinen bir algoritma ile üretiliyor. Şifreleme
x u1 v1 w1 u2 v2 w2 u3 v3 w3 u4 v4 y SP Network Şifre Çözme g fonksiyonu bire-bir ve örten
x u1 v1 w1 u2 v2 w2 u3 v3 w3 u4 v4 y SP Network • Kripto sistemi
x u1 v1 w1 u2 v2 w2 u3 v3 w3 u4 v4 y SP Network • Şifreleme Algoritması
Lineer Kriptoanaliz • Metnin bazı bitleri ile son raunddan önceki bazı bitler ile yüksek olasılıklı bir doğrusal ilişki kurma • Elde metin-şifreli metin çiftleri var • Son raunddaki bütün olası anahtar bitleri ile deneme yapılır ve ilişkiyi en fazla sağlayan anahtar bitleri büyük olasılıkla doğru bulunur
Lineer Kriptoanaliz • Öncül teorem • X1, X2,…{0,1} değerlerini alan rastlantı değişkenleri olsun • Xi, Xjbağımsız ise
Lineer Kriptoanaliz • “bias”
Lineer Kriptoanaliz • “S-box”ların doğrusal denklemlerinin tahmini • S-box : • giriş : X=(x1,…,xm), çıkış : Y=(y1,…,yn) • Aşağıdaki ifadeler yazılabilir;
Lineer Kriptoanaliz • “S-box”ların doğrusal denklemlerinin tahmini • Şimdi ifadesinin “bias” değerini hesaplayabiliriz
Lineer Kriptoanaliz • olma olasılığı : bu ifadeyi sağlayan satır sayısı / 16 • “Bias” = 0 • ifadesinin “bias” değeri = -3/8
Lineer Kriptoanaliz • 28=256 olası raslantı değişikeninin “bias” değeri hesaplanır. Bu raslantı değişkenlerini aşağıdaki şekilde ifade edebiliriz • NL(a,b)-8 : ifadeyi sağlayan satır sayısı
Lineer Kriptoanaliz NL(a,b)-8
Lineer Kriptoanaliz • S-box lar lineerleştirilerek tüm SPN lineerleştirilir son round hariç
x u1 v1 w1 u2 v2 w2 u3 v3 w3 u4 v4 y Lineer Kriptoanaliz Bias : 1/4 Bias : -1/4 Bias : -1/4 Bias : -1/4 Öncül teoremden Bias : 23(1/4)(-1/4)3=-1/32
x u1 v1 w1 u2 v2 w2 u3 v3 w3 u4 v4 y Lineer Kriptoanaliz
x u1 v1 w1 u2 v2 w2 u3 v3 w3 u4 v4 y Lineer Kriptoanaliz • İfade sadece metin bitlerinden, u4 ve anahtar • Bitlerinden oluşuyor. • İfadesi sabit bir değer, 0 ya da 1. • ifadesinin “bias” değeri : -1/32 yada 1/32 • anahtar bitlerine bağlı olarak
Lineer Kriptoanaliz • ifadesinin bias değeri ne kadar 0 dan uzak ise lineerleştirme o ölçüde başarlı demek oluyor • Elimizde T adet metin – şifreli metin çifti olsun aynı anahtar ile şifrelenmiş. Bu lineer saldırı ile bitlerini elde edebiliyoruz
Lineer Kriptoanaliz • Olası 2^8 = 256 anahtar parçası için metin – şifreli metin çiftlerinden kaç tanesi için ifadesinin 0 olduğu hesaplanır. • Bunlardan T/2±T/32 tanesini doğru sağlayan muhtemel anahtar parçasıdır.
Lineer Kriptoanaliz Algorithm : LINEARATTACK( )
Kaynaklar • “Cryptography Theory and Practice” / Douglas R. Stinson • www.wikipeida.org