Geçen hafta ETU ACM'den arkadaşlar bugün düzenlenen Kriptografi ve Haberleşme Güvenliği Semineri için küçük bir şifreleme oyunu hazırlamamı istemişti Eğer çözümü öğrenmeden önce bir denemek isterseniz, soru bu linkte.
Yarışmaya 20 küsür kişi mail yoluyla katılmış ancak bize ulaşan cevaplardan sadece 3 tanesi doğruydu. Zaten ilk 3'e hediye verildiği için, iyi denk geldi. Katılım oranını yüksek, doğru cevabın ise düşük olması için uğraşırken ortaya değişik şeyler çıktı. Shift cipher mı, substitution cipher mı diye soranlar oldu. Hayır, değildi ama şifreleyici her harfi başka bir harfe map ediyordu, bundan dolayı frekans analizi kullanarak da çözenler olmuş.Örneğe tekrar bakarsak:
"ETU şifreleyecisi, “ETU ACM’e hoşgeldiniz” metnini, ‘ş’ anahtarı kullanarak “ımn ceti laşjısgöuöz” metnine çevirmiştir."
Belki anahtar olan 'ş' harfinin aynı kaldığını farketmişsinizdir, ancak kritik olan kısım z harfinin de değişmemiş olması. Doğrusu şifrenin kendisini çözmek çok zor değildi, eğer verilen örnekte eşleşmelerin tıpa tıp aynısı kullanırsanız, şifrenin ne olduğunu tahmin etmek mümkündü.
Ne_e_e / g_tt___n_ / __şm__o__an / he_ / ___ / _en_ / __a_a / git__ecelt__
İlk kelimenin "nereye" ve ikincisinin "gittiğini" olduğunu tahmin ederek bu kelimelerin içinde geçen harflerin, hangi harflere karşılık geldiği bulunabilir. Karşılıklarını bulduğumuz bu harfleri, kalan diğer kelimelerde yerine koyarak ve biraz daha tahminle şifrenin,"Nereye gittiğini bilmiyorsan, her yol senin oraya götürecektir" olduğu ortaya çıkıyor.
Şimdi gelelim işin zor kısmına, peki bu metin hangi anahtarı kullanarak şifrelenmış olabilir? Örnekte anahtar harfin aynı kaldığından yola çıkabiliriz. Bu şifreli metinde y, ö ve ü harfleri aynı kalmış. Örnekte ise ş'nin yanı sıra z harfi de aynı kalmıştı. Yani şifreliyici de anahtar dışında bazı harflerin de aynı kalabildiğini biliyoruz.
ö, ü, y ve z: Bunların ortak noktası ne? ü, y "ve" z, alfabenin son 4 harfi. (Tamam "ve" de ki kelime oyunun kimsenin farkettiğini sanmıyorum ama bahsetmeden geçemedim, aslında anahtarı bulmak için gerekmiyor). Evet, uydurduğum şifreleyicinin en büyük zaafı buydu. Aslında anahtarı ne seçerseninz seçin ü, v, y, z harfleri kendine eşleniyor. Heralde artık şifreleyicinin gerçekte nasıl çalıştığını anlatma sırası gelmıiştir.
ETÜ ŞİFRELİYİCİSİ
1) Anahtar olarak Türk alfabesinden bir harf seç. Anahtar harfi her zaman kendisine eşle.
Diyelim ki anahtar 'ş' olsun.
2) Anahtar harfi, alfabeden çıkar ve alfabeyi satırlarda sırasıyla asal sayılar olacak şekilde yaz:
ab
cçd
efgğh
ıijklmn
oöprstuüyvz
Gördüğünüz gibi satırlarda sırasıyla 2, 3, 5, 7, 11 sayıda harf var ve ş harfi atlanılmış. Belki tam denk gelmesi, dikkatinizi çekmiştir. Aynı zamanda tesadüfe bakın ki alfabedeki harf sayısı olan 29'da asal. Başka bir tesadüf ise 29'un aynı zamanda ilk 3 asal sayının çarpımından bir eksik olması. (bkz. Primorial Prime).
3) Her harfi, bir altındakiyle eşlestir. (Yukarıdaki önrek için artık, g yerine j kullanılacak). En alt satırdaki harfleri için en üstten tekrar başla. (Tekrar yukarıdaki örnek için o -> a, s -> h, y -> y).
Gördüğünüz üzere ü, y, v, z harfleri en sonda kaldıkları için altlarında kendileri var. Bu yüzden kendileri ile eşleniyorlar.
Bundan dolayı şifrenin anahtarı ö idi. Gördüğünüz gibi ş ile aynı satırda olduğundan yukarıdaki harflerin karşılıkları aynı kaldı. Bu yüzden şifreyi çözmek biraz daha kolaydı.
Şifrenin nereden geldiğine merak edenlere:
Ayrıca, unutmadan seminer sırasında Ali Hoca'nın bahsettiği bazı konularla ilgili, bir kaç güzel video'yu paylaşmak istiyorum.
Man in the Middle Attack
RSA Encryption
Eliptic Curve Crpytography
Bu ise paşa fanlarına gelsin!
Tesadüfe bakınkı tam bir hafta sonra, son 2 video'daki matematikçi Prof. Edward Frenkel ODTÜ'nün 60. yıl etkinliklerinde bir konuşma yapacak. Ancak yine tesadüfe bakın ki, tam da Ali Hoca'nın Otomata dersiyle çakışıyor.
Neyse, bugünlük bu kadar tesadüf yeter. Eğer bugün seminere gelmiş, attığım videoları sonuna kadar izlemiş ve hala daha fazlası için kıvranıyorsanız, Youtube'daki The Art of The Problem kanalının kriptoloji hakkındaki yaklaşık 1 saatlik playlistine göz atmanızı öneririm.
Hiç yorum yok:
Yorum Gönder