Blok şifresi - Block cipher

İçinde kriptografi, bir blok şifreleme bir deterministik algoritma sabit uzunlukta gruplar üzerinde çalışan bitler, aranan bloklar. Değişmeyen bir dönüşüm kullanır, yani bir simetrik anahtar. Onlar belirtildi temel bileşenler birçok kişinin tasarımında kriptografik protokoller ve yaygın olarak uygulamak için kullanılır şifreleme veri alışverişi protokolleri de dahil olmak üzere büyük miktarda veri.

Güvenli bir blok şifresi bile, yalnızca bir seferde tek bir veri bloğunun sabit bir anahtar kullanılarak şifrelenmesi için uygundur. Çok sayıda operasyon modları gizlilikle ilgili güvenlik hedeflerine ulaşmak için güvenli bir şekilde tekrar tekrar kullanılmalarına izin verecek şekilde tasarlanmıştır ve özgünlük. Bununla birlikte, blok şifreler aynı zamanda diğer şifreleme protokollerinde yapı taşları olarak da yer alabilir. evrensel hash fonksiyonları ve sözde rasgele sayı üreteçleri.

Tanım

Bir blok şifresi iki eşli algoritmalar, biri şifreleme için, Eve diğeri şifre çözme için, D.[1] Her iki algoritma da iki girişi kabul eder: boyutta bir giriş bloğu n bitler ve bir anahtar boyut k bitler; ve her ikisi de bir n-bit çıktı bloğu. Şifre çözme algoritması D olarak tanımlanır ters fonksiyon şifreleme, yani D = E−1. Daha resmi,[2][3] bir blok şifresi, bir şifreleme işlevi tarafından belirtilir

giriş olarak bir anahtar alan K bit uzunluğunda k, aradı anahtar boyutuve biraz dize P uzunluk n, aradı blok boyutuve bir dize döndürür C nın-nin n bitler. P denir düz metin, ve C olarak adlandırılır şifreli metin. Her biri için K, işlev EK(P) üzerinde ters çevrilebilir bir eşleme olması gerekir {0,1}n. Tersi E bir işlev olarak tanımlanır

anahtar almak K ve bir şifreli metin C düz metin değeri döndürmek için P, öyle ki

Örneğin, bir blok şifreleme şifreleme algoritması, giriş olarak 128 bitlik bir düz metin bloğu alabilir ve karşılık gelen 128 bitlik bir şifreli metin bloğu çıkarabilir. Tam dönüşüm, ikinci bir giriş olan gizli anahtar kullanılarak kontrol edilir. Şifre çözme benzerdir: Bu örnekte şifre çözme algoritması, gizli anahtarla birlikte 128 bitlik bir şifreli metin bloğu alır ve orijinal 128 bitlik düz metin bloğunu verir.[4]

Her anahtar için K, EK bir permütasyon (bir önyargılı eşleme) giriş blokları kümesi üzerinde. Her anahtar, kümeden bir permütasyon seçer. olası permütasyonlar.[5]

Tarih

Blok şifrelerin modern tasarımı, yinelenen bir ürün şifresi. 1949'daki ufuk açıcı yayınında, Gizlilik Sistemleri İletişim Kuramı, Claude Shannon ürün şifrelerini analiz ettiler ve bunları, aşağıdaki gibi basit işlemleri birleştirerek güvenliği etkili bir şekilde iyileştirmenin bir yolu olarak önerdiler. ikameler ve permütasyonlar.[6] Yinelenen ürün şifreleri, her biri orijinal anahtardan türetilen farklı bir alt anahtar kullanan birden çok turda şifreleme gerçekleştirir. Bu tür şifrelerin yaygın bir uygulaması Feistel ağı sonra Horst Feistel, özellikle DES şifre.[7] Blok şifrelere ilişkin diğer birçok gerçekleşme, örneğin AES, olarak sınıflandırılır ikame-permütasyon ağları.[8]

Hepsinin kökü kriptografik içinde kullanılan blok biçimleri Ödeme Kartı Sektörü Veri Güvenliği Standardı (PCI DSS) ve Amerikan Ulusal Standartlar Enstitüsü (ANSI) standartları, Atalla Anahtar Bloğu (AKB), önemli bir yenilikti Atalla Kutusu, ilk donanım güvenlik modülü (HSM). 1972 yılında Mohamed M. Atalla, kurucusu Atalla Corporation (şimdi Utimaco Atalla ) ve 1973'te piyasaya sürüldü. AKB, güvenli bir şekilde değiş tokuş etmek için gerekli olan bir anahtar bloğuydu. simetrik anahtarlar veya PIN'ler diğer aktörlerle bankacılık sektörü. Bu güvenli değişim, AKB formatı kullanılarak gerçekleştirilir.[9] Atalla Kutusu hepsinin% 90'ından fazlasını koruyor ATM 1998'den beri faaliyette olan ağlar,[10] ve Atalla ürünleri, 2014 itibariyle hala dünyadaki ATM işlemlerinin çoğunu güvence altına almaktadır.[11]

DES şifresinin Amerika Birleşik Devletleri Ulusal Standartlar Bürosu (daha sonra ABD Ulusal Standartlar ve Teknoloji Enstitüsü, NIST) 1977'de modern blok şifre tasarımının kamusal anlayışında temeldi. Aynı zamanda akademik gelişimini de etkiledi. kriptanalitik saldırılar. Her ikisi de diferansiyel ve doğrusal kriptanaliz DES tasarımı üzerine yapılan çalışmalardan ortaya çıktı. 2016 itibariyle Sağlam olmanın yanı sıra bir blok şifresinin güvenli olması gereken bir saldırı teknikleri paleti vardır. kaba kuvvet saldırıları.

Tasarım

Yinelenen blok şifreleri

Çoğu blok şifreleme algoritması şu şekilde sınıflandırılır: yinelenen blok şifreleri Bu, sabit boyutlu blokları dönüştürdükleri anlamına gelir. düz metin aynı boyutlu bloklara şifreli metin olarak bilinen tersinir bir dönüşümün tekrarlanan uygulamasıyla yuvarlak işlev, her yinelemede bir yuvarlak.[12]

Genellikle yuvarlak işlev R farklı alır yuvarlak tuşlar Kben orijinal anahtardan türetilen ikinci girdi olarak:[kaynak belirtilmeli ]

nerede düz metin ve şifreli metin r mermi sayısı olmak.

Sık sık, anahtar beyazlatma buna ek olarak kullanılır. Başlangıçta ve sonunda, veriler temel materyal ile değiştirilir (genellikle ÖZELVEYA, ancak toplama ve çıkarma gibi basit aritmetik işlemler de kullanılır):[kaynak belirtilmeli ]

Standart yinelenen blok şifreleme tasarım şemalarından biri göz önüne alındığında, sadece çok sayıda tur kullanarak kriptografik olarak güvenli bir blok şifresi oluşturmak oldukça kolaydır. Ancak bu, şifreyi verimsiz hale getirecektir. Bu nedenle verimlilik, profesyonel şifreler için en önemli ek tasarım kriteridir. Ayrıca, önbellek durumu veya yürütme süresi aracılığıyla gizli verileri sızdırabilecek dal tahmini ve girişe bağlı bellek erişimleri gibi yan kanal saldırılarını önlemek için iyi bir blok şifresi tasarlanmıştır. Ek olarak, küçük donanım ve yazılım uygulamaları için şifre kısa olmalıdır. Son olarak, şifre kolayca şifrelenebilir olmalıdır, öyle ki şifrenin kaç tura indirgenmesi gerektiği gösterilebilir, böylece mevcut şifreleme saldırıları işe yarayabilir - ve tersine, gerçek tur sayısının gösterilebilir. onlara karşı korunmak için yeterince büyük.[kaynak belirtilmeli ]

İkame-permütasyon ağları

16 bitlik bir düz metin bloğunu 16 bitlik bir şifreli metin bloğuna şifreleyen 3 turlu bir ikame-permütasyon ağının bir taslağı. S kutuları, SbenP kutuları aynı Pve yuvarlak tuşlar Kben.

Bir önemli yinelenen blok şifreleme türü olarak bilinen ikame-permütasyon ağı (SPN) düz metin bloğunu ve anahtarı girdi olarak alır ve aşağıdakilerden oluşan birkaç alternatif tur uygular ikame aşaması ardından bir permütasyon aşaması —Her bir şifreli metin çıktısı bloğu üretmek için.[13] Doğrusal olmayan ikame aşaması, anahtar bitleri düz metininkilerle karıştırarak Shannon'ın bilinç bulanıklığı, konfüzyon. Doğrusal permütasyon aşaması daha sonra fazlalıkları dağıtır, yayılma.[14][15]

Bir ikame kutusu (S-kutusu) küçük bir girdi bitleri bloğunu başka bir çıktı bit bloğu ile değiştirir. Bu ikame olmalı bire bir, tersinirliği sağlamak için (dolayısıyla şifre çözme). Güvenli bir S-box, bir giriş bitini değiştirmenin, ortalama olarak çıkış bitlerinin yaklaşık yarısını değiştirmesi özelliğine sahip olacak ve çığ etkisi - yani, e. her çıktı bitinin her girdi bitine bağlı olacağı özelliğine sahiptir.[16]

Bir permütasyon kutusu (P-kutusu) bir permütasyon tüm bitlerden: bir turun tüm S kutularının çıktılarını alır, bitlere izin verir ve bunları bir sonraki turun S kutularına besler. İyi bir P-box, herhangi bir S-box'ın çıkış bitlerinin mümkün olduğu kadar çok S-box girişine dağıtılması özelliğine sahiptir.[kaynak belirtilmeli ]

Her turda, yuvarlak anahtar (örneğin, S kutuları ve P kutuları kullanılarak bazı basit işlemlerle anahtardan elde edilir), tipik olarak bazı grup işlemleri kullanılarak birleştirilir. ÖZELVEYA.[kaynak belirtilmeli ]

Şifre çözme basitçe işlemi tersine çevirerek (S-kutuları ve P-kutularının tersini kullanarak ve yuvarlak tuşları ters sırayla uygulayarak) yapılır.[17]

Feistel şifreleri

DES ve Blowfish gibi birçok blok şifreleme, Feistel şifreleri

İçinde Feistel şifresi, şifrelenecek düz metin bloğu iki eşit boyutlu yarıya bölünür. Yuvarlak işlevi, bir alt anahtar kullanılarak bir yarısına uygulanır ve ardından çıktı diğer yarıyla XOR'lanır. İki yarım daha sonra değiştirilir.[18]

İzin Vermek yuvarlak işlev ve izin ver turların alt anahtarları olun sırasıyla.

Ardından temel işlem şu şekildedir:[18]

Düz metin bloğunu iki eşit parçaya bölün, (, )

Her tur için , hesaplamak

.

O halde şifreli metin .

Bir şifreli metnin şifresini çözme hesaplama yoluyla gerçekleştirilir

.

Sonra yine düz metindir.

Feistel modelinin bir avantajı ikame-permütasyon ağı bu yuvarlak işlev mi ters çevrilebilir olması gerekmez.[19]

Lai – Massey şifreleri

Lai – Massey planı. Onu kullanan arketipik şifre FİKİR.

Lai – Massey planı, aşağıdakilere benzer güvenlik özellikleri sunar: Feistel yapısı. Ayrıca, yuvarlak işlevin avantajını paylaşır. ters çevrilebilir olması gerekmez. Diğer bir benzerlik de giriş bloğunu iki eşit parçaya ayırmasıdır. Ancak, yuvarlak işlevi ikisi arasındaki farka uygulanır ve sonuç daha sonra her iki yarım bloğa da eklenir.

İzin Vermek yuvarlak işlev ve yarım yuvarlak bir fonksiyon ve izin ver raundlar için alt anahtarlar olun sırasıyla.

Ardından temel işlem şu şekildedir:

Düz metin bloğunu iki eşit parçaya bölün, (, )

Her tur için , hesaplamak

nerede ve

O halde şifreli metin .

Bir şifreli metnin şifresini çözme hesaplama yoluyla gerçekleştirilir

nerede ve

Sonra yine düz metindir.

Operasyonlar

ARX ​​(ekle-döndür-XOR)

Birçok modern blok şifresi ve karması ARX algoritmalar - yuvarlak işlevi yalnızca üç işlemi içerir: (A) modüler toplama, (R) rotasyon sabit rotasyon miktarlarıyla ve (X) ÖZELVEYA. Örnekler şunları içerir: ChaCha20, Zerre, XXTEA, ve BLAKE. Çoğu yazar, bir tür ARX ağı çizer. veri akış diyagramı, böyle bir yuvarlak işlevi göstermek için.[20]

Bu ARX işlemleri, donanım ve yazılım açısından nispeten hızlı ve ucuz oldukları için popülerdir, uygulamaları son derece basit hale getirilebilir ve ayrıca sabit zamanda çalıştıkları için ve bu nedenle zamanlama saldırıları. rotasyonel kriptanaliz teknik bu tür yuvarlak işlevlere saldırmaya çalışır.

Diğer işlemler

Blok şifrelerde sıklıkla kullanılan diğer işlemler, veriye bağlı rotasyonları içerir. RC5 ve RC6, bir ikame kutusu olarak uygulanan arama tablosu de olduğu gibi Veri Şifreleme Standardı ve Gelişmiş Şifreleme Standardı, bir permütasyon kutusu ve çarpma olduğu gibi FİKİR.

Operasyon modları

Bir görüntünün güvenli olmayan şifrelenmesi nedeniyle elektronik kod kitabı (ECB) modu kodlaması.

Tek başına bir blok şifreleme, şifrenin blok uzunluğunun yalnızca tek bir veri bloğunun şifrelenmesine izin verir. Değişken uzunluklu bir mesaj için, veriler önce ayrı şifre bloklarına bölünmelidir. En basit durumda, elektronik kod kitabı (ECB) modunda, bir mesaj önce şifrenin blok boyutunun ayrı bloklarına bölünür (muhtemelen son bloğu genişletir. dolgu malzemesi bit) ve ardından her blok bağımsız olarak şifrelenir ve şifresi çözülür. Bununla birlikte, böyle saf bir yöntem genellikle güvensizdir çünkü eşit düz metin blokları her zaman eşit şifreli metin blokları oluşturur (aynı anahtar için), bu nedenle düz metin mesajındaki modeller şifreli metin çıktısında belirgin hale gelir.[21]

Bu sınırlamanın üstesinden gelmek için birkaç sözde şifreleme işlem modlarını engelle tasarlandı[22][23] ve NIST 800-38A gibi ulusal önerilerde belirtilmiştir[24] ve BSI TR-02102[25] ve gibi uluslararası standartlar ISO / IEC 10116.[26] Genel kavram kullanmaktır rastgeleleştirme düz metin verilerinin ek bir giriş değerine dayalı, genellikle başlatma vektörü, denen şeyi yaratmak için olasılıklı şifreleme.[27] Popüler şifre bloğu zincirleme (CBC) modu, şifrelemenin güvenli düz metin mesajıyla birlikte iletilen başlatma vektörü rastgele veya sözde rastgele değer, bir özel veya şifrelenmeden önceki ilk düz metin bloğuna. Ortaya çıkan şifreli metin bloğu daha sonra bir sonraki düz metin bloğu için yeni başlatma vektörü olarak kullanılır. İçinde şifre geri bildirimi (CFB) modu, bir kendi kendini senkronize eden akış şifresi, başlatma vektörü önce şifrelenir ve ardından düz metin bloğuna eklenir. çıktı geri bildirimi (OFB) modu, tekrar tekrar başlatma vektörünü şifreler. anahtar akışı bir emülasyonu için eşzamanlı akış şifresi. Daha yeni sayaç (CTR) modu benzer şekilde bir anahtar akışı yaratır, ancak başlatma vektörleri olarak yalnızca benzersiz ve rastgele (sözde) değerlere ihtiyaç duymama avantajına sahiptir; gerekli rastgelelik, başlatma vektörünü bir blok sayacı olarak kullanarak ve bu sayacı her blok için şifreleyerek dahili olarak türetilir.[24]

Bir güvenlik teorik bakış açısı, operasyon modları olarak bilinen şeyi sağlamalıdır anlamsal güvenlik.[28] Gayri resmi olarak, bilinmeyen bir anahtar altında bir şifreli metin verildiğinde, kişinin şifreli metni görmeden bildiği şey üzerine şifreli metinden (mesajın uzunluğu dışında) pratik olarak herhangi bir bilgi çıkaramayacağı anlamına gelir. ECB modu haricinde, yukarıda tartışılan tüm modların sözde bu özelliği sağladığı gösterilmiştir. seçili düz metin saldırıları.

Dolgu malzemesi

CBC modu gibi bazı modlar yalnızca tam düz metin bloklarında çalışır. Bir mesajın son bloğunu sıfır bit ile genişletmek, bir alıcının yalnızca dolgu bitlerinin miktarında farklılık gösteren mesajları kolayca ayırt etmesine izin vermediği için yetersizdir. Daha da önemlisi, bu kadar basit bir çözüm, çok verimli oracle saldırıları dolgu.[29] Uygun dolgu şeması bu nedenle, son düz metin bloğunu şifrenin blok boyutuna genişletmek için gereklidir. Standartlarda ve literatürde açıklanan birçok popüler planın, oracle saldırılarına karşı savunmasız olduğu gösterilmiş olsa da,[29][30] bir bit ekleyen ve ardından son bloğu sıfır bitlerle genişleten, "dolgu yöntemi 2" olarak standartlaştırılmış bir çözüm ISO / IEC 9797-1,[31] bu saldırılara karşı güvenli olduğu kanıtlanmıştır.[30]

Kriptanaliz

Kaba kuvvet saldırıları

Bu özellik, şifrenin güvenliğinin ikinci dereceden düşmesine neden olur ve bir blok boyutu seçerken hesaba katılması gerekir. Büyük blok boyutları, algoritmanın çalışmasının verimsiz hale gelmesine neden olabileceğinden, bir değiş tokuş vardır.[32] Daha önceki blok şifreleri DES tipik olarak 64 bitlik bir blok boyutu seçmişken, AES 128 bit veya daha fazla blok boyutlarını destekler, bazı şifreler farklı blok boyutlarını destekler.[33]

Diferansiyel kriptanaliz

Doğrusal kriptanaliz

Doğrusal kriptanaliz bulmaya dayalı bir kriptanaliz şeklidir afin a eylemine yaklaşımlar şifre. Doğrusal kriptanaliz, blok şifrelere yönelik en yaygın kullanılan iki saldırıdan biridir; diğeri diferansiyel kriptanaliz.[34]

Keşif, Mitsuru Matsui tekniği ilk uygulayan FEAL şifre (Matsui ve Yamagishi, 1992).[35]

İntegral kriptanaliz

İntegral kriptanaliz özellikle ikame-permütasyon ağlarına dayalı şifreleri bloke etmek için geçerli olan bir kriptanalitik saldırıdır. Sabit bir XOR farkına sahip seçilmiş düz metin çiftlerini kullanan diferansiyel kriptanalizin aksine, integral kriptanaliz, bir kısmı sabit tutulan ve diğer kısmı tüm olasılıklar arasında değişen, seçilen düz metinlerin setlerini veya hatta çoklu setlerini kullanır. Örneğin, bir saldırı, 8 biti dışında tümü aynı olan, ancak tümü bu 8 bitte farklı olan 256 seçilmiş düz metin kullanabilir. Böyle bir küme zorunlu olarak 0 olan bir XOR toplamına sahiptir ve karşılık gelen şifre metni kümelerinin XOR toplamları, şifrenin çalışması hakkında bilgi sağlar. Metin çiftlerinin farklılıkları ile daha büyük metin setlerinin toplamları arasındaki bu karşıtlık, kalkülüs terminolojisini ödünç alarak "integral kriptanaliz" ismine ilham verdi.[kaynak belirtilmeli ]

Diğer teknikler

Gelişimi bumerang saldırısı etkinleştirildi diferansiyel kriptanaliz daha önce farklı saldırılara karşı güvenli olduğu kabul edilen birçok şifreye uygulanacak teknikler

Doğrusal ve diferansiyel kriptanalize ek olarak, büyüyen bir saldırı kataloğu vardır: kesik diferansiyel kriptanaliz kısmi diferansiyel kriptanaliz, integral kriptanaliz kare ve integral saldırıları kapsayan, slayt saldırıları, bumerang saldırıları, XSL saldırısı, imkansız diferansiyel kriptanaliz ve cebirsel saldırılar. Yeni bir blok şifre tasarımının herhangi bir güvenilirliğe sahip olması için, bilinen saldırılara karşı güvenlik kanıtı göstermesi gerekir.[kaynak belirtilmeli ]

Sağlanabilir güvenlik

Verilen bir kodda bir blok şifresi kullanıldığında Kullanma usulü, çalışma şekli sonuçta ortaya çıkan algoritma ideal olarak blok şifrenin kendisi kadar güvenli olmalıdır. ECB (yukarıda tartışılmıştır) kesinlikle bu özellikten yoksundur: temeldeki blok şifresinin ne kadar güvenli olduğuna bakılmaksızın, ECB moduna kolayca saldırılabilir. Öte yandan, CBC modunun, altta yatan blok şifresinin de aynı şekilde güvenli olduğu varsayımı altında güvenli olduğu kanıtlanabilir. Bununla birlikte, böyle ifadeler yapmanın, bir şifreleme algoritmasının veya bir blok şifresinin "güvenli" olmasının ne anlama geldiğine dair resmi matematiksel tanımlar gerektirdiğini unutmayın. Bu bölümde, bir blok şifresinin sahip olması gereken özelliklere ilişkin iki genel kavram açıklanmaktadır. Her biri, CBC gibi daha yüksek seviyeli algoritmaların özelliklerini kanıtlamak için kullanılabilecek matematiksel bir modele karşılık gelir.

Kriptografiye bu genel yaklaşım - daha yüksek seviyeli algoritmaların (CBC gibi), bileşenleri ile ilgili açıkça belirtilen varsayımlar altında (blok şifresi gibi) güvenlidir - olarak bilinir kanıtlanabilir güvenlik.

Standart Model

Gayri resmi olarak, bir saldırgan blok şifresi (rastgele bir anahtarla donatılmış) ile rastgele bir permütasyon arasındaki farkı söyleyemezse, standart modelde bir blok şifresi güvenlidir.

Biraz daha kesin olmak gerekirse E fasulye n-bit blok şifresi. Şu oyunu hayal ediyoruz:

  1. Oyunu yöneten kişi bozuk parayı çevirir.
    • Madeni para tura gelirse, rastgele bir anahtar seçer K ve işlevi tanımlar f = EK.
    • Madeni para kuyruklara düşerse, rastgele bir permütasyon seçer π sette n-bit dizeleri ve işlevi tanımlar f = π.
  2. Saldırgan bir n-bit dizge Xve oyunu yöneten kişi ona f(X).
  3. 2. Adım toplamda tekrarlanır q zamanlar. (Bunların her biri q etkileşimler bir sorgu.)
  4. Saldırgan, paranın nasıl düştüğünü tahmin eder. Tahminleri doğruysa kazanır.

Algoritma olarak modelleyebileceğimiz saldırgana, düşman. İşlev f (düşmanın sorgulayabildiği) bir kehanet.

Bir düşmanın sadece rastgele tahmin ederek (veya örneğin her zaman "tura" tahmin ederek)% 50 kazanma şansı sağlayabileceğini unutmayın. Bu nedenle PE(Bir) düşmanın olasılığını gösterir Bir karşı bu oyunu kazanır Eve tanımlayın avantaj nın-nin Bir 2 olarak (PE(Bir) - 1/2). Bunu takip eder eğer Bir rastgele tahmin eder, avantajı 0 olur; Öte yandan, eğer Bir her zaman kazanır, sonra avantajı 1'dir. Blok şifreleme E bir sözde rastgele permütasyon (PRP) herhangi bir rakibin 0'dan önemli ölçüde daha büyük bir avantajı yoksa, q ve düşmanın koşma süresi. Yukarıdaki 2. Adımda rakiplerin öğrenme seçeneği varsa f−1(X) onun yerine f(X) (ancak yine de küçük avantajları var) o zaman E bir kuvvetli PRP (SPRP). Bir düşman uyarlanabilir olmayan hepsini seçerse q değerleri X oyun başlamadan önce (yani, önceki sorgulardan toplanan hiçbir bilgiyi her birini seçmek için kullanmaz) X giderse).

Bu tanımların çeşitli çalışma modlarını analiz etmek için yararlı olduğu kanıtlanmıştır. Örneğin, bir blok şifre tabanlı şifreleme algoritmasının güvenliğini ölçmek için benzer bir oyun tanımlanabilir ve sonra gösterilmeye çalışılabilir (bir azaltma argümanı ) bir rakibin bu yeni oyunu kazanma olasılığının, PE(Bir) bazı Bir. (Azaltma tipik olarak şu sınırlar sağlar: q ve çalışma süresi Bir.) Eşdeğer olarak, eğer PE(Bir) tüm alakalılar için küçüktür Bir, bu durumda hiçbir saldırganın önemli bir yeni oyunu kazanma olasılığı yoktur. Bu, üst düzey algoritmanın blok şifresinin güvenliğini devraldığı fikrini resmileştirir.

İdeal şifre modeli

Pratik değerlendirme

Blok şifreler uygulamada birden çok kritere göre değerlendirilebilir. Ortak faktörler şunları içerir:[36][37]

  • Anahtar boyutu ve blok boyutu gibi anahtar parametreler, her ikisi de şifrenin güvenliği için bir üst sınır sağlar.
  • tahmini güvenlik seviyesi, blok şifreleme tasarımında büyük ölçüde zaman içinde kriptanalizde büyük çabalara, tasarımın matematiksel sağlamlığına ve pratik veya sertifikalandırmanın varlığına dayandıktan sonra kazanılan güvene dayanmaktadır.[38] saldırılar.
  • Şifrenin karmaşıklık ve uygulama için uygunluğu donanım veya yazılım. Donanım uygulamaları karmaşıklığı şu açılardan ölçebilir: kapı sayısı veya sınırlı kaynakları olan cihazlar için önemli parametreler olan enerji tüketimi.
  • Şifrenin verim işleme açısından çıktı dahil olmak üzere çeşitli platformlarda hafıza Gereksinimler.
  • maliyet nedeniyle geçerli olabilecek lisans gereksinimlerini ifade eden şifrenin Fikri Mülkiyet Hakları.
  • esneklik Birden çok anahtar boyutunu ve blok uzunluğunu destekleme yeteneğini içeren şifrenin

Önemli blok şifreleri

Lucifer / DES

Lucifer genellikle ilk sivil blok şifresi olarak kabul edilir, IBM 1970'lerde Horst Feistel. Algoritmanın gözden geçirilmiş bir versiyonu bir ABD hükümeti olarak kabul edildi Federal Bilgi İşleme Standardı: FIPS PUB 46 Veri Şifreleme Standardı (DES).[39] ABD Ulusal Standartlar Bürosu (NBS) tarafından, sunumlar için halka açık bir davet ve bazı dahili değişikliklerden sonra seçilmiştir. NBS (ve potansiyel olarak NSA ). DES, 1976'da halka açıldı ve yaygın olarak kullanıldı.[kaynak belirtilmeli ]

DES, diğer şeylerin yanı sıra, NSA tarafından bilinen ve IBM tarafından yeniden keşfedilen belirli bir kriptanalitik saldırıya direnmek için tasarlandı, ancak yeniden keşfedilene ve tarafından yayımlanana kadar Eli Biham ve Adi Shamir 1980'lerin sonunda. Teknik denir diferansiyel kriptanaliz ve blok şifrelere yönelik birkaç genel saldırıdan biri olmaya devam ediyor; doğrusal kriptanaliz bir başkasıdır, ancak yayınından önce NSA tarafından bile bilinmiyor olabilir Mitsuru Matsui. DES, kriptografide çok sayıda başka çalışma ve yayın başlattı ve kriptanaliz açık toplulukta ve birçok yeni şifre tasarımına ilham verdi.[kaynak belirtilmeli ]

DES, 64 bitlik bir blok boyutuna ve bir anahtar boyutu 56 bit. DES'ten sonra blok şifreleme tasarımlarında 64 bitlik bloklar yaygınlaştı. Anahtar uzunluğu, hükümet düzenlemeleri dahil çeşitli faktörlere bağlıdır. Birçok gözlemci[DSÖ? ] 1970'lerde DES için kullanılan 56 bitlik anahtar uzunluğunun çok kısa olduğu yorumlandı. Zaman geçtikçe, yetersizliği özellikle bir DES'i kırmak için tasarlanmış özel amaçlı makine tarafından 1998 yılında gösterildi Electronic Frontier Foundation. DES'e bir uzantı, Üçlü DES, her bloğu iki bağımsız anahtar (112-bit anahtar ve 80-bit güvenlik) veya üç bağımsız anahtar (168-bit anahtar ve 112-bit güvenlik) ile üçlü şifreler. Bir yedek olarak yaygın şekilde kabul edildi. 2011 itibariyle, üç anahtarlı sürüm hala güvenli kabul ediliyor, ancak Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) standartları, 80 bitlik güvenlik seviyesi nedeniyle artık iki anahtarlı sürümün yeni uygulamalarda kullanılmasına izin vermemektedir.[40]

FİKİR

Uluslararası Veri Şifreleme Algoritması (FİKİR) tarafından tasarlanan bir blok şifredir James Massey nın-nin ETH Zürih ve Xuejia Lai; ilk olarak 1991 yılında DES'in yerine kullanılmak üzere tasarlanmıştı.

IDEA 64 bit üzerinde çalışır bloklar 128 bitlik bir anahtar kullanan ve bir dizi sekiz özdeş dönüşümden (bir yuvarlak) ve bir çıktı dönüşümü ( yarım daire). Şifreleme ve şifre çözme işlemleri benzerdir. IDEA, güvenliğinin çoğunu operasyonları farklı gruplarımodüler toplama ve çarpma ve bitsel özel veya (ÖZELVEYA) - cebirsel olarak bir anlamda "uyumsuz" olan.

Tasarımcılar, IDEA'nın gücünü ölçmek için analiz etti. diferansiyel kriptanaliz ve belirli varsayımlar altında bağışık olduğu sonucuna varmıştır. Başarılı değil doğrusal veya cebirsel zayıflıklar rapor edilmiştir. 2012'den itibaren, tüm tuşlar için geçerli olan en iyi saldırı, kaba kuvvetten yaklaşık dört kat daha hızlı dar bisikli bir saldırı kullanarak 8,5 turluk IDEA'yı tamamen kırabilir.

RC5

RC5 blok şifresinin bir turu (iki yarım tur)

RC5, tarafından tasarlanan bir blok şifredir Ronald Rivest 1994'te, diğer birçok şifreden farklı olarak, değişken bir blok boyutuna (32, 64 veya 128 bit), anahtar boyutuna (0 ila 2040 bit) ve tur sayısına (0 ila 255) sahip. Orijinal önerilen parametre seçimi 64 bitlik bir blok boyutu, 128 bitlik bir anahtar ve 12 turdu.

RC5'in temel bir özelliği, veriye bağlı rotasyonların kullanılmasıdır; RC5'in amaçlarından biri, bu tür işlemlerin kriptografik bir ilkel olarak incelenmesini ve değerlendirilmesini teşvik etmekti. RC5 ayrıca bir dizi modüler eklemeler ve XOR'lar. Algoritmanın genel yapısı bir Feistel benzeri ağ. Şifreleme ve şifre çözme rutinleri birkaç satır kodda belirtilebilir. Bununla birlikte, temel program daha karmaşıktır ve temelde bir tek yönlü işlev her ikisinin de ikili genişletmeleriyle e ve altın Oran kaynakları olarak "kol numaralarımda hiçbir şey yok Veriye bağlı rotasyonların yeniliği ile birlikte algoritmanın kışkırtıcı basitliği, RC5'i kriptanalistler için çekici bir çalışma nesnesi haline getirdi.

12-yuvarlak RC5 (64-bit bloklarla), bir diferansiyel saldırı 2 kullanarak44 düz metinler seçildi.[41] Yeterli koruma olarak 18-20 tur önerilir.

Rijndael / AES

Rijndael Belçikalı kriptograflar tarafından geliştirilen şifre, Joan Daemen ve Vincent Rijmen DES'in yerini alacak rakip tasarımlardan biriydi. Kazandı 5 yıllık halka açık rekabet AES, (Gelişmiş Şifreleme Standardı) olmak için.

2001'de NIST tarafından benimsenen AES, 128 bitlik sabit blok boyutuna ve 128, 192 veya 256 bitlik anahtar boyutuna sahipken, Rijndael, en az 128 olmak üzere 32 bitlik herhangi bir çoklu blok ve anahtar boyutlarıyla belirtilebilir. bitler. Blok boyutunun maksimum 256 biti vardır, ancak anahtar boyutunun teorik bir maksimum değeri yoktur. AES, 4 × 4 sütun ana sıralama bayt matrisi, durum (Daha büyük blok boyutuna sahip Rijndael sürümleri durumda ek sütunlar bulunur).

Balon balığı

Balon balığı 1993 yılında tarafından tasarlanmış bir blok şifredir. Bruce Schneier ve çok sayıda şifre paketine ve şifreleme ürününe dahil edilmiştir. Blowfish 64 bitlik bir blok boyutuna ve bir değişkene sahiptir anahtar uzunluğu 1 bitten 448 bite kadar.[42] 16 mermi Feistel şifresi ve büyük anahtara bağlı kullanır S kutuları. Tasarımın dikkate değer özellikleri arasında anahtara bağlı S kutuları ve oldukça karmaşık anahtar program.

Yaşlanan DES'e alternatif olması amaçlanan ve diğer algoritmalarla ilişkili problemlerden ve kısıtlamalardan arındırılmış genel amaçlı bir algoritma olarak tasarlanmıştır. Blowfish piyasaya sürüldüğünde, diğer birçok tasarım tescilliydi ve patentler veya ticari / devlet sırlarıydı. Schneier, "Blowfish patenti yoktur ve tüm ülkelerde bu şekilde kalacaktır. Algoritma işbu belgeyle kamu malı ve herkes tarafından özgürce kullanılabilir. "Aynı şey için de geçerlidir İki balık Schneier'in halefi algoritması.

Genellemeler

Değiştirilebilir blok şifreleri

M. Liskov, R. Rivest ve D. Wagner, "değiştirilebilir" blok şifreleri adı verilen blok şifrelerinin genelleştirilmiş bir versiyonunu tanımladılar.[43] Değiştirilebilir bir blok şifresi, adı verilen ikinci bir girişi kabul eder. çimdik olağan düz metin veya şifreli metin girişi ile birlikte. İnce ayar, anahtarla birlikte şifre tarafından hesaplanan permütasyonu seçer. İnce ayarların değiştirilmesi yeterince hafifse (genellikle oldukça pahalı bir anahtar kurulum işlemiyle karşılaştırıldığında), bazı ilginç yeni işletim modları mümkün hale gelir. disk şifreleme teorisi makale bu modlardan bazılarını açıklamaktadır.

Biçimi koruyan şifreleme

Blok şifreleri geleneksel olarak bir ikili dosya üzerinden çalışır alfabe. Yani, hem giriş hem de çıkış, aşağıdakilerden oluşan ikili dizelerdir n sıfırlar ve birler. Bununla birlikte, bazı durumlarda, başka bir alfabe üzerinde çalışan bir blok şifreye sahip olmak isteyebilir; örneğin, 16 basamaklı kredi kartı numaralarının şifreli metin de 16 basamaklı bir sayı olacak şekilde şifrelenmesi, eski yazılıma bir şifreleme katmanı eklemeyi kolaylaştırabilir. Bu bir örnektir biçimi koruyan şifreleme. Daha genel olarak, biçimi koruyan şifreleme, bazı sonlu sürümlerde anahtarlı bir permütasyon gerektirir. dil. Bu, formatı koruyan şifreleme şemalarını (değiştirilebilir) blok şifrelerinin doğal bir genellemesi haline getirir. Bunun aksine, CBC gibi geleneksel şifreleme şemaları permütasyon değildir, çünkü aynı düz metin, sabit bir anahtar kullanıldığında bile birden çok farklı şifreleme metnini şifreleyebilir.

Diğer kriptografik ilkellerle ilişki

Blok şifreler, aşağıdakiler gibi diğer kriptografik ilkelleri oluşturmak için kullanılabilir. Bu diğer ilkellerin kriptografik olarak güvenli olması için, onları doğru şekilde oluşturmaya özen gösterilmelidir.

Karma işlevler oluşturmak için blok şifrelerinin kullanılabileceği gibi, karma işlevler de blok şifreleri oluşturmak için kullanılabilir. Bu tür blok şifrelere örnekler: SHACAL, AYI ve ASLAN.

Ayrıca bakınız

Referanslar

  1. ^ Cusick, Thomas W .; Stanica, Pantelimon (2009). Şifreleme Boole fonksiyonları ve uygulamaları. Akademik Basın. s. 158–159. ISBN  9780123748904.
  2. ^ Menezes, Alfred J .; van Oorschot, Paul C .; Vanstone, Scott A. (1996). "Bölüm 7: Blok Şifreleri". Uygulamalı Kriptografi El Kitabı. CRC Basın. ISBN  0-8493-8523-7.CS1 bakimi: ref = harv (bağlantı)
  3. ^ Bellare, Mihir; Rogaway, Phillip (11 Mayıs 2005), Modern Kriptografiye Giriş (Ders Notları)CS1 bakimi: ref = harv (bağlantı), Bölüm 3.
  4. ^ Chakraborty, D .; Rodriguez-Henriquez, F. (2008). "Donanım Uygulama Perspektifinden Blok Şifreleme Çalışma Modları". Koç, Çetin K. (ed.). Kriptografik Mühendislik. Springer. s. 321. ISBN  9780387718163.
  5. ^ Menezes, van Oorschot ve Vanstone 1996 Bölüm 7.2.
  6. ^ Shannon, Claude (1949). "Gizlilik Sistemlerinin İletişim Teorisi" (PDF). Bell Sistemi Teknik Dergisi. 28 (4): 656–715. doi:10.1002 / j.1538-7305.1949.tb00928.x.
  7. ^ van Tilborg, Henk C. A .; Jajodia, Sushil, editörler. (2011). Kriptografi ve Güvenlik Ansiklopedisi. Springer. ISBN  978-1-4419-5905-8.CS1 bakimi: ref = harv (bağlantı), s. 455.
  8. ^ van Tilborg ve Jajodia 2011, s. 1268.
  9. ^ Rupp, Martin (16 Ağustos 2019). "Atalla Anahtar Bloğunun Faydaları". Utimaco. Alındı 10 Eylül 2019.
  10. ^ Hamscher, Walter; MacWillson, Alastair; Turner, Paul (1998). "Korkusuz Elektronik İş: Tristrata Güvenlik Mimarisi". Price Waterhouse. S2CID  18375242. Alıntı dergisi gerektirir | günlük = (Yardım)
  11. ^ Stiennon, Richard (17 Haziran 2014). "Anahtar Yönetimi Hızlı Büyüyen Bir Alan". Güvenlik Güncel. IT-Hasat. Alındı 21 Ağustos 2019.
  12. ^ Junod, Pascal ve Kanteot, Anne (2011). Blok ve Akım Şifrelerinin Gelişmiş Doğrusal Kriptanalizi. IOS Basın. s. 2. ISBN  9781607508441.
  13. ^ Keliher, Liam; et al. (2000). "İkame-Permütasyon Ağlarının Doğrusal Özelliklerinin Modellenmesi". Hays, Howard; Carlisle, Adam (editörler). Kriptografide seçilen alanlar: 6. yıllık uluslararası atölye, SAC'99, Kingston, Ontario, Kanada, 9–10 Ağustos 1999: bildiriler. Springer. s.79. ISBN  9783540671855.
  14. ^ Baigneres, Thomas; Finiasz, Matthieu (2007). "Şifre için 'C'yi Çevirin". Biham'da Eli; Yousseff, Amr (editörler). Kriptografide seçilen alanlar: 13. uluslararası atölye, SAC 2006, Montreal, Kanada, 17-18 Ağustos 2006: gözden geçirilmiş seçilmiş makaleler. Springer. s. 77. ISBN  9783540744610.
  15. ^ Cusick, Thomas W .; Stanica, Pantelimon (2009). Şifreleme Boole fonksiyonları ve uygulamaları. Akademik Basın. s. 164. ISBN  9780123748904.
  16. ^ Katz, Jonathan; Lindell Yehuda (2008). Modern kriptografiye giriş. CRC Basın. s.166. ISBN  9781584885511.CS1 bakimi: ref = harv (bağlantı), sayfa 166–167.
  17. ^ Subhabrata Samajder (2017). Block Cipher Cryptanalysis: Genel Bir Bakış. Kalküta: Hindistan İstatistik Enstitüsü. sayfa 5/52.
  18. ^ a b Katz ve Lindell 2008, s. 170–172.
  19. ^ Katz ve Lindell 2008, s. 171.
  20. ^ Aumasson, Jean-Philippe; Bernstein, Daniel J. (2012-09-18). "SipHash: hızlı, kısa girişli bir PRF" (PDF): 5. Alıntı dergisi gerektirir | günlük = (Yardım)
  21. ^ Menezes, Oorschot ve Vanstone 1996, s. 228–230, Bölüm 7.
  22. ^ "Blok Şifreleme Modları". NIST Bilgisayar Güvenliği Kaynak Merkezi.
  23. ^ Menezes, van Oorschot ve Vanstone 1996, s. 228–233.
  24. ^ a b Morris Dworkin (Aralık 2001), "Blok Şifreleme Çalışma Modları - Yöntemler ve Teknikler için Öneri" (PDF), Özel Yayın 800-38A, Ulusal Standartlar ve Teknoloji Enstitüsü (NIST)
  25. ^ "Kryptographische Verfahren: Empfehlungen und Schlüssellängen", Bsi Tr-02102 (Technische Richtlinie) (Sürüm 1.0), 20 Haziran 2008
  26. ^ ISO / IEC 10116: 2006 Bilgi teknolojisi - Güvenlik teknikleri - Bir n-bit blok şifresi için çalışma modları
  27. ^ Bellare ve Rogaway 2005, s. 101, bölüm 5.3.
  28. ^ Bellare ve Rogaway 2005 Bölüm 5.6.
  29. ^ a b Serge Vaudenay (2002). "CBC Dolgu Uygulamalarının SSL, IPSEC, WTLS ... 'ye Neden Olduğu Güvenlik Kusurları". Kriptolojideki Gelişmeler - EUROCRYPT 2002, Proc. Uluslararası Kriptografik Teknik Teorisi ve Uygulamaları Konferansı. Springer Verlag (2332): 534–545.
  30. ^ a b Kenneth G. Paterson; Gaven J. Watson (2008). "Dolgulu Oracle Saldırılarına Karşı CBC Modunu Aşılamak: Resmi Bir Güvenlik Tedavisi". Ağlar için Güvenlik ve Kriptografi - SCN 2008, Bilgisayar Biliminde Ders Notları. Springer Verlag (5229): 340–357.
  31. ^ ISO / IEC 9797-1: Bilgi teknolojisi - Güvenlik teknikleri - Mesaj Kimlik Doğrulama Kodları (MAC'ler) - Bölüm 1: Blok şifreleme kullanan mekanizmalar, ISO / IEC, 2011
  32. ^ Martin Keith M. (2012). Günlük Kriptografi: Temel İlkeler ve Uygulamalar. Oxford University Press. s. 114. ISBN  9780199695591.
  33. ^ Paar, Christof; et al. (2010). Kriptografiyi Anlamak: Öğrenciler ve Uygulayıcılar İçin Bir Ders Kitabı. Springer. s. 30. ISBN  9783642041006.
  34. ^ Matsui, Mitsuru. "DES Şifresinin Doğrusal Kriptanalizi". Mitsubishi Electric Corporation. 1 (3): 43 - Bilgisayar ve Bilgi Sistemleri Laboratuvarı aracılığıyla.
  35. ^ Matsui, M. & Yamagishi, A. "FEAL şifresinin bilinen düz metin saldırısı için yeni bir yöntem". Kriptolojideki Gelişmeler - EUROCRYPT 1992.
  36. ^ Menezes, van Oorschot ve Vanstone 1996, s. 227.
  37. ^ James Nechvatal; Elaine Barker; Lawrence Bassham; William Burr; Morris Dworkin; James Foti; Edward Roback (Ekim 2000), Gelişmiş Şifreleme Standardının (AES) Geliştirilmesine İlişkin Rapor (PDF), Ulusal Standartlar ve Teknoloji Enstitüsü (NIST)
  38. ^ Şifrenin reklamı yapıldığı gibi çalışmadığını gösteren saldırılar (yani, onu kırmakla ilgili zorluk seviyesi iddia edilenden daha düşüktür), ancak pratikte elde edilemeyecek kadar karmaşıktır.
  39. ^ FIPS PUB 46-3 Veri Şifreleme Standardı (DES) (Bu, 1999 tarihli üçüncü baskıdır, ancak 12. ön bölümdeki tarihsel bilgileri içerir.)
  40. ^ NIST Özel Yayını 800-57 Anahtar Yönetim Önerisi - Bölüm 1: Genel (Revize), Mart 2007 Arşivlendi 6 Haziran 2014, Wayback Makinesi
  41. ^ Biryukov A. ve Kushilevitz E. (1998). Geliştirilmiş RC5 Kriptanalizi. EUROCRYPT 1998.
  42. ^ Bruce Schneier (1993). "Yeni Değişken Uzunlukta Anahtarın Tanımı, 64 Bitlik Blok Şifreleme (Blowfish)". Alıntı dergisi gerektirir | günlük = (Yardım)
  43. ^ Liskov, M .; Rivest, R .; Wagner, D. "Değiştirilebilir Blok Şifreleri" (PDF). Kripto 2002.
  44. ^ ISO / IEC 10118-2: 2010 Bilgi teknolojisi - Güvenlik teknikleri - Karma işlevleri - Bölüm 2: Bir n-bit blok şifresi kullanan karma işlevler
  45. ^ Menezes, van Oorschot ve Vanstone 1996, Bölüm 9: Karma İşlevler ve Veri Bütünlüğü.
  46. ^ NIST Özel Yayını 800-90A Belirleyici Rastgele Bit Oluşturucular Kullanarak Rastgele Sayı Üretimi Önerisi
  47. ^ Menezes, van Oorschot ve Vanstone 1996, Bölüm 5: Sözde Rastgele Bitler ve Diziler.

daha fazla okuma

Dış bağlantılar