Şifrelemenin tarihi – Kriptoloji Yazı Dizisi 1

Bundan iki günce önce “Data Security” dersime çalışırken, internette veri güvenliği ile ilgili yazılmış onlarca dökümandan yararlandım. Bu dökümanların bazıları çok açıklayıcı ve kolay bir dilde yazılmış olmasına rağmen bazıları gerçekten karışık ve anlaşılması için temel bilgi gerektiren yazılardı. Tahmin edersiniz ki bu makalelerin çoğu ingilizceydi. Ben de bir öğrenci olarak, karşılaştığım sorunları ve anlaşılması zor yerleri daha kolay tesbit edeceğimi düşünüp, bildiğim ve araştırdığım kadarıyla, Veri Güvenliği hakkında Türkçe bir kaynak hazırlamak istedim. Türkçe terimleri kullanmaya dikkat ettim, fakat anlaşılır olması ve karışıklıkları önlemek için ingilizcesini de yazdım.

Umarım faydalı olur ….

Şifrelemenin Önemi

Biraz basitten başlayalım, şifremelenin yapılmadığı veya çok zayıf olduğunu bir dünya hayal edelim. Bu dünyada biraz bilgisayar bilen neler mi yapabilir ? Mesela çok uzaklaradn telefon konuşmalarınızı rahatça dinleyebilir,  kablosuz klavye kullanıyorsanız yazdıklarınızı çevrenizdeki bir yerde çayını içerken okuyabilir.  Kablosuz internetinizde artık halka açık sayılır. İnternette e-ticaret sitelerinde kredi kartını kullanarak alışveriş yapmak, dışarıya “Ev boş” yazıp, kapıyı açık bırakmak kadar güvenli. Örnekleri biraz daha ileri boyuta götürürsek, işin içine askeri bilgiler, devlet güvenliği giriyor. Hatta en güzel örneklerinden biri Enigma’dır. 1. Dünya Savaşı”nda yüksek önem taşıyan mesajları kırılan Almanlar, daha savaş bitmeden bir Enigma’yı geliştirip 2. Dünya Savaşı için kullanıma hazırladılar. Bu gönderilen mesajlar o kadar önemliydi ki , şifreleri kırmak için bir çok ülke kendi içinde özel bir bölüm oluşturup, Enigma’nın kırılması için çalıştı.  Almanya’nın savaşı kaybetmesinde bu mesajların kırılmasının çok büyük önemi olduğu söylenir. Öyleki Almanlar’ın saldıracağı yerler, birliklerin yerleri önceden kırılan şifrelerden öğrenebiliyordu buda savaşın akışını değiştirdi.

Şifrelemenin Tarihçesi ve Basit Şifreleme Algoritmaları

Şifrelemenin ilk önce çok çok önce (+4500 yıl)  mısırlılar tarafından kullanıldığı söylenir. Daha sonra yunan ve romalılar kullanmıştır. En ilkel yöntemlerden  sevdiğim bir kaçını yazayım. Örneğin eskiden yunanlılar özel mesaj göndermek istediğinde, kölelerin başını kazıyıp (saçlarını kesip yani :) ), mesajı yazdıktan sonra saçlarının uzamasını bekliyorlarmış. Mesajı okumak için yine saçlarını kesiyorlarmış.  Bir diğeri, şerit halindeki bir bezin sopaya sarılıp mesajın yazılmasından sonra, aradaki boşlukların rastgele karakterlerle doldurulması idi. Tam anlamadınız biliyorum, ama bunu resimlerle anlatabilirim, deney için bir kağıt ve kalem yeterli. Makas fazladan göz doldursun diye …

İnce bir şerit halinde kağıttan biraz keselim.

Kaleme şerit halinde sarıyoruz, kağıdı ve  üzerine gizli mesajımıazı yazıyoruz.

Daha sonra şeridi açıp, aralarını rastgele karakterler ile dolduruyoruz.

Şu an eğer bu gizli mesajımız başkasının eline geçerse, büyük ihtimalle bir şey anlamayacaktır. Bunu çözmesi için ancak aynı yarı çapa sahip bir silindir şeklin etrafına sarıp okuması lazım.

Aslında saçları kesip mesaj yazma yöntemini de denemek istiyordum, ama gönüllü bulamadım. Neyse devam edelim.  Bir diğer tarihte bilinen eski yöntemlerinden biri sezar (Caesar Cipher) şifrelemesidir. Bu şifreleme bir kelimede ki her harfin 3 harf sağa kaydırılması ile oluşuyordu.  Örneğin (ingiliz alfebesi ile);

“abc”  kelimesi 3 sağa kaydırarak şifrelersek:; a=>d , b=>e, c=>f haline dönüşür ve yeni kelime

“def”  olur.

“acik” kelimesi için bir sağa kaydırmalı yeni kelime “dfln” ‘dir.

Daha detaylı bilgiyi ve örnekleri bu sitede bulabilirsiniz. http://www.simonsingh.net/The_Black_Chamber/caesar.html

Eğer biraz daha tarihte ilerlersek karşımıza Gilbert Vernam’ın bulduğu ve ünlü tek kullanımlık şerit (one time pad) algorithması çıkar. Bu algorithmanın kırılması imkansız olarak tanımlanıyor.  Şifrelemeside oldukça basit, elinizdeki metin ile aynı uzunluktaki rastgele karakterlere sahip bir metni topluyor ve şifrelenmiş metin elde ediyor. İki metini toplamak ne demek ? Şöyleki her harfin alfabedeki sırası toplanıyor örneğin B = 1 D=3  (ingiliz aflabesi) a+d = 4 yani E eder. (A=0 kabul ediyoruz.)

Peki alfabedeki harf sayısından fazla toplam çıkarsa ne olucak ? Yani H(7)+Z(23) = ?(30) sonucunca ne yapacağız ? Bu durumda ingilizce aflabesi 26 harfli olduğundan 30. harfin karşılığı yoktur. Bu yüzdek mod(26) işlemi uygulayacağız. Böylece H(7)+Z(23) = 30%26 = 4 çıkacaktır oda E harfine karşılık gelir. Şifreyi çözmek içinde bütün adımları tersten yapmamız yeterli olur. Örneğin şifreli metinimiz E(4) ise ve anahtarımız (şifrelemede toplanan metin) Z(23) ize yapcağımız işlem (4-23)%26= 7 yani H olacaktır. Aslında bu şifreleme sezar şifrelemesi ile çok yakın. Sezar şifrelemesinde her harfi 3 sağa kaydırırken(D harfi ile toplarken), bu algorithmada her harfi rastgele sayılar kadar kaydırıyoruz.  Şimdi genel bir örnek çözersek.

Kelimemiz: acik

Anahtarimiz: nrdy

a(0) c(2) i(8) k(10)

n(13) r(17) d(3) y(24)

a+n=13, c+r=19, i+d=11, k+y=34%26= 8

Şifrelenmiş metinimiz: n(13) t(19) l(11) i(8)ntli’dir. Şimdide anahtarı kullanarak çözelim.

Şifrelenmiş metin: ntli

Anahtar: nrdy

n(13) t(19) l(11) i(8)

n(13) r(17) d(3) y(24)

13-13=0, 19-17=2, 11-3=8 8-24=-16%26=10

Düz metinimiz: acik. Kırılmasının imkansız olması, deneme yanılma yöntemleri ile birden fazla anlamlı kelime çıkma ihtimalidir. Diyelimki şifreli metinimiz şifremizi kırmak isteyen birinin eline geçti. “ntli” şifrelenmiş metinimizin harflerini rastgele kaydırarar 4 harfli bütün kelimeleri elde elebiliriz. Bu yüzden kırılması imkansız deniyor.

Geçmişte kullanılan bir kaç basit algorithma ve şifrelemenin tarihi hakkında artık bilgi sahibisiniz. Diğer yazımda, biraz daha günümüz şifreleme türlerine giriş ve simetrik anahtar şifreleme (Symmetric key cryptography) hakkında bilgiler bulabileceksiniz.

Hepinize iyi çalışmalar …

Bu yazı toplam 290 kere görüntülenmiştir.

0saves
Eğer yazıyı beğendiyseniz lütfen yorum bırakın veya diğer yazılardan haberdar olmak için RSS'e üye olun..

İlgili Yazılar:

Yazar Hakkında


Yazar:

Hakkında / İlgi Alanları: Php, Python, Java, Güvenlik, Algoritmalar, Fotoğraf, Kitap, Sinema
Kategori: Güvenlik, November 13th, 2010

Yazarlarımızdan , bu yazı dahil toplam 30 adet yazı yazmış.

2 yanıt

  • Genellikle şifreleme algoritmaları çok ilgi çekicidir ancak günümüzdeki teknolojiye karşı ayakta kalabilmek için artık çok karmaşık bir hal almışlardır. Yeni başlamaya karar veren bir kişi ilk andan itibaren hash algoritmalarıyla karşı karşıya kaldığında kısa sürede vazgeçerek bu konuyu kendilerine imkansız gibi görmektedirler. Bu anlayıştan yola çıkarak basit , zevkli ve görselli bir anlatım yapman çok faydalı olmuş elin sağlık…

  • Konu anlatımı güzel,fotoğraflar ayrı bir güzel olmuş :)



Cevap yaz