Konu uzun mevzu derin olduğu için bir an önce konuya atlıyorum gençlik, o yüzden yazıya girişimin kusuruna bakmayın (: D). Şimdi biz önceki blogda sezar şifresi adında bir şeye değinmiştik. Enigma makinelerinin temelindeki prensip ile sezar şifrelemesindeki prensip bazı noktalarda kısmen kesişir fakat Enigma makinelerini anlamak için daha farklı yöntemleri bilmemiz gerekir.
Bir önceki blogda zaten Sezar şifrelemesini incelemiştik. Bu şifrelemedeki temel büyük açık, her dildeki temel harflerin bir kullanım sıklığı vardır. Bir mesajdaki harflerin sayısını sütun grafiğine dökersek bu dilin harf dağılımını bulmuş oluruz. Bunu daha da zorlaştırmak için 15.yy civarında çok alfabeli şifre adlı bir şifreleme yöntemi geliştirilmiştir. Burada belirli bir anahtar yerine bir anahtar dizisi bulunur. Mesela önceki blogdaki 11 anahtarı üzerinden "STALİNGRAD'I KUŞATIN" şifrelemesinde her harf 11 birim ileri değil de mesela S harfi 11, T harfi 5, A harfi 3, L harfi 14, İ harfi 20 adım ötelenir ve bu 11-5-3-14-20 dizilimi şifrelenen metin boyunca devam ettirilirse iç içe geçmiş 5 tane sezar şifreli harf grafiğine ulaşırız. Eğer ki en başta dediğim ve bir dildeki harf sıklığı grafiğine bir dilin bedeni dersek bu çok alfabeli şifrelemelere bedeni silinmeye çalışılmış bir dil diyebiliriz. Yine de belirttiğim gibi iç içe geçen 5 sezar şifrelemesi gibi kırılabilecek bir şifredir. Bunun için Enigma makinelerinde de kullanılan tek kullanımlık şerit yöntemi icat edilmiştir.
Tek kullanımlık şerit yönteminin temel amacı, yukarıda bahsettiğimiz grafiği düzleştirmek, yani harflerin kullanım oranlarını aynı yapmaktır. Buradaki mantık ise sezar şifrelemesinden veya çok alfabeli şifrelemeden farklı olarak her harfe rastgele bir öteleme rakamı verir. Rastlantısallığı şifredeki olasılıkları arttırmak için kullanır da denilebilir. Bunu Türkçe için konuşursak her harf için 29 olasılık vardır. Örneğimiz olan "STALİNGRAD'I KUŞATIN" cümlesi 18 harften oluşmuştur. Burada harfleri aldığımız alfabe, Türkçe karakterler üzerine kurulu latin alfabesi, yani bildiğimiz 29 harfli alfabedir. Tek kullanımlık şerit, tamamen rastlantısal olduğu ve anahtarın öncesinde karşıdaki taraf ile paylaşılmadan bilinmesine imkan tamımadığı için 29 üzeri 18 şekilde şifrelenebilir, ki bunu açıklamak için Stalingrad'ı kuşatın cümlesindeki her harfe 29 tane harften rastgele birisi atanabilir. Bu 29 harf olasılığını da cümledeki 18 harf kadar tekrarlarsak bu sonuç çıkar yani 29 üzeri 18 yaparız. (Meraklısı için yazıyorum, burada bahsettiğimiz değer yaklaşık 2.1045728e+26 farklı kombinasyona eşdeğerdir.). Bu şifreleme yönteminin kırılması iki nedenden dolayı neredeyse imkansızdır. 1- Anahtar tamamen rastlantısallığa dayandığı için dilin bedeni olarak tabir ettiğimiz grafik düz çıkacaktır. Bu nedenle grafikler eşleştirilerek atlama sayısı bulunamayacaktır. Çok alfabeli şifrelerdeki gibi düzenli tekrar eden bir kısım da yoktur. 2- Olasılıklar, basit permutasyon ile bile çok fazla çıktığından dolayı (Olasılıklar, kullanılan alfabedeki karakter sayısının metin uzunluğu kadar permutasyonu ile bulunuyor. Mesela öncesinde 29 harf ile yazılabilecek (harfler aynı da olabilir) 18 harfli kelime sorulmuştu bize ve 18 tane 29'u çarptık) kabakuvvet ile sonuca ulaşılması çok uzun zaman alacaktır. Şifrelerin gücünü belirleyen durumlardan birisi de zaten olasılıkların çok fazla ve anahtarın bulunma olasılığının çok az olmasıdır.
Enigma makineleri de işte bu yöntemin biraz daha karışık bir versiyonunu kullanır. Burada öncelikle enigma makinesinin rolünü kavramak önemlidir. Enigma makineleri, aynı ilk girdinin eklenmesi durumunda aynı rastlantısal ve rastgele seriyi oluşturma gücüne sahiptir. Normalde rastlantısal bir diziyi zar atmaktan ziyade iki makinede üretmek, aradaki üçüncü şahıs dinleyiciler için kırılamaz fakat karşıda muhattap alınan kişi için aynı anahtar ile başlatılması durumunda fazlasıyla anlaşılır birer mesajlaşma sistemidir. İlk anahtar girdisi için de normal doküman halinde bir kağıtta şeritler olarak ilk girdiler dağıtılırdı bu sayede dinlenme olasılığı neredeyse sıfırlanırdı. Enigma makinelerindeki rotasyonel şifreleme mantığı da öncesindeki paragraftaki tek kullanımlık şerit şifrelemesinden beslenir. Buradaki şerit dediğimiz şey ise ilk girdi anahtarıdır. Basitçe enigma makinelerine zar atma seansındaki rastlantısallığı sağlamak koşuluyla aynı rastlantıları oluşturan makineler idi.
Burada bu rastlantısallık için son bir paragraf eklemek istiyorum. Rotasyonel şifreleme makinesi denmesinin nedeni makinede çarklar olmasıdır. Bu çarklar ne işe yarar diye soracaksınız şimdi. Bu çarklarda rastgele sayı kombinasyonları veya sayı dizilimleri bulunur. Mesela 2. Dünya Savaşındaki bazı modellerde her birinde 60 değer bulunan 4 çark barındırılabiliyordu. Bu makinelerde çarklardaki sayıların toplamı, anahtar yani şifrelemedeki ilerletme sayısı olacaktı. Burada temel olay, bu dizinin tekrar etmesinin onyıllarca sürebileceğidir. Enigma makineleri, tam olarak bu şekilde çarklar ile (videoda daha açıklayıcı şekilde göstereceğim) rastgele ve rastlantısal anahtarlar türetip her harf için farklı bir ilerletme miktarı sunar. Art arda aynı harfi bile yazsak her seferinde farklı başka bir harfe denk gelen çıktılar elde ederiz.
Yorumlar
Yorum Gönder