İnterpolasyon saldırısı - Interpolation attack

İçinde kriptografi, bir enterpolasyon saldırısı bir tür kriptanalitik saldırı karşısında blok şifreleri.

İki saldırıdan sonra, diferansiyel kriptanaliz ve doğrusal kriptanaliz, blok şifrelerde sunuldu, bazıları yeni blok şifreleri diferansiyel ve doğrusal saldırılara karşı güvenli olduğu kanıtlanmış olan tanıtıldı. Bunların arasında bazı yinelenen blok şifreleri vardı. KN-Şifresi ve KÖPEKBALIĞI şifre. Ancak, Thomas Jakobsen ve Lars Knudsen 1990'ların sonlarında, enterpolasyon saldırısı adı verilen yeni bir saldırı başlatarak bu şifrelerin kırılmasının kolay olduğunu gösterdiler.

Saldırıda, bir cebirsel fonksiyon, bir S-kutusu. Bu basit olabilir ikinci dereceden veya a polinom veya rasyonel fonksiyon üzerinde Galois alanı. Katsayıları standart olarak belirlenebilir Lagrange enterpolasyonu teknikleri kullanarak bilinen düz metinler veri noktaları olarak. Alternatif olarak, seçili düz metinler denklemleri basitleştirmek ve saldırıyı optimize etmek için kullanılabilir.

En basit versiyonunda, bir enterpolasyon saldırısı şifreli metni düz metnin bir polinomu olarak ifade eder. Polinom göreceli olarak düşük sayıda bilinmeyen katsayıya sahipse, bir düz metin / şifreli metin (p / c) çiftleri koleksiyonu ile polinom yeniden yapılandırılabilir. Polinom yeniden yapılandırıldığında saldırgan, gizli anahtarın tam bilgisi olmadan şifrelemenin bir temsiline sahip olur.

Enterpolasyon saldırısı, gizli anahtarı kurtarmak için de kullanılabilir.

Yöntemi bir örnekle açıklamak en kolayıdır.

Misal

Yinelenen bir şifre verilsin

nerede düz metindir, çıktısı yuvarlak sır yuvarlak anahtar (gizli anahtardan türetilmiştir bazıları tarafından anahtar program ) ve bir - yuvarlak yinelenen şifre, şifreli metindir.

2 yuvarlak şifreyi düşünün. İzin Vermek mesajı gösterir ve şifreli metni gösterir.

O zaman 1. turun çıktısı

ve 2. turun çıktısı

Şifreli metni düz metin veriminin bir polinomu olarak ifade etmek

nerede anahtar bağımlı sabitlerdir.

Polinomda bilinmeyen katsayıların sayısı kadar düz metin / şifreli metin çifti kullanma , o zaman polinomu oluşturabiliriz. Bu, örneğin Lagrange Interpolation ile yapılabilir (bkz. Lagrange polinomu ). Bilinmeyen katsayılar belirlendiğinde, bir temsilimiz var gizli anahtar bilgisi olmadan şifreleme .

Varoluş

Bir -bit blok şifresi, o zaman var olası düz metinler ve bu nedenle farklı çiftler. Orada olsun bilinmeyen katsayılar . Çok ihtiyacımız olduğu için polinomdaki bilinmeyen katsayıların sayısı olarak eşleşir, bu durumda bir enterpolasyon saldırısı yalnızca .

Zaman karmaşıklığı

Polinomu oluşturmak için gereken zamanın kullanma çiftler, gerekli düz metinleri şifreleme süresine kıyasla küçüktür. Orada olsun bilinmeyen katsayılar . O zaman bu saldırı için zaman karmaşıklığı , gerektiren bilinen farklı çiftler.

Meet-In-The-Middle tarafından enterpolasyon saldırısı

Genellikle bu yöntem daha etkilidir. İşte böyle yapılır.

Verilen bir blok uzunluğuna sahip yuvarlak yinelenen şifre , İzin Vermek sonra şifrenin çıktısı olacak ile turlar Değerini ifade edeceğiz düz metnin bir polinomu olarak ve şifreli metnin bir polinomu olarak . İzin Vermek ifadesi olmak üzerinden ve izin ver ifadesi olmak üzerinden . Polinom yuvarlanana kadar şifrenin yinelenen formülünü kullanarak ileriye doğru hesaplama yoluyla elde edilir ve polinom yuvarlaktan başlayarak şifrenin yinelenen formülünden geriye doğru hesaplanarak elde edilir yuvarlak olana kadar .

Yani bunu tutmalı

ve eğer ikisi de ve Katsayıları düşük olan polinomlardır, bu durumda bilinmeyen katsayılar için denklemi çözebiliriz.

Zaman karmaşıklığı

Varsayalım ki ile ifade edilebilir katsayılar ve ile ifade edilebilir katsayılar. O zaman ihtiyacımız olacak bilinen farklı matris denklemi olarak ayarlayarak denklemi çözmek için çiftler. Bununla birlikte, bu matris denklemi bir çarpma ve toplamaya kadar çözülebilir. Bu nedenle, benzersiz ve sıfır olmayan bir çözüm elde ettiğimizden emin olmak için, en yüksek dereceye karşılık gelen katsayıyı bire ve sabit terimi sıfıra ayarladık. Bu nedenle, bilinen farklı çift ​​gereklidir. Yani bu saldırının zaman karmaşıklığı , gerektiren bilinen farklı çiftler.

Ortada Buluşma yaklaşımına göre, toplam katsayı sayısı genellikle normal yöntemi kullanmaktan daha küçüktür. Bu, yöntemi daha verimli kılar, çünkü daha az çift ​​gereklidir.

Anahtar kurtarma

Gizli anahtarı kurtarmak için enterpolasyon saldırısını da kullanabiliriz .

Son raundunu kaldırırsak - blok uzunluğuna sahip yuvarlak yinelenen şifre , şifrenin çıktısı olur . Şifreye indirgenmiş şifreyi çağırın. Buradaki fikir, son tur anahtarı hakkında bir tahmin yapmaktır. , böylece çıktıyı elde etmek için bir turun şifresini çözebiliriz küçültülmüş şifrenin. Daha sonra, tahmini doğrulamak için, azaltılmış şifreye yapılan enterpolasyon saldırısını ya normal yöntemle ya da Meet-In-The-Middle yöntemiyle kullanıyoruz. İşte böyle yapılır.

Normal yöntemle çıktıyı ifade ediyoruz düz metnin bir polinomu olarak indirgenmiş şifrenin . Polinomu arayın . O zaman ifade edebilirsek ile katsayılar, sonra kullanma bilinen farklı çiftler, polinom oluşturabiliriz. Son yuvarlak anahtarın tahminini doğrulamak için, ardından fazladan bir tutarsa ​​eşleştir

Eğer evet ise, o zaman yüksek olasılıkla son tur anahtarının tahmini doğruydu. Hayır ise, anahtar için başka bir tahminde bulunun.

Meet-In-The-Middle yöntemiyle çıktıyı ifade ediyoruz yuvarlaktan düz metnin bir polinomu olarak ve indirgenmiş şifrenin çıktısının bir polinomu olarak . Polinomları ara ve ve onları ifade etsinler ve katsayılar, sırasıyla. Sonra bilinen farklı katsayıları bulabiliriz. Son yuvarlak anahtarın tahminini doğrulamak için, ardından fazladan bir tutarsa ​​eşleştir

Evet ise, yüksek olasılıkla son tur anahtarının tahmini doğruydu. Hayır ise, anahtar için başka bir tahminde bulunun.

Doğru son tur anahtarını bulduktan sonra, kalan yuvarlak tuşlarda da benzer şekilde devam edebiliriz.

Zaman karmaşıklığı

Gizli bir yuvarlak uzunluk anahtarıyla o zaman var farklı anahtarlar. Her biri olasılıkla rastgele seçilirse doğru olması. Bu nedenle, ortalama olarak yapmak zorunda kalacağız doğru anahtarı bulmadan önce tahmin eder.

Dolayısıyla, normal yöntem ortalama zaman karmaşıklığına sahiptir. , gerektiren bilinen farklı çiftler ve Meet-In-The-Middle yöntemi ortalama zaman karmaşıklığına sahiptir , gerektiren bilinen farklı çiftler.

Gerçek dünya uygulaması

Ortada buluşma saldırısı, ters işlevi kullanan S kutularına saldırmak için bir varyantta kullanılabilir, çünkü -bit S-box sonra içinde .

Blok şifreleme KÖPEKBALIĞI S-box ile SP ağı kullanır . Şifre, az sayıda turdan sonra diferansiyel ve doğrusal kriptanalize karşı dirençlidir. Ancak 1996'da Thomas Jakobsen ve Lars Knudsen tarafından enterpolasyon saldırısı kullanılarak kırıldı. SHARK ile belirtin blok boyutlu bir SHARK sürümü kullanan bitler paralel -bit S-kutuları mermi. Jakobsen ve Knudsen, SHARK'a bir enterpolasyon saldırısı olduğunu buldu (64 bit blok şifresi) kullanma düz metinler seçildi ve SHARK'a yapılan enterpolasyon saldırısı (128 bit blok şifresi) kullanma düz metinler seçildi.

Ayrıca Thomas Jakobsen tanıttı olasılığa dayalı kullanarak enterpolasyon saldırısının versiyonu Madhu Sudan gelişmiş kod çözme algoritması Reed-Solomon kodları. Bu saldırı, düz metinler ve şifreli metinler arasındaki cebirsel bir ilişki değerlerin yalnızca bir kısmı için geçerli olduğunda bile işe yarayabilir.

Referanslar

  • Thomas Jakobsen, Lars Knudsen (Ocak 1997). Blok Şifrelere İnterpolasyon Saldırısı (PDF /PostScript ). 4. Uluslararası Çalıştayı Hızlı Yazılım Şifreleme (FSE '97), LNCS 1267. Hayfa: Springer-Verlag. s. 28–40. Alındı 2007-07-03.
  • Thomas Jakobsen (25 Ağustos 1998). Düşük Dereceli Olasılıklı Doğrusal Olmayan İlişkilerle Blok Şifrelerin Kriptanalizi (PDF / PostScript). Kriptolojideki Gelişmeler - KRİPTO '98. Santa Barbara, Kaliforniya: Springer-Verlag. s. 212–222. Alındı 2007-07-06. (Sunum videosu -de Google videosu - kullanımları Flaş )
  • Shiho Moriai; Takeshi Shimoyama; Toshinobu Kaneko (Mart 1999). Blok Şifresinin Enterpolasyon Saldırıları: SNAKE (PDF). FSE '99. Roma: Springer-Verlag. s. 275–289. Alındı 2007-09-16.[kalıcı ölü bağlantı ]
  • Amr M. Youssef; Guang Gong (Nisan 2000). Blok Şifrelere Enterpolasyon Saldırıları Hakkında (PDF). FSE 2000. New York City: Springer-Verlag. s. 109–120. Alındı 2007-07-06.
  • Kaoru Kurosawa; Tetsu Iwata; Viet Duong Quang (Ağustos 2000). Kök Bulma İnterpolasyon Saldırısı (PDF / PostScript). 7. Yıllık Uluslararası Çalıştayın Bildirileri Kriptografide Seçilmiş Alanlar (SAC 2000). Waterloo, Ontario: Springer-Verlag. s. 303–314. Alındı 2007-07-06.