Önümüzdeki günlerde İngiltere’de gösterime girecek Yapay Oyun (The Imitation Game) filmi, İngiliz matematikçi, mantıkçı, kriptanalist, düşünür ve kendisini daha fazla tanıdığımız açıdan önde gelen bilgisayar bilimci Alan Turing’in İkinci Dünya Savaşı sırasında Almanların gizli mesajları şifrelemek ve tekrar çözmek için kullandığı Enigma makinesinin şifrelerinin kırılmasındaki rolü üzerine kuruluyor. Polonya şifre bürosu ve İngiliz Bletchey Park şifre çözücülerinin Enigma şifrelerini çözmesi bazı tarihçiler tarafından savaşın Avrupa’da bir yıl erken sonlanmasının nedeni olarak gösterilir. Aynı zamanda şifre çözümünde kullanılan algoritmalar ve şifre çözücü makinaların o dönemdeki varlıkları bilgisayar biliminin doğuşu açısından oldukça önemli bir yere sahip. Açık Bilim’in bu ayki sayısının İngiliz gişelerine olası katkısını bir yana bırakırsak “şifrelemek” ve “şifre çözmek” kavramlarından yola çıkıp tarih akışı içinden geçerek kriptoloji ve kriptanaliz nedir sorusu üzerine odaklanalım.
1. İlk şifreleme deneyimimiz
Birçoğumuz ilk ve ortaöğretimde şifreleme ile tanışmışızdır. Bulunduğumuz sıralarda bir-iki sonraki harf ile kodladığımız, “teneffüste arka bahçede toplanıyoruz,” minvalinde bir mesajı yakın arkadaş çevresi tarafından çözülmek üzere sınıfta gezdirirdik. T harfi yerine U, E yerine de F yazarak bu mesajın tamamını kodladık. Aslında bunu ilk yapan biz değiliz, Julius Caesar, Caesar Şifresi olarak da anılan bu yöntemi yaygın olarak ilk kullanan kişi. Yaptığımız şey belirli bir sistem dahilinde mesajı kodlamak ve kodladığımız mesaj sistemini bilen birileri tarafından bu mesajın çözülmesini beklemek. Aslına bakarsanız, bu yazıyı okurken de aynı şeyi yapıyoruz: Düşünceyi Türkçe üretiyoruz, Türkçeye ait seslerin karşılıkları alfabeden seçiyoruz, düşüncenin sözcüğe dökümünü sesdizim kurallarıyla, sözcükleri de sözdizim kurallarıyla dizip mesajı yazılı bir araç üzerinden aktarıyoruz. Mesajı alan kişi de benzer sisteme sahip olduğu için yazıdan düşünceye doğru mesaj çözümlenmiş oluyor.
Yukarıda dil bağlamında verilen örnekte mesajın göndericisi olan bizler mesajı kodluyoruz ve bu kodu kapatıyoruz, alıcı ise kapatılan kodu çözüyor ve yorumluyor. Bu gönderici – alıcı arasındaki ilişki üçüncü kişilerin olduğu durumlarda gizlilik ve bilgi güvenliği gibi ihtiyaçları karşılamak amacıyla uygulanan matematiksel yöntemler bütünü içeriğinde kriptografi (şifreleme/cryptography) kavramıyla karşılanmakta. Kavram Yunancada gizli anlamına gelen κρυπτός (kriptos) ve yazı anlamında kullanılan γράφειν (grafein) sözcüklerinin birleşimiyle türetilmiş. Bunun yanı sıra kriptografi çalışmalarının yapıldığı alan kriptoloji, şifrelenmiş metinlerdeki anahtarları çözmeye yönelik yapılan iş ise kriptanaliz kavramı ile açıklanmakta. Misal, yukarıdaki kriptografi tanımında verilen Yunanca sözcükleri oluşturan karakterleri (κρυπτός ve γράφειν sözcüklerinde) bilmiyor olsak (ki çoğumuzda durum muhtemelen bu), bunlar bizim için bir grup kod olarak kalacaklar ve mesaj anlamını çözemeyeceğiz.
Modern şifrelemenin kullanışlı olması için birkaç durum gerekli:
- Orijinal metni, yani şifresiz belgeyi çözmek için gerekli olan algoritma ya da yöntem,
- Şifresiz metni şifrelemek ve çözmek için gerekli olan anahtar,
- Bu anahtarın ne kadar geçerli olacağını belirten süre ya da zaman aralığı.
Bu üç durumu anlatmak için anahtar – kapı örneği sıkça verilir. Evinize gireceksiniz, ihtiyacınız olan şey anahtar. Bu eylem sizin eve giriş yönteminizi oluşturuyor. Bu yöntemin çalışacağı tek durum ise evinizin kapısını açacak doğru bir anahtara sahip olmanızdır ve yönteminizin geçerlilik süresi siz o evde oturduğunuz zaman aralığı süresincedir. Sizden sonra biri o eve yerleştiğinde sizin giriş yönteminizi bildiği için evin anahtarını değiştirecektir.
Bu örneğe baktığımız zaman insanların şifreleme davranışlarının ihtiyaçları ile örtüştüğü görülmekte. Mesela savaş meydanındasınız ve taburlar arası mesaj iletme durumunuz var. Yani işin önemine göre verilen üç maddedeki algoritma, yöntem ve süre değişmekte. Savaşın kaybedilme durumunu ve doğacak sonuçları göz önüne getirdiğinizde algoritma ve yöntemin üçüncü parti tarafından çözülmesinin zor olabileceğini ve eğer bunu çözmüş olsalar bile belirlediğiniz zaman aralığından sonra bunun gerçekleşebileceğini, o zaman da şifrelerin niteliksiz olacağını düşünebiliriz.
2. Şifreleme türleri
Şifreleme yöntemleri en bilindik haliyle ikiye ayrılıyor: (i) Dönüşümlü (ornatımla) ve (ii) sıra değiştirmeli şifreleme. Dönüşümlü şifreleme şifrelenecek mesajı düz metne bağlı kalmak koşuluyla farklı karakterler ve sembollerle kodlamayı içeriyor, yani simgeleri farklı simgelere dönüştürüyor. Sıra değiştirmeli şifreleme ise düz metindeki karakterlerin niteliklerine müdahalede bulunmuyor, sadece onların sırasını değiştiriyor. Bu iki şifreleme türüne dair birkaç örnek vermeden önce kriptografinin tarihçesinden bahsetmek faydalı olacak. Dünya savaş tarihi paralelinde gelişen alanın 1950’lerde araç ve amaç nedenli olarak yöntem değiştirdiğini görüyoruz. Tarih öncesi dönemden bu döneme kadar yapılan şifreleme çalışmaları geleneksel kriptografi olarak adlandırılırken İkinci Dünya Savaşı öncesinde yapılan çalışmalar modern dönemin kapılarını açmış. Geleneksel dönem şifrelemelerinin ilki M.Ö. 1900’de Mısır anıtlarının üzerindeki hiyerogliflerde görülüyor fakat amaç gizli bir mesaj iletmekten ziyade anıt üzerinde yazan metnin daha gizemli görünmesini sağlamak ve okunuşunu zorlaştırmak. Eski Mısır’da bu iş için genellikle rebus olarak adlandırılan bir yöntem kullanılmış. Buna göre okunuş sırasında piktogramların (her bir resim somut bir varlığı gösterir) anlamlarını gözardı edip sadece ses değerine yoğunlaşarak mesajı daha gizemli gösterebiliyorlardı. Veri gizlemek için yapılan şifrelemelerin ilki M.Ö. 1500 yılında Mezopotamyalı ustaların çömlek tariflerini gizleme amaçlı ürettikleri metinlerde görülüyor. Bugünkü pratiğe benzer şekilde gizli mesaj iletme amacı taşıyan ilk şifreleme çalışmalarından biri M.Ö. 5-7. yüzyıllarda Spartalılar tarafından kullanılmış. Scytale adı verilen silindir görünümündeki araç, üzerinde bulunan sembollerin yerlerinin değiştirilmesiyle şifrelenmiş mesajı taşıma işlevinde kullanılmış. Sıra değiştirmeli şifreleme türünün bir örneği olan ve Spartalılar tarafından savaşlarda kullanılan bu yöntemin hata payının düşük fakat çözülme olasılığının yüksek olduğu belirtiliyor.
Kriptografi tarihine dair verilen genel görüşlerin aksine David Kahn, The Codebreakers: The Story of Secret Writings (1967) kitabında modern dönemin, bilinen tüm kriptanaliz yöntemlerini sistemli olarak sınıflandıran Araplar arasında başladığını iddia eder. Yine Kahn, Kur’an’ın metin incelemeleri sırasında keşfedilen sıklık çözümlemelerinin, sıra değiştirmeli şifreleme yöntemi ile kodlanan mesajların çözülmesi için esaslı bir yöntem oluşturduğunu söylemekte. Bu yöntemin mucidi olarak ise M.S. 800’lü yıllarda yaşayan matematikçi Al-Kindi’yi göstererek kaydettiği gelişmeleri, İkinci Dünya Savaşı’na kadarki dönemde verilen en büyük kriptanaliz çalışması olarak öne çıkarıyor.
Modern dönem kriptografisi ise disiplinlerarası bir görünüme sahip. Geleneksel dönemde var olan dilbilim ağırlığı yerini modern dönemde bilgisayar bilimleri, matematik (ayrık matematik) ve istatistik gibi alanlardan gelen temel kavramlara ve bu kavramların etkileşimine bıraktı. Bununla birlikte bilgisayar bilimlerinde ortaya çıkan gelişmeler de alana yöntembilimsel katkılar yapmakta.
Modern dönemi hazırlayan ilk büyük etkili şifre kırma olayı, 1917 yılında Alman İmparatorluğu’nun dışişleri bakanı Arthur Zimmermann tarafından Meksika ve Washington’daki Alman Büyükelçilikleri üzerinden gönderilen şifrelerin çözülmesinde kendini gösterdi. Zimmermann Telgrafı (Zimmermann Note/Telegram) da olarak bilinen bu olayda gönderilen telgraf Alman Dışişleri şifreleme standartlarına göre kodlanmıştı ve mesajda Meksika’yı Almanya’nın yanında, Amerika’nın karşısında bir savaşa davet ediyordu. Meksika’nın tavrına göre de Japonya’nın katılıp katılmayacağı bildiriliyordu. İki İngiliz şifre çözücünün mesaj içeriğini çözmeleri ve bunu ABD Başkanı Wilson’a okutmaları sonucunda 2 Nisan 1917’de ABD Birinci Dünya Savaşı’na girmiş oldu. İngiliz kablo gemisi TELECONIA’nın Almanların transatlantik kablolarını keserek trafiği İsveç ve Amerikan sahipli kablolara yönlendirmesi, şifre çözücülerin gönderici ve alıcı arasında giden mesajın kanalı üzerinde müdahil olduklarını gösteriyor. Aşağıdaki görselde kod çözücülerin bir mesaja nasıl müdahil olduklarını görebiliriz:
Enigma nasıl çalışır? Enigma, İkinci Dünya Savaşı süresince Nazi Almanyası tarafından şifreli haberleşme amaçlı kullanılan ve Arthur Scherbius’ın 1919 patentli şifreleme ve şifre çözme makinesi olarak bilinir. Enigma makinesini ticari olarak yeterince pazarlayamayan Scherbius’ın imdadına 1926’da Alman donanması, 1928’de Alman ordusu ve 1935’te de hava kuvvetleri yetişir ve sistemi alır. Enigma’nın kullanılmaya başlanması, 1930 yılına kadar kırılmadık şifresi kalmayan Almanya’nın o zamandan sonraki yıllarda güvenli iletişimi sağlamasıyla sonuçlanır.
Scherbius, Enigma’yı rotasyonel şifreleme yöntemini kullanan, elektro-mekanik bir aygıt olarak tasarladı ve sonrasında kullanım alanlarına göre birçok türü üretildi. Enigma’nın temel prensibi çoklu alfabe yöntemiydi. Buna göre şifrelenecek bir metin tekrara düşmeden aynı dizi içerisinde benzer anahtarlar kullanmadan şifreleme gerçekleşiyordu. Bunun yanında çevrimdışı bir sistem olarak bilinir. Düz metinler alınır, şifrelenir. Şifreli metinler ise tekrar düz metne çevrilirdi.
Görsel 3’ten takip edersek: Enigma’nın üzerinde bulunan daktilo klavyesine benzer sistem her tuş basıldığında rotoru döndürür. Bu rotorların tümü Enigma makinelerinde sağdan dönmeye başlar, haliyle bir solundaki, daha sonra da onun solundaki yavaş yavaş aynı işlemi yapar. Klavyeye basıldıktan ve rotorlar dönmeye başladıktan sonra hemen karşıda bulunan ışıklı plakada hangi harfin basıldığı belirir. Bunun yanında, Almanlar İkinci Dünya Savaşı sırasında her harfe basıldıktan sonra farklı dönüş rotası izleyen bir Enigma sürümü kullandılar. Yani arka arkaya iki kez “a” harfine basılınca ikisi de farklı karakterde kodlanıyordu. Bu dizi mesajın tamamı makine üzerine aktarılıncaya kadar sürer. Şifrelenmiş metin daha sonra Morse kodu ile radyo dalgaları üzerinden gönderilir ve şifrenin çözümü de benzer süreçlerden geçilerek gerçekleştirilirdi.
3. İki temel örnek
Son olarak (i) dönüşümlü ve (ii) sıra değiştirmeli şifreleme için birer örnek vererek yazıyı noktalandıralım. Şifrelenecek mesajı ana metne bağlı kalmak koşulu ile farklı karakterler ve semboller ile kodlamayı içeren dönüşümlü şifreleme örneği kendisine ait bir şifreleme yöntemi geliştiren Francis Bacon’dan. Bacon, bilimsel yöntemin modern sürümünü geliştirirken arta kalan zamanlarında bu şifreleme yöntemini oluşturmuş. Bu yöntem aynı zamanda bilgiyi gizleme bilimi olan steganografi kapsamında örneklenir. Bacon, geliştirdiği şifreleme yönteminde her bir harf için yıldız imi (*) ve B’den oluşan ikili bir sistem kullanıyor. Bugün hala rahatlıkla kullanabileceğimiz bu sisteme ait Bacon Alfabesi (21 karakter) mevcut. Bizim örneğimiz 26 karakterlik İngiliz Alfabesinden:
Yukarıdaki anahtara baktığımız zaman 1 ve 0’ın yerini tutan * ve B karakterlerini görüyoruz. Bunun yanında Bacon tekniği oluşturulmuş bir metne yine ikili sistem dahilinde kalın ve ince karakterler atıyor. Bu metinlerde anlam oluşturmak güç, zaten çoğunda da tutarlı bir anlam bulunmuyor. Oluşturulan metinlerde kalın olan karakterler şifreleme anahtarındaki B karakterinin yerini, ince olanlar ise * iminin yerini tutuyor. Şimdi aşağıda bulunan ve göndericinin alıcıya gönderdiği alıntıya bakalım:
To be or not to be that is the question. Whether ‘tis nobler in the mind to suffer the slings and arrows of outrageous fortune or to take arms against a sea of troubles and by opposing end them?
Yukarıdaki metni çözmek için Bacon anahtarına paralel olarak tüm karakterleri beşli gruplara ayıralım:
Beşli grubun ilk dizisi olan “tobeo” dizisini ele alalım. Bu dizide bulunan “o” ve “b” harfleri aktarılan metinde kalın yazılmıştı ve anahtarda B ile eşleşiyordu. İnce yazılanların, yani kalın yazılmayanların ise * imi ile gösterildiğini biliyoruz. Bu durumda ulaştığımız ilk anahtar M= *BB** oluyor. Benzer durumu diğer beşli gruplara uygulayarak mesajı çözebiliyoruz.
Diğer örnek ise ana metindeki karakterlerin niteliklerini değil, sırasını değiştiren sıra değiştirme yöntemine ait. Yer değiştirme yöntemine dair şu ana kadar yapılan şifreleme çalışmaları kolay anımsanmasından dolayı geometrik şekilleri takip etmiş. Altı karaktere beş karakter ebatlarında bir kutu düşünelim:
Yukarıdaki metin bizim iletmek istediğimiz mesaj. Hangi doğrultuda okunduğu hakkında mesajı gönderen ve alan uzlaşmışsa bunun içine gömüldüğü metni ortaya atabiliriz:
MACEH EFHHE ETOIG TEONY MRLDM ESBTO
Hatta işleri biraz daha karıştırabiliriz. Misal, şifreli mesajları gönderdiğimiz arkadaşımızla farklı rotalarda iletişimimiz bulunmakta ve yine kutu yöntemini kullanmak istiyoruz. Aşağıdaki metni ona gönderdik:
EAMTN FTDIE EHOTE RHMEM BYESC GLOHO
Arkadaşımız ise bu metni aldı ve sadece ikimizin bildiği sol alttan zikzaklar yaparak mesajı kutu görünümüne getiriyor ve sağ alttan başlayan spiral rotada okumaya başlıyor.
Bu işlem sonunda ulaştığımız mesaj şöyle:
Meet me after school behind the gym.
Bu ay İngiltere’de gösterime girecek Yapay Oyun filminden yola çıktık, kriptografi tarihini ve türlerini kısaca kapsayarak gönderici ve alıcı arasında ne tür bir ilişki var sorusuna yanıt bulduk. İki bağlantı ile yazıyı sonlandırıyorum. Ben de Bacon şifreleme yöntemi ile mesaj göndermek istiyorum diyorsanız şu bağlantıyı ziyaret edebilirsiniz. Bunun yanında, Açık Bilim’in Eylül 2012 sayısında yer alan ve kriptoloji ve soyut matematik üzerine yazılmış “Matematik ve Kriptoloji” başlıklı yazıya buradan erişebilirsiniz.
KAYNAKLAR
[1] Brief History of Criptography | http://www.cypher.com.au/crypto_history.htm
[2] Arslan, G. (2009). Kriptoloji kavramları ve Kripto Analiz Merkezi. Sunum, TÜBİTAK UEKAE. 14 Ekim 2014 tarihinde https://www.bilgiguvenligi.gov.tr/dokuman-yukle/3.-istanbul-etkinligi/11-nisan-kriptoloji-sunum-9n/download.html adresinden erişildi.
[3] Worley, G. G. (2003). Baconian cipher. 12 Ekim 2014 tarihinde http://www.cs.ucf.edu/~gworley/files/baconian_cipher.txt adresinden erişildi.
[4] Bamford, J. (1982). The puzzle palace. NY: Penguin Books.
[5] Hipschman, R. (2008). The secret language. 16 Ekim 2014 tarihinde exploratorium.edu adresinden erişildi.
[6] Konheim, Alan, G. (1981). Cryptography: A Primer. New York: Wiley.
[7] Kahn, D. (1967). Codebreakers: The story of secret writing. New York: Simon & Shustler.[7] Kapak görseli: flickr.com/delgrossodotcom
Yazı oldukça doyurucu teşekkür ederim. Konuyla ilgili http://bulentkeskin.net/kriptoloji-kriptografi-bilgi-guvenligi-ve-sifreleme-tarihi/ yazımı da okumanızı isterim.
Kriptoloji ile ilgili önerebileceğin bir kitap varmı?