Şifrelerin Matematiği KRİPTOGRAFİ
Yazının
icadından günümüze, insanlar haberleşmelerinde gizliliği her zaman ön planda
tutmuşlardır. Gizli haberleşmenin ortaya çıktığı ilk yıllarda şifreleme kağıt
kalemle yapılan tekniklere dayanıyordu; ancak teknolojinin gelişimine bağlı
olarak, özellikle 1970’lerde büyük değişim geçiren kriptografi, günümüzde
disiplinlerarası bir bilim halini almıştır. Dünyada kriptografi alanında eğitim
ve araştırmaya yönelik ilk ders kitapları 1987 yılında çıktı. Ülkemizde ise bu
alanda ilk dersler, ODTÜ Matematik Bölümü lisans eğitiminde
seçmeli dersler olarak 1990’lı yılların başlarında verilmeye başlandı. Daha sonra
ODTÜ Matematik Bölümü ve TÜBİTAK Marmara Araştırma Merkezi (MAM) Temel
Bilimler grubu ortak çalışmalara başladı. Bu çalışmaların sonucunda, ülkemizde
kriptografi alanındaki akademik çalışmalar MAM’da da başlatılmış oldu. Burada
edinilen bilgi birikiminin MAM Elektrik-Elektronik Bölümünde projelendirilmesi
ve uygulama alanlarının hayata geçirilmesiyle TÜBİTAK Ulusal Elektronik ve
Kriptoloji Araştırma Enstitüsü (UEKAE)’nün temeli atıldı. Böylece UEKAE, 1995
yılında ülkemizde bu konuda faaliyet gösteren ilk araştırma merkezi olarak
kuruldu. Daha sonra bu alanda gelişmeler devam etti ve son olarak ODTÜ
Uygulamalı Matematik Enstitüsü (UME) bünyesinde 2002 yılında Kriptografi Bölümü
açıldı. Bu bölüm, ülkemizde, alanında ilk ve tek olarak lisansüstü eğitim
vermektedir. UME Kriptografi Bölümü’nde yüksek lisans ve doktora düzeyinde
eğitim alanlar; matematik, fizik ve istatistik gibi temel bilimlerin yanı sıra
elektrik-elektronik ve bilgisayar mühendisliği gibi farklı altyapılardan gelmekte
ve disiplinlerin buluştuğu bu dalda araştırma faaliyetlerini sürdürmektedirler.
Orta
Doğu Teknik Üniversitesi’nin 50. kuruluş yılı nedeniyle hazırlanan bu kitap,
kriptografi alanında temel düzeyde yazılan ilk Türkçe kaynaktır. Üniversitemizin
köklü geçmişini ve bilimsel anlamdaki etkinliğini temel alarak enstitümüzün bu
konudaki bilgi birikimini ve deneyimini kolay anlaşılır bir dille bu konuyla
ilgilenen insanlara aktarması da bu anlamda bir ilktir. Kitabın
hazırlanmasındaki amaç, günümüz insanına bu konuda profesyonel düzeyde olmasa
bile bilgi güvenliğinin gereksinimlerini anlatabilmek ve güvenli bilgi
paylaşımında kullanılan kriptografi hakkında yeterli tanıtımı yapabilmektir.
Son
dönemlerde filmler ve kitaplar sayesinde popülaritesi artan kriptografi, hâlâ
birçok insan için bilinmezliğini koruyor. Oysaki tarihten günümüze
haberleşmelerimizde gizliliği sağlayan, kralların, kraliçelerin ölümüne sebep
olan, savaşların seyrini değiştiren kriptografi çok önemli, fakat bir o kadar
da gizli bir bilim olmuştur.
Bu
kitapla, tarihsel süreçte kriptografinin nasıl geliştiği, günümüzde ne düzeyde
olduğu ve gelecekte de gelişen teknolojiyle birlikte nasıl bir yöne gideceği
anlatılmaya çalışılmıştır. Ayrıca kitap hazırlanırken bu konuyla ilgilenenler
ve daha fazla bilgi edinmek isteyenler göz önüne alınmıştır. Bu nedenle
olabildiğince az teknik bilgiye yer verilmiş ve kriptografide kullanılan temel
şifreleme algoritmalarının tasarımından çok, nerede ve nasıl kullanıldığı
konularından söz edilmiştir. Gerekli temel matematik bilgileri de kitap sonuna
koyulan ek kısmında anlaşılır bir dille verilmiştir.
Kitapta
söz edilen şifreler, yazıldığı dönemlerde çok gizli haberler taşımış, çok
önemli ve tarihi sonuçların ortaya çıkmasını sağlamıştır. O dönemlerde gizli
tutulan bu şifrelerin zaman geçtikçe ortaya çıkması ve sır perdesinin
aralanması bu konuyu daha da ilgi çekici ve gizemli kılmaktadır. Okuyucunun da
konudan bizler gibi keyif almasını ve kitabı zevkle okumasını ümit umuyoruz.
Kısa
sürede hazırlanan bu kitabımızda mutlaka gözden kaçan hatalar olmuştur.
Bunların tarafımıza iletilmesi ile gelecek baskılarda daha faydalı olunmasına
çalışılacaktır. Kitap ile ilgili eleştiri ve önerilerinizi de yine aynı
açıklıkla bekliyoruz.
Hazırlayanlar:
Canan ÇİMEN -Sedat AKLEYLEK- Ersan AKYILDIZ
Canan ÇİMEN -Sedat AKLEYLEK- Ersan AKYILDIZ
Sh:1-3
Yazının
icadı insanlık tarihinin başlangıcı olarak kabul edilir. Yazıyla birlikte
bilgi toplanabilir, saklanabilir ve iletilebilir hale gelmiştir. Yazı insanlar
arasındaki iletişimi kolaylaştırmıştır. Başlangıçta insanlar yazdıklarını
meraklı gözlerden saklama ihtiyacı hissetmemiş, fakat zamanla toplumlar
arasında çıkan çekişmeler sebebiyle haberleşmenin gizli yapılması gerekliliği
ortaya çıkmıştır. Milattan önceki dönemlerden ele geçen kalıntılarda ortaya
çıkan birtakım anlamsız semboller gizli yazı tarihinin o dönemlere dayandığını
göstermektedir. Kripto tarihçisi David Kahna göre ilk
kriptografik belge yaklaşık olarak M.Ö. 1900 yılında yazıldığı tahmin edilen
bir hiyerogliftir. Bu yazıt bir lordun hayatını anlatmaktadır.
Aynı
şekilde, M.Ö. 1500 yılına ait olduğu düşünülen bir Mezopotamya tabletinde
çömleklerin cilalanması hakkındaki bilgilerin şifrelenmiş olarak bulunduğu
anlaşılmıştır. Daha sonraları, M.Ö. 600-500 yılları arasında yazılmış olan ve
Eski Ahit’te de yer alan İbrani peygamber Yeremya
(Jeremiah)’nın kehanet
ve uyarılarında bazı şifreli kelimelere rastlanmıştır. O dönemde yaşanan Babil
saldırısını önceden haber veren Yeremya peygamber, yazılarında ATBASH adı
verilen bir şifre sistemini kullanmıştır. Sistem şu şekildedir: İbranice
alfabesindeki ilk harf sondan birinci harfle, ikinci harf sondan İkinciyle,
üçüncü sondan üçüncüyle olacak şekilde tüm alfabe kendi içinde bu kurala göre
yer değiştirir. Örneğin Yeremya, kehanetlerinde Babel (Babil)
yerine İbranice alfabeye göre şifrelenmiş “Sheshach” kelimesini
kullanmıştır. ATBASH şifresini Türkçe alfabeye göre uyarlayacak olursak “A”,
“Z” ile “B”, “Y” ile “C”, “V” ile şeklinde tüm alfabedeki harfler yer
değiştirir. Şimdi “BABİL” kelimesini Türkçe’ye göre şifreleyelim: “B”,”Y” ile,
“A”,”Z” ile, “İ’V’O” ile değişir ve “L” ortadaki harf olduğu için değişmeden
kalır. Böylece şifrelenmiş sözcük “YZYOL”dir.
Şifreleme
işlemlerinde harflerin yanı sıra sayılar da kullanılmıştır. Eski çağlardan
beri insanlar sayılara özel bir önem vermiş ve onlara rakamsal değerlerinin
ötesinde anlamlar yüklemişlerdir. Sayılarla oluşturulan şifreleme sistemleri
genelde alfabedeki harflerin yerine sayılar getirilerek yapılıyordu. Hemen her
dilin alfabesindeki harflerin çok eskiden beri rakam olarak birer karşılığı
bulunduğu bilinmektedir. Bunlar arasında en çok tanınanı İbrani-Süryani, Grek
ve Latin harf-sayı sistemidir. Daha sonra bu sistem Arapça için de
uygulanmıştır. “Ebcet hesabı” denilen ve Arap alfabesinin ebcet
tertibine dayanan rakamlar ve hesap sistemi Müslüman milletler arasında halen
kullanılmaktadır.
Ebcet,
Arap alfabesindeki harflerin kolay öğrenilmesi için düzenlenmiş sözcüklerdir.
Sekiz sözcükten oluşur. Bu sekiz sözcük içinde 28 harf bulunmaktadır. İlk dokuz
harf 1-9’u, ikinci dokuz harf 10-90’ı, üçüncü dokuz harf 100-900 sayılarını ve
son harf 1000’i gösterir. Ebcet hesabında harflerin sayısal değerleri Arap
alfabesindeki sıraya göre değil, İbranice ve Süryanice’deki sıralamaya göredir.
|
||||
Harfler
|
Küçük (Asıl) Ebced
|
En Küçük Ebced
|
Büyük Ebced
|
En Büyük Ebced
|
Elif ا
|
1
|
1
|
111
|
13
|
Be, Pe ب
|
2
|
2
|
3
|
611
|
Cim, Çim ج
|
3
|
3
|
53
|
1035
|
Dalد
|
4
|
4
|
35
|
278
|
He ه
|
5
|
5
|
6
|
705
|
Vav و
|
6
|
6
|
13
|
465
|
Ze, Je ز
|
7
|
7
|
8
|
137
|
Ha ح
|
8
|
8
|
9
|
606
|
Tı ط
|
9
|
9
|
10
|
535
|
Ye ى
|
10
|
10
|
11
|
575
|
Kef, Gef ك
|
20
|
8
|
101
|
630
|
Lam ل
|
30
|
6
|
71
|
1090
|
Mim م
|
40
|
4
|
90
|
333
|
Nun ن
|
50
|
2
|
106
|
760
|
Sin س
|
60
|
-
|
120
|
520
|
Ayn ع
|
70
|
10
|
130
|
192
|
Fe ف
|
80
|
8
|
81
|
651
|
Sad ص
|
90
|
6
|
95
|
590
|
Kaf ق
|
100
|
10
|
181
|
651
|
Re ر
|
200
|
8
|
201
|
502
|
Şın ش
|
300
|
6
|
360
|
1077
|
Te ت
|
400
|
4
|
401
|
320
|
Se ث
|
500
|
2
|
501
|
747
|
Hı خ
|
600
|
-
|
601
|
512
|
Zal ذ
|
700
|
10
|
701
|
179
|
Dad ض
|
800
|
8
|
805
|
653
|
Zı ظ
|
900
|
6
|
901
|
577
|
1000
|
10
|
1060
|
111
|
Ebcet
hesabında esas; alfabenin her harfine bir sayı değeri vermek ve bir sözcüğü
oluşturan harflerin toplam sayı değerini anlatılmak istenen bir olayın tarihine
denk düşürmektir. Böylece, ebcet hesabıyla belirli bir tarihi anlatan
sözcüklere veya satırlara baktığımızda karşımızda herhangi bir rakam göremeyip
kâğıdı, kalemi ele alıp o sözcük veya satırın her harfinin sayı değerini
birbiriyle toplayarak sonucu bulmamız gerekir. Tarihte bu yöntem temel
bilimlerden mimariye kadar birçok alanda kullanılmış, ayrıca şifreleme
sistemleri için de esin kaynağı olmuştur. En fazla kullanıldığı yer “tarih
düşürme”dir. Tarh düşürme, bir olayın tarihini verecek ustalıklı bir sözcük
veya cümle söyleyerek o sözcükteki harflerin ebcet hesabıyla hesaplanıp verilen
olayın tarihinin çıkarılmasıdır. Başka bir deyişi, anlatılan bir olayda
kullanılan kelimelerin harfleri ebcet hesabıyla hesaplanarak o olayla ilgili
bir tarih çıkarılır. Günümüzde kutsal kitaplarda tarih düşürme yapılarak
birtakım olayların tarihleriyle bağlantı kurulmaya çalışılıyor.
Tarihteki
ilk şifreleme örneklerine dönecek olursak, bahsedilen bu bulguların genelde
sivil amaçlı kullanıldığını görmekteyiz. İlk askeri amaçlı kullanımın ise
Yunanlılar tarafından M.Ö. 5. yüzyılın başlarında Skytale adını verdikleri
şifrelen!', cihazı ile olduğu bilinmekledir. Skytale aynı zamanda kullanılan
ilk kriplografik cihazdır. Skytale kullanarak bir mesaj şifrelemek için öncelikle
uzun bir parşömen ya da papirüs, sılindirik bir sopa etrafına sarılıyordu.
Gizlenecek mesaj, uzunlamasına papirüs sarılı sopa üzerine, her bir şerit
turunda bir harf gelecek şekilde yazılıyordu. Şerit açılıp kaldırıldıktan
sonra anlamsız harflerin oluşturduğu şifrelenmiş metin ortaya çıkıyordu. Şifre
çözme işlemi için, şifrelemede kullanılan sopa İle aynı çapta ve uzunlukta bir
sopaya sahip olmak gerekmekteydi. Sopanın çapındaki en ufak bir farklılık
anlamsız metinlerin ortaya çıkmasına sebep olmaktaydı.
Rulo
olmadan karmaşık gözüken şeritteki harfler, şerit ruloya sarıldıktan sonra
anlamlı bir mesaj ortaya çıkarır.
Tarihte
ortaya çıkan şifrelenmiş tabletlerin yanı sıra, o dönemleri anlatan eserlerde
de gizli yazışma tekniklerinden bahsedilmiştir. Bunlardan biri, Heredotus’un
yazdığına göre M.0.480 yılında Yunanlılar ve Persler arasındaki savaşta kullanılmıştır.
Steganografi
adı verilen bu teknik, eski Yunancada “gizlenmiş yazı” anlamına
gelmekteydi. Eserde
şöyle anlatılmaktadır: İran’da bulunan bir Yunanlı, Yunanlılara karşı
düzenlenmesi planlanan Pers istilasını kölesinin saçını kazıtarak, kafa
derisinin üzerine dövme ile yazmış ve kölesini, saçları uzadıktan sonra
Atina’ya yollamıştır. İranlılar tarafından yakalanmadan Atina’ya giden köle,
saçını tekrar kazıtıp mesajı iletmiş, bu sayede Yunanlılar Pers istilasına
hazırlanmış ve savaşı kazanmıştır.
Steganografiyle
ilgili tarihte birçok örneğe rastlanmaktadır. Yumurta üzerine cıvayla yazı yazma, yazılan mesajın bulunduğu kağıdı
buruşturup ufaltıp balmumu ile kaplayarak yutma gibi daha birçok yaratıcı ve
ilginç örnekler vardır.
Steganografiden bir örnek de kendi tarihimizden verebiliriz. Kaynaklardan elde
ettiğimiz bilgilere göre tarihimizde kriptografiden çok steganografinin
kullanıldığı bilinmektedir. Kurtuluş Savaşı’nı sona erdiren Büyük Taarruz
emrinin verildiği Afyonkarahisar’daki Türk istihbarat timleri çok basit bir
steganografi örneğini kullanarak halk ile haberleşiyordu. Sinanpaşa ilçesi ve
çevre köylerindeki düşman askerlerinden edinilen bilgileri Sandıklı’da bulunan Fahrettin
Altay Paşa’ya istihbarat görevlileri ulaştırıyordu. Toplanan istihbarat
bilgileri limon suyuyla kağıt üzerine yazılıyor ve mektubun düşman askerlerinin
eline geçmesi durumunda boş sanılarak dikkat çekmemesi sağlanıyordu. Beyaz
kağıt üzerine limon suyuyla yazılan bilgiler ateşe tutulduğunda görülür hale
geliyor ve yetkili kişilerce okunabiliyordu. Limon suyuyla yazılan mektuplar,
ekmekler içinde gerekli yerlere ulaştırılırken, okunduktan sonra ateşte
yakılarak imha ediliyordu.
Kaynaklardan
anlaşıldığı üzere kriptografi steganografinin gelişimine paralel olarak o
dönemlerde ortaya çıkmıştır. Başka bir deyişle yazıyı saklamanın yeterli
olmadığını anlayan insanoğlu bir de yazıyı anlamsız sözcüklere çevirmeye
başlamıştır. Kriptografinin steganografiden farkı, mesajın saklanması değil,
içeriğinin değiştirilerek anlamsız hale getirilmesiydi. Bu nedenle,
şifrelenmiş metin ele geçirilse de mesajın açığa çıkarılması zordu.
Steganografi ise gücünü tamamıyla mesajın saklanmasından almaktaydı. Eğer
haberci şüphe çeker de yakalanırsa mesaj bir kerede açığa çıkmış oluyordu.
Steganografinin tek avantajı ise mesajın masum görünüşlü bir ortamda saklandığından
ötürü dikkat çekmiyor olmasıydı.
Tarihte
iki yöntemin beraber kullanıldığı durumlar da oldu. Bunlara örnek olarak,
II. Dünya Savaşı’nda kullanılan mikro nokta yöntemini verebiliriz. Alman ajanlarının kullandığı
bu yöntem bir sayfalık metni şifreleyip, fotoğraf teknikleriyle çapı bir
milimetre civarında bir nokta boyutuna küçültmekte ve daha sonra bu mikro
noktayı görünüşte önemsiz bir mektubun son noktası üzerine gizlemekteydi.
Böylelikle gizlilik iki kat pekiştirilmiş oluyordu. 1960’larda ise mor ötesi
boya ile yazı yazabilen spreyler ve kalemler çıkmıştı. Bunlarla yazılan yazılar
ancak mor ötesi bir ışıkta okunabiliyordu. Bu da steganografide kullanılan yöntemler
arasındadır.
Günümüzde
uygulandığı alanlar değişse de steganografi hala kullanılmaktadır. Özellikle
bilgisayar dünyasında çok geçerlidir. Dijital ortamda bulunan fotoğraf, video,
ses gibi büyük boyuttaki dosyalara herhangi bir veri saklanarak dikkat çekmeden
iletilmesi sağlanmaktadır, hatta dikkat çekmesi durumunda hemen açığa
çıkmaması için aynı zamanda şifrelenmektedir. Bu da günümüzde kriptografi ve
steganografinin beraber kullanıldığına bir örnek olarak verilebilir. Tarihte
steganografinin kriptografi kadar hızlı gelişememesinin ve daha az kullanılmasının
nedeni ise bilgisayarlar ortaya çıkmadan önceki uygulama tekniklerinin
kriptografi kadar bilimsel olmamasıydı. Şu anda ise bilgisayar dünyasında veri
alışverişinde oldukça yaygın bir şekilde kullanılmaktadır.
Tarihte
Skytaleden sonra karşımıza çıkan kriptografik örneklerden biri de Polybius’un dama
tahtası şifrelemesidir. Yunanlılar tarafından M.Ö. 205-123
yılları arasında tasarlanan bu sistemde kullanılan şifreleme alfabesi Yunan ve
Roma alfabesiydi. Polybius’un dama tahtası, elemanları harfler olan 5x5’lik bir
matristen oluşmaktaydı. Kural şöyleydi: Alfabe sırayla matrisin sıralarına
yazılır ve her harfi belirleyen iki rakam vardır; ilk rakam bulunduğu satırı,
ikinci rakam bulunduğu sütunu temsil eder.
Polybius’un
şifresinin Türkçe alfabe kullanılarak oluşturulan örneğinde harf sayısı
nedeniyle 5x6’lık bir matris kullanılmıştır. Bu şifrenin orjinali 5x5’lik bir
matristir.
http://slideplayer.biz.tr/slide/2459750/
Kuraldan
da anlaşılacağı gibi A=11, B=12,..., Z=55 olarak eşleştirebiliriz.
Bu
tabloyu kullanarak “36-15-46-52-51-54-22-51-331 ı_34-l
1-33-25-34-11-46-16-34-11-46-26-32-16-35-44-4626-46-52-44-52” şifre metnini
çözmeye çalışalım. Tablodan anlaşılacağı üzere “36=0”,”15=D” ve diğer sayıların
da matriste karşılık geldiği harfleri bulursak aşağıdaki düzmetni elde ederiz:
“ODTÜ
UYGULAMALI MATEMATİK ENSTİTÜSÜ”
Şifreleme
sistemlerinde, şifrelenecek mesaja düzmetin, şifrelenmiş mesaja da şifre-metin
denir. Aynı şekilde mesajın, yani düz-metnin yazılmış olduğu alfabeye düz
alfabe, şifre metnin yazılacağı alfabeye de şifre alfabe denmektedir. İlkel
şifreleme yöntemlerinde, düz alfabedeki harfler üstteki örnekteki gibi sayılar
veya alfabedeki başka harflerle değiştirilerek şifre alfabe elde ediliyordu ve
mesajları şifrelemek için bu şifre alfabeler kullanılıyordu. Basit şifreler
dediğimiz, artık modern kriptografide kullanılmayan, harflerin kendi arasında
yer değiştirmesiyle veya kaydırılmasıyla oluşan şifreler o dönemler için
yeterli ve güvenliydi. Şimdi bu tür şifrelere birer örnek verelim:
Mesajı
gönderen ve alan kişiler, şifreli mesajlaşmaya başlamadan önce aralarında
kullanacakları şifre algoritmasına, yani şifreleme yöntemine karar verirler.
Örneğin, Ayşe ve Barış aralarında şifreli bir şekilde mesajlaşsınlar ve
mesajlaşmadan önce kullanacakları şifre algoritmasına karar versinler.
Kullanacakları algoritma, mesajın harflerini sırayla önce bir üst satıra sonra
bir alt satıra yazma olsun. Yazdıktan sonra da şifrelenmiş mesaj önce üst
satırdaki harfleri sonra alt satırdaki harfleri yan yana getirerek ve bu iki
parçayı birleştirerek oluşsun. Örneğin, Ayşe Barışa “OKULDA BULUŞALIM” mesajını
göndersin:
Düzmetin : OKULDA BULUŞALIM
Algoritma : O U
D B L Ş L M
K L A U U A I
Şifremetin : OUDBLŞLMKLAUUAI
Şifremetni
alan Barış algoritmayı tersten uygulayarak düzmeme ulaşır. Bu algoritmanın
tersi ise şöyledir: Gelen şifremetindeki harflerin sayısı ya çifttir ya da
tektir. Çiftse, şifremetini tam ikiye bölüp harfleri sırasıyla bir ilk yarımdan
bir de ikinci yarımdan alırız ve düzmetni elde ederiz. Tekse, yukarıdaki
örnekteki gibi ilk satır İkinciden bir fazla olacaktır. Bu sebeple
şifremetindeki harflerin sayısının bir eksiğini alarak elde ettiğimiz sayıyı
ikiye böleriz. Çıkan sonucun bir fazlası algoritmanın ilk satırındaki harf
sayısını, çıkan sonuç da ikinci satırındaki harf sayısını verecektir.
Örneğimizde şifremetin 15 harf içeriyor. Bunun ilk 8 harfi ilk satırı, geriye
kalan 7 harfi de ikinci satırı vermeli. Bu şekilde şifremetni ayıralım:
OUDBLŞLM / KLAUUAI. Harfleri sırayla bir ilk kısımdan bir de ikinci kısımdan
alırsak düzmetni elde etmiş oluruz.
Yukarıda
gördüğümüz örnekte düzmetnin harflerini kendi aralarında belli bir algoritmaya
göre karıştırdık. Bu şekilde oluşturulan şifrelere yer değiştirme şifreleri
denir. Yer değiştirme şifreleri için bunun gibi birçok algoritma bulunabilir.
Mesela, aynı örneği mesajı üç satıra yayarak yapabiliriz veya mesajın, yani
düzmetnin harflerini önce baştan, sonra sondan sırayla alarak şifremetni
oluşturabiliriz. Daha fazla algoritma üretmeyi okurumuza bırakalım ve konumuza
kaldığımız yerden devam edelim.
Basit
şifrelerin bir başka çeşidi ise yerine koyma şifreleridir. Bu yöntemde, düz
alfabe, alfabedeki harflerin rastgele karıştırılmasıyla elde edilen ve her
harfin tek sefer kullanıldığı şifre alfabe ile bire bir eşleştirilir. Aşağıdaki
tabloda şifre alfabeyi belli bir kurala uymaksızın rastgele oluşturduk.
Gördüğünüz üzere şifre alfabede, alfabedeki her harf bir kere kullanılmıştır.
Düz Alfabe
ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ
Şifre Alfabe :
SAŞZRÖÇEİJKTYONPCMHÜDVLUI GBFĞ
Örneğin, “KRİPTOGRAFİ”
sözcüğünü tabloya bakarak şifreleyelim. Önce her harfi düz alfabeden bularak
şifre alfabedeki karşılığını yazarız ve şifremetni elde ederiz. Bulduğumuz
şifremetnimiz “ODTÜUMEDSÇT” dir. Yer değiştirme şifrelerinde düzmetnin nasıl
karıştırılacağına karar veriliyordu, burada ise gönderici ve alıcının şifre
alfabenin nasıl oluşturulacağı konusunda aralarında anlaşması gerekmektedir.
Yerine
koyma yöntemi kullanılarak oluşturulan tüm olası şifre alfabe sayısı,
mesajlaşılan dilin alfabesindeki harf sayısına bağlıdır. Mesela, Türkçe için
“29!=29-28-...*2-1=8841761993739701954543616000000”
tane
farklı şifre alfabe vardır. Şifremetni ele geçiren biri, şifre alfabenin
oluşturulduğu kuralı bilmiyorsa düzmetne ulaşabilmek için olası tüm şifre
alfabeleri denemeliydi, fakat tarihin o dönemlerinde bu işlem ancak elle
yapılabiliyordu ve bu kadar çok alfabeyi denemek bir insan ömrüne
sığmayabilirdi. Bu nedenle, kullanıldığı dönemde yer değiştirme ve yerine
koyma şifreleri, kırılması zor olduğu için güvenli, aynı zamanda kullanım
açısından pratik olmuştur. Ancak daha sonraları çıkan bir yöntemle olası tüm
şifre alfabeleri denemeden, dilin yapısal özelliklerinden faydalanarak bu tarz
şifreleri çözme mümkün olmuştur. Frekans analizi denilen bu yöntemi ilerleyen
satırlarda anlatacağız. Günümüzde ise bilgisayarlar sayesinde bu tür şifreler
kolayca kırılabilmektedir.
O
dönemlerde yerine koyma şifreleri kullanılırken, şifre alfabeler, yaptığımız
örneğin aksine daha kolay akılda kalacak şekilde, yani bir kurala göre
oluşturuluyordu. İki tarafın aralarında anlaşarak, mümkünse başkalarının eline
geçmemesi açısından kağıda not etmeden şifre alfabe oluşturmak için bir kural
belirlemeleri gerekmekteydi. Tarihte şifre alfabeyi üretebilmek için çok
çeşitli teknikler geliştirilmiştir. Bunlardan biri, M.Ö. 60-50 yılları arasında
Galya Savaşlarında kullanılan ve Julius Caesarın, Sezar şifresi adını verdiği
şifreleme sistemidir. Bu sistem sayesinde savaş boyunca gizli haberleşme
sağlanmıştır. Sezar şifresi, düz alfabe harflerinin yerlerinin kaydırılmasıyla
elde edilir ve bu şekilde oluşturulan şifrelere kaydırma şifreleri denir. Bu
sistemde, şifreleme işlemi düzmetinde bulunan her harfin, düz alfabede
kendisinden sonra üçüncü olarak gelen harf ile yer değiştirilmesiyle yapılır.
Aşağıdaki tabloyu kolaylık sağlaması açısından oluşturduk. Gördüğünüz üzere
şifre alfabe, düz alfabenin üç harf sola kaydırılmış halidir.
Düz Alfabe:
ABCÇDEF GĞH I İ J KLMNOÖPR S Ş T U ÜVYZ
Şifre Alfabe:
ÇDEFGĞHIİJKL M NOÖ P R S Ş T U Ü V Y Z A B C
Bu
şifreyi kullanarak mesaj göndermek isteyen bir kişi, mesajdaki her harfin
yerine şifre alfabedeki karşılığını koyarak şifremetni elde eder veya tablo
oluşturmadan mesajdaki her harfi üç harf sola kaydırır. Alan kişi ise aynı
şekilde tablo oluşturarak şifrelenmiş metindeki her harfin üstündeki harfi
alarak veya şifre metindeki her harfi 26 harf sola kaydırarak mesajını çözer.
Örneğin “SEN DE Mİ BRUTUS” metnini Sezar şifresiyle şifreleyelim. Yukarıdaki
tablo yardımıyla mesajdaki her harfin karşılığını tablodan bulalım. Şifre
metnimiz şu şekilde olacaktır: “UĞP GĞ ÖL DTYVYU”
Anlaşılacağı
üzere Sezar tarzında olan kaydırma şifrelerinin olası şifre alfabe sayıları
oldukça azdır. Örneğin, Türkçe için düşünecek olursak, kaydırma şifresi 29 adet
şifre alfabe ile oluşturulabilir. Başka bir deyişle Türkçe alfabe 29 kez kaydırılabilir.
Bunun sebebini açıklamak için modüler aritmetiği kullanabiliriz. Şimdi Türkçe
alfabeyi önce 1, sonra 2, sonra 3... ve en son 29 harf sola kaydırdığımızı
düşünelim. Alfabede 29 harf olduğu için 29 kez kaydırdığımızda bize yine
alfabenin kendisini verecektir ve kaydırma işlemine devam ettiğimizde bir
önceki işlemlerdeki şifre alfabeler elde edilecektir. Yani, alfabeyi 30 kez
kaydırmak, 1 kez kaydırmakla elde ettiğimiz alfabeyi verecek, 58 kez kaydırmak
ise, yine alfabenin kendisini verecektir. Burada 29 ve katlarında alfabe başa
döndüğü için toplamda 29 tane şifre alfabe vardır ve kaydırma sayısının 29 a
bölümünden kalan sayı bize ilk döngüdeki kaydırma sayısını verecektir. Mesela,
alfabeyi 60 harf sola kaydırmak, 60’ı 29’a bölünce 2 verdiği için, 2 harf sola
kaydırmak demektir. Şifre çözme işlemi içinse algoritmanın tersi uygulanır.
Elimize Sezar şifresiyle şifrelendiğini bildiğimiz bir metin geçsin. Yukarıdaki
tabloyu oluşturup şifremetindeki her harfi şifre alfabeden bulup düz
alfabedeki karşılığını buluruz ya da modüler aritmetik bilgimiz varsa şifre
metindeki her harfi 26 harf sola kaydırıp düzmetni elde ederiz. Çünkü 3 harf
sola kaydırılmış şifre alfabe 26 harf daha sola kaydırılırsa toplamda 29 harf
kaydırılmış olacak ve bize düz alfabeyi verecektir. Sonuç olarak kaydırma
şifrelerindeki şifreleme ve şifre çözme işlemleri modüler aritmetikte mod 29
da yani Z29 yapılan toplama ve çıkarma işlemleriyle ifade
edilebilir. Z29 , matematikten de hatırlayacağımız üzere, elemanları
{0,1,2...,28} tam sayıları olarak gösterilen bir denklik kümesidir. Her
tamsayının (x∈ Z), Z29’da tek bir temsili vardır ki, o da x’in 29’a
bölümünden kalan sayıdır. Bu nedenle, 29 la bölününce kalanı aynı olan sayılar
birbirlerine denktir. Kaydırma şifrelerinin matematiksel açıklaması ve modüler
aritmetik hakkında ayrıntılı bilgi Ek 2’de verilmiştir.
Buraya
kadar gördüğümüz örneklerde belirttiğimiz gibi mesajı gönderen ve alan kişi
algoritma üzerinde önceden bir karara varmalı ve bunu güvenli bir şekilde
saklamalıdır. Şifreleme algoritmasının kullandığı bazı özel bilgiler olmalı ve
düşman algoritmayı bilse bile bu özel bilgileri bilmeden şifreyi
çözememelidir. Bu özel bilgilere kriptografide “anahtar” diyoruz. Örneğin Sezar
şifresini ele alalım: Şifreleme algoritmamız kaydırma yöntemi, anahtarımız ise
“alfabedeki harfleri üç harf sola kaydırma”dır. Alıcı mesajı alınca anahtar
bilgisini kullanarak şifremetni düzmetne çevirebilir. Şifreleme veya şifre çözme
algoritması anahtar olmadan kullanılamaz. Mesela, alıcı ve gönderici, kaydırma
şifresi kullanalım, diyerek kaydırma miktarını belirlemeden mesajlaşırsa alıcı
tüm şifre alfabeleri denemek zorunda kalır. Bu durumda alıcının araya giren düşmandan
farkı yoktur.
Şifreli
haberleşmenin güvenliği kullanılan yönteme ve büyük ölçüde anahtara bağlıdır.
Güvenli bir sistem için olabildiğince güvenli bir algoritma ve daha da
önemlisi güvenli bir anahtar tasarlanmalı ve sıkı bir şekilde korunmalıdır.
Ancak bu noktada tarafların uzak olması durumunda anahtarın oluşturulma ve
iletilme problemi oluşmaktadır. Anahtarın iletilmesi için de ayrı bir algoritma
ve ayrı bir anahtar mı olmalıdır? Bu durumda ortaya çıkan yeni anahtarın
iletilme sorunuyla ve bu şekilde sonu gelmeyen bir problemle karşı karşıya
kalınmaktadır. Kriptografi zamanla bu sorunun da üstesinden gelmiş ve yeni
tekniklerle bu probleme de bir çözüm üretmiştir. Anahtarın iletilme ve
gizlenme yöntemlerine ileriki konularda ayrıntılı bir şekilde yer
verilecektir. Şimdi konumuza kaldığımız yerden devam edelim ve ilkel şifreleme
yöntemlerinde daha sonra ortaya çıkan gelişmeleri görelim.
Şifre
alfabenin, düz alfabeyi kaydırarak oluşturulan kaydırma şifrelerinin daha
sonraları yetersiz olduğu ve az sayıda denemeyle kırılabileceği görüldü. Bu
sırada şifre alfabe oluşturma teknikleri sürekli gelişmekteydi. O dönemlerde
çıkan başka bir yöntem de bir anahtar belirleyip şifre alfabeyi o anahtara göre
sıralamaktı. Şimdi bunu bir örnekle açıklayalım: Kahramanlarımız Ayşe ve Barış
yeni bir yöntemle haberleşmeye karar verirler. İlk olarak aralarında anlaşarak
anahtar bir sözcük bulurlar. Anahtarları “MATEMATİK” olur. Bu algoritmada
anahtarda birden fazla kullanılan harfler atılır, bu durumda anahtar MATEİK
olacaktır. Oluşan harf grubu şifre alfabenin başına yazılır ve alfabedeki geri
kalan harfler ise bu kelimenin ardından sıralanır. Böylece Ayşe ve Barış
mesajlarını bu şifre alfabeye göre şifrelerler.
Düz Alfabe:
ABCÇDEFGĞHI İ J KLMNOÖ P R SŞTUÜVYZ
Şifre Alfabe:
MATE İ KBCÇDFGĞHI J LNOÖPRS ŞUÜVYZ
Bu
şifrenin kriptanalizi şifre alfabenin bulunabilmesine, bu da anahtarın
bilinmesine bağlıdır. Anahtarın tahmin edilmesi ise oldukça zordur. Verdiğimiz
örnekte anahtar sözcüğümüz basitti ve alfabedeki son harfler düz alfabedeki
aynı harflerle eşleşti. Bunu engellemek için iki tarafın zor bir sözcük veya
cümlede anlaşması sistemin güvenliği açısından daha iyi olacaktır.
Şimdiye
kadar anlatılan şifreleri tasarlayanların yanı sıra, bu şifrelerin zayıf
yönlerini bulmaya çalışanlar da vardı. Anahtara sahip olmadan, şifrelenmiş bir
mesajı deşifre etme bilimi olan kriptanaliz, ilkel şifrelerin kırılma
çabalarıyla ortaya çıkmıştır. Bu basit şifre sistemlerini olası tüm şifre alfabeleri
denemeden daha kolay bir yoldan çözebilmek için matematik, istatistik ve
dilbilim alanlarında yeterli bilgiye sahip olmak gerekiyordu. O yıllarda,
Abbasi dönemini yaşayan Araplar birçok bilim alanında ileri seviyedeydi. Aynı
zamanda kriptanaliz için gerekli olan matematik, istatistik ve dilbilim
alanlarında önemli çalışmalar yapılıyordu. Bu bilim dallarının gelişmiş olması kriptanalizin Araplar
tarafından bulunmasını sağladı ve bu alanda ilk eserler Araplar tarafından
yazıldı. Bunlardan ilki 9. yüzyılda yaşamış ve
Arapların Filozofu olarak bilinen Al-Kindi’nin yazdığı “Kriptografik
Mesajların Deşifresi” isimli yazıdır. Bu yazı İstanbul’da, Süleymaniye Osmanlı
Arşivi’nde bulunmaktadır ve kriptanaliz üzerine yazılmış ilk makale olup
frekans analizi kavramını ortaya atmıştır. Al-Kindi’nin kriptanaliz tekniğini
şöyle özetleyebiliriz: Yazıldığı dili bildiğimiz şifreli bir mesajı çözmek için
aynı dilde yazılmış yeterince uzun bir metin bulup her bir harfin kullanım
sıklığını hesaplamak gereklidir. Metinde en sık kullanılan harf, şifreli
mesajdaki en sık kullanılan harfe denk gelmektedir. Aynı işlem, sırasıyla diğer
harfler için de yapılır. Bu işlem bittikten sonra mesajdaki harfler ortaya
çıkmış olur. Al-Kindi, bu kriptanaliz yöntemine frekans analizi adını
vermiştir. Sebebi ise bir dildeki her harfin bir kullanım sıklığı, yani
frekansı vardır. Bir harfin frekansı yeterince uzun metinler seçilerek bulunur
ve frekans o harfin kaç kez kullanıldığının metindeki toplam harf sayısına
bölümüdür. Bu sayı küçük sapmalar gösterebilir, fakat harflerin frekanslarının
kendi aralarındaki büyüklük sırası genelde değişmez.
http://tr.wikipedia.org/wiki/Kind%C3%AE
Dünyada
aynı alfabenin kullanıldığı bütün dillerde her harf aynı sıklıkta
kullanılmamaktadır. Örneğin, Latin alfabesini kullanan Türkçe ve İngilizceyi
düşünürsek, Türkçede en çok kullanılan harf “A” iken İngilizcede “E”dir. Bu
nedenle frekans analizi yapabilmek için öncelikle şifrelenmiş metnin hangi dilde
yazıldığını bilmek gerekir. Hangi dilde yazıldığı biliniyorsa yapılacak şey, o
dilin harflerinin frekanslarını bulmak olacaktır. Dilin harf frekansları elde
edildiği zaman şifreyi çözmek uzun bir zaman almayacaktır. Şifremetinde en çok
kullanılan harf, dilde en çok kullanılan harfe ya da harflerden birine karşılık
gelecektir. Bu işlem şifremetinde en çok kullanılan harften en az kullanılan
harfe doğru yapıldığı zaman, kriptanalizde başarılı olma olasılığı yükselir.
Harflerin frekans dağılımına ek olarak sesli ve sessiz harflerin ilişkileri,
İkililerin, üçlülerin bulunuş karakteristikleri ve tekrar eden durumları
kullanılarak kriptanalizde başarı sağlanabilir. Bunun açıklaması ise, şifre
sisteminde harflerin sadece yer değiştirmesidir. Dilin sahip olduğu özellikler
değişmediği için şifre alfabedeki harfler, yerine geçtikleri düzmetiıı
alfabesindeki harflerin özelliklerini alır.
Türkçemiz için oluşturulan harf frekans tablosu
6.421.357 adet harften oluşan metinler üzerinde yapılan hesaplamalar sonucunda
aşağıda verilmiştir.
HARF
|
Binde
|
HARF
|
Binde
|
HARF
|
Binde
|
A
|
121
|
I
|
48
|
R
|
68
|
B
|
25
|
i
|
107
|
S
|
28
|
C
|
9
|
J
|
0,5
|
ş
|
16
|
ç
|
10
|
K
|
47
|
T
|
31
|
D
|
41
|
L
|
62
|
U
|
29
|
E
|
95
|
M
|
37
|
Ü
|
15
|
F
|
5
|
N
|
71
|
V
|
8
|
G
|
13
|
O
|
22
|
Y
|
31
|
Ğ
|
11
|
Ö
|
7
|
Z
|
14
|
H
|
11
|
P
|
8
|
|
|
Harflerin kullanım sıklıkları
|
Tabloyu
anlamak için birkaç örnek verelim. 1000 karakterden oluşan bir metinde yaklaşık
olarak 121 tane A harfi, 25 tane B harfi bulunur. Bu durum aslında çok genel
bir yaklaşım olup sadece tabloyu açıklamak için verilmiştir. 1000 harflik bir
metin frekans analizi için oldukça kısadır. Burada yaklaşık altı buçuk milyon
harften oluşan metindeki harflerin kullanım sıklıklarını daha iyi
açıklayabilmek için 1000 harflik bir metne indirgeme yapılmıştır. Tablodan
görüldüğü üzere Türkçemizde en çok kullanılan sesli harfler sırasıyla “A,İ,E”,
en çok kullanılan sessiz harfler ise “N,R,L,K,D”dir. Şifremetindeki herhangi
bir harfin düzmetindeki “A,İ,E,N,R,L,K,D” harflerinden biri olma olasılığını
tablodan bakarak bulalım: Bin harf içinde 121 tane “A”, 107 tane “I”, 95 tane
“E”. ..41 tane “D” vardır.Toplamda bin harf içinde 612 tanesi bu harflerden
biridir. Yani düzmetindeki bir harfin bu harflerden biri olma olasılığı
0,612’dir. Başka bir deyişle yeterince uzun bir metin aldığımızda, o metnin
yarıdan fazlasının bu harfleri içerdiğini görürüz. Aynı şekilde şifremetindeki
bir harfin düzmetindeki “J,F,Ö,P,V,C” harflerinden biri olma olasılığını
hesaplarsak, binde 32 harf yani 0,032 buluruz. Bu da oldukça az bir orandır,
çünkü bu harfler dilimizde en az kullanılan harflerdir. Bu iki işlem frekans
analizine örnek verme amaçlı yapılmıştır. Frekans analizinde, bu örnekler gibi
o dildeki daha birçok özelliğe bakılarak bulunan sonuçlarla şifremetindeki
harfler teker teker ortaya çıkarılabilir. Ancak, sadece harflere tek tek
bakarak ortaya çıkan frekans analizleri her zaman doğru sonuç vermeyebilir.
Bu tip durumlarda, harf İkililerine, üçlülerine bakılmalıdır. Harf İkililerinde
genelde sesli harfler sessizlerle birlikte görülür, T ve N haricindeki sessiz
harflerin, sesli harfler ile birlikte olma olasılığı yüksektir. Türkçemizde en
çok karşılaşılan harf İkilileri sırasıyla
“İN, AR, LA, AN, ER, İR, LE, DA, Bİ, DE, MA, KA, ÎL, AK, ME”,
harf üçlüleri sırasıyla
“LAR, ARİ, BİR, DEN, NDA, RİN, ERİ, DAN, AMA, İNİ, ADA, NDE”
dir.
Bunun yanında her dilin kendine özgü birçok kuralı vardır. Örneğin, Türkçede
hepimizin bildiği Büyük Ünlü Uyumu ya da Küçük Ünlü Uyumu kuralları şifrelenmiş
Türkçe bir metni analiz ederken oldukça işimize yarayabilir. Sonuç olarak bir
dilde frekans analizi yapabilmek için o dilin kurallarını iyi bilmek gerekmektedir.
Frekans
analizinde, harflerin frekansları kısa metinler üzerinden hesaplanırsa,
bulunan sonuçlar genelde frekans tablolarındaki değerlerden büyük sapmalar
gösterebilir veya tablodaki harflerin kullanım sıklıkları değişebilir. Bu
nedenle frekans analizleri olabildiğince uzun metinlerde yapılmalıdır. Uzun
metinler veya kitaplar, frekans analizleri yapıldığında yazıldığı dilin harf
frekans tablolarına, sayılarda çok az bir değişiklik olsa da sıralama olarak
genelde uyar. Ancak tarihte bu kurala uymayan kitaplar da yazılmıştır. Örneğin, Fransız yazar Georges Perecin 1969 yılında
yazdığı “La Disparition” adlı eserinin tamamında “e” harfi geçmemektedir. Bu
kitabı İngilizceye çeviren İngiliz yazar Gilbert Adair de, çevirisinde “e”
harfini hiç kullanmamıştır. Eğer Adair’ın bu 200 sayfalık çevirisi tek alfabeli
yerine koyma şifresiyle şifrelenseydi, bu metnin kriptanalizi İngilizcede en
çok kullanılan harf metinde geçmediği için yanıltıcı olacaktı.
Frekans
analizinin keşfi tek alfabeli şifre sistemlerini güvensiz duruma getirmişti.
Bu nedenle var olan sistemleri güvenli yapabilmek için çeşitli yöntemler
denendi. Örneğin, şifrelenecek iletideki boşluk yerine önceden kararlaştırılan
herhangi bir harf konulup, şifreleme oluşan yeni ileti üzerinde yapılıyordu.
Böylece
boşluklu olmayan metnin şifrelenmesiyle sözcükler ayırt edilemiyor ve dilin
yapısal özellikleri uygulanamıyordu. Fakat zamanla bu tekniği öğrenen kriptanalistler
şifreli metinde en çok geçen harfi boşluk olarak değerlendirip bunun üzerinden
frekans analizini uygulamaya başladılar. Bu yöntemin de deşifre edildiğini
gören kriptograflar başka yöntem arayışlarına girdiler ve sonunda uzun yıllar
kınlamayan ve güvenliği sağlayan bir şifre geliştirdiler. Bu şifreleme
tekniğinde birden fazla şifre alfabe kullanılıyordu. Bu yüzden bu şifrelere çok
alfabeli şifreler denmektedir.
Tarihte,
çok alfabeli şifrelemeden ilk olarak 1518 yılında Johannes Trithemius adında
bir Alman tarafından yazılan “Polygraphiae” adlı kitapta bahsedilmektedir. Esas
olarak, uzun yıllar kınlamayan çok alfabeli şifreyi 1553 yılında Giovan
Batista Belaso adlı bir
İtalyan geliştirmiştir. O sene yayınladığı La cifra del. Sig. Giovan Batista Belaso adlı
kitabında açıkladığı bu şifre daha sonraları Vigenere
şifresi olarak
adlandırılan şifrenin orijinal halidir. 1586’da bu şifrenin biraz daha gelişmiş
şeklini tasarlayan ve sunan Fransız diplomat Blaise de Vigenere adına adanan
Vigenere şifresi uzun yıllar le chiffre indechiffrable (kınlamayan şifre) olarak adlandırılmıştır. Ünlü
kripto tarihçisi David Kahn The Codebreakers adlı kitabında
Belaso’nun haksızlığa uğradığını ve ünlü Vigenere şifresinin bulunmasında
Belaso’nun büyük payı olduğunu savunmaktadır. Peki, bu şifre neden bu kadar
etkili olmuştur ve tek alfabeli sistemlerden ne gibi farklılıkları vardır? Bu
şifrede düzmetindeki her bir harf ayrı bir şifre alfabeyle şifrelenir. Hangi
şifre alfabenin seçileceğine anahtar sözcüğe bakıp karar verilir. Böylece düzmetindeki
aynı sözcükler için farklı şifremetinler oluşur, bu da frekans analizinin basit
şifrelerdeki gibi tek başına uygulanmasına engel olur. Böylece frekans
analiziyle bir adım öne geçen kriptanalistler Vigenere şifresinin bulunmasıyla
büyük bir yenilgi yaşamışlardır. Uzun yıllar güvenilirliğini koruyan bu
şifre, 1854-1863 yılları arasında İngiliz matematikçi Charles Babbage ve
Avusturya ordusunda görevli kriptograf Friedrich Kasiski tarafından kırılmıştır.
|
Blaise
de Vigenere Charles Babbage
Şimdi
Vigenere şifresini bir örnekle açıklamaya çalışalım. Şifreleme işlemi için
öncelikle bir anahtar belirlememiz gerekmektedir. Anahtar olarak “ODTÜ”
sözcüğünü seçelim. Anahtar sözcükteki her harf oluşturulacak şifre alfabenin
ilk harfi olacaktır ve kaç adet şifre alfabe kullanılacağını gösterir. ODTÜ
sözcüğü dört harf içerdiği için bizim bu örnekte kullanacağımız şifre alfabe
sayısı dörttür. İlk olarak şifre alfabeleri belirleyelim ve bir tablo
oluşturalım. Tablo oluşturma aşamaları sırayla şöyledir:
1.
Tablodan yararlanmayı
kolaylaştırmak için bir satıra düz alfabe, bir sütuna da tablonun elemanlarını
belirleyecek anahtar sözcük, yani “ODTÜ” yazılır.
ABCÇDEFGĞH Iİ J KLMNOÖPRS ŞTUÜVYZ
O
D
T
Ü
2.
Şimdi tabloyu oluşturabiliriz.
Tablonun ilk satırına anahtar sözcüğün ilk harfi olan “0”’dan başlayarak
alfabenin geri kalan harfleri sırayla yerleştirilir; yani
“O-0-P-...-Y-Z-A...-L-M-N” şeklinde doldurulur. Aynı şekilde “D” harfinin
bulunduğu satıra D’den başlayarak alfabenin geri kalanı yazılır. “T” ve “Ü”
harflerinin satırları da böylelikle doldurulur. Sonuçta aşağıdaki tablo elde
edilir.
Düzmetin: ANKARA
Anahtar : ODTÜOD
Yukarıdan
da görüleceği üzere düzmetnin ilk harfi olan “A”, anahtardaki “O” harfine denk
gelmektedir. Bu demektir ki “A” harfini şifrelemek için “O” harfiyle başlayan
alfabeyi kullanacağız. Tablodan bakarak “A” harfinin bulunduğu sütunla “O”
harfinin bulunduğu satırın kesişimindeki harf alınır: “O” ve düzmetindeki “A,,→ “O”
harfine dönüşür. Aynı şekilde “N” harfinin sütunuyla “D” harfinin satırının
kesiştiği yerdeki “R” harfi şifremetinde “N” nin yerini alır. Benzer işlemler
geriye kalan harfler için de tekrarlanırsa; “K” → “G”, → “A” → “Ü”, “R”
→ “Ğ”, “A” → “D” dönüşümleri
gerçekleşir ve böylece ANKARA kelimesinden “ORGÜĞD” şifremetni elde edilir.
Aynı
mesajı tek alfabeli şifre ile şifreleseydik, düzmetindeki aynı harfler
şifremetindeki aynı harfe karşılık gelecekti. Yukarıdan da görüleceği üzere
düzmetindeki A ’ ların hepsi şifremetinde farklı harflerle temsil
edilmektedir. Düzmetindeki her “A” harfi farklı şifre alfabelerle şifrelendiği
için şifremetinde de farklı harfler meydana gelmiştir. Bu örnekte anahtar dört
harfli olduğu için dört farklı şifre alfabe vardır ve şifre alfabeler tekrarlanır.
Başka bir deyişle, düzmetnin birinci, beşinci, dokuzuncu...gibi yani mod 4’te
denk olan sayıların sırasında gelen harfler aynı şifre alfabe ile şifrelenir.
Örneğimizde, ANKA’dan sonraki “R” ve “A” yine “O” ve “D” harflerine göre
şifrelenmiştir.
Vigenere
şifresi uygulanması basit bir şifre olmasına rağmen güvenilirliği 200 yıl
kadar sürmüştür. Şifreyi kırmak için sadece frekans dağılımı yeterli değildir.
Vigenere şifresinde frekanslar çok daha dengeli ve düzgün dağılmaktadır, çünkü
farklı şifre alfabeler arasında gidip gelmeyi sağlayan bir anahtar sözcük
kullanılır. Bundan dolayı, anahtarın boyutunun bilinmesi çok önemlidir.
Anahtar boyutu bize aynı şifre alfabeye ne zaman dönüldüğünü göstermektedir.
Anahtardaki harf sayısına periyot adı verilir. Yukarıda yaptığımız örnekte
periyodumuz, yani anahtar uzunluğumuz dörttü. Bu örnekte daha önce de
belirttiğimiz gibi her dört harfte bir şifre alfabeler tekrarlanmaktaydı.
Vigenere şifresinin analizini yapan Babbage ve Kasiski’nin dikkatini çeken de
bu tekrarlama olayı olmuştur. Anahtarın uzunluğu belirlenebilirse eğer, aynı
şifre alfabeyle şifrelenmiş harfler belirlenip onlar üzerinden frekans analizi
yapılarak birtakım ipuçları çıkarılabilirdi. Yani anahtarın uzunluğunu bulmak
analiz için önemli bir adım olacaktı. Anahtar uzunluğunu bulmak içinse
şifremetinde tekrarlanmış gruplar arasındaki uzaklığı hesaplamak gerekliydi.
Bunu bulmak için Friedrich Kasiski bir yöntem geliştirdi. Kasiski testi denilen
bu yöntemde şifreli metinde birden fazla meydana gelen üç veya daha uzunluklu
harfler kümesinin düzmetinle ilişkisinin olup olmadığı kontrol edilir ve bir
tekrarlama sözkonusuysa tekrarlayan şifremetinlerin arasındaki harf sayısının
periyot olup olmadığına bakılır. Periyot değilse de o sayının tam bölenleri
periyodu verir, bu nedenle bölenleri araştırılır. Vigenere şifresinin
kriptanalizi anlaşılacağı üzere oldukça ayrıntılı ve teknik bilgi gerektiren
bir konudur.
18.
yüzyılın sonlarına kadar Vigenere şifresinin üstünlüğü devam etti. Fakat bu dönemde yeni sistemler de üretilmeye
çalışılıyordu. 1790 yılında Thomas Jefferson, Pennyslvainia Üniversitesi
matematikçilerinden Dr. Robert Patterson’un yardımıyla şu anda Jefferson Diski
adıyla bildiğimiz sistemi geliştirdi. Jefferson Diski, İngiliz alfabesinin harf
sayısı nedeniyle toplamda 26 diskten oluşuyordu. Her disk üzerinde alfabedeki
tüm harfler rastgele biçimde yazılmıştı. Şifreleme işlemini yapmak isteyen
kişi, düzmetni Jefferson diskindeki bir sırada oluşturup geri kalan sıralardan
herhangi birini seçerek şifremetni elde ediyordu. Aynı özellikleri taşıyan
Jefferson diski hem alıcı hem de gönderici tarafında bulunmak zorundaydı.
Şifremetni alan alıcı elindeki Jefforson diskiyle şifremetni oluşturup,
böylelikle geri kalan sıralardaki anlamlı metni çıkarmış oluyordu. Şifremetni
ele geçiren düşmanın elinde, bu özellikteki, yani harflerin göndericinin ve
alıcının diskindeki karıştırılmış şekliyle bulunan Jefferson diskinin bulunması
gerekmekteydi. Başka bir deyişle, her Jefforson diski aynı değildi, bu yüzden
güvenli bir sistem olmuştur ve bu şifreleme aletinin benzeri 2. Dünya
Savaşı’nda Amerikan ordusu tarafından kullanılmıştır. Thomas Jefferson yaptığı
bu sistem ile Amerikan Kriptografisinin babası olarak da adlandırılır.
Orijinal
Jefferson Diski
http://en.wikipedia.org/wiki/Jefferson_disk
Aşağıdaki
resim de bizim, Türkçe alfabeye göre oluşturduğ umuz ve dört diskten oluşan,
yani sadece dört harfli ileti yazılabilen Jefferson diskinin bir örneğidir.
Şimdi bu diskle bir ileti gönderelim: Göndereceğimiz mesaj ODTÜ sözcüğü olsun.
Şifremetnimizi de resimde görülen bir sıradan alalım. Örneğin, ODTÜ’nün
altındaki “NMLI” da şifremetnimiz olsun.
“NMLI”
şifremetnini aynı diskten olan alıcıya gönderdiğimizde o da diskleri
döndürerek NMLI şifresini bulup üstündeki ODTÜ iletisini görebilir.
|
Örnek Jefferson Diski
Disklerle
yapılan şifreleme bulunduktan sonra kriptograflar bu sistemi geliştirmeye
yönelik araştırmalara başladılar. 1817 yılında Colonel Decius Wadsworth
üzerinde harflerin değişik numaralarla bulunduğu çarklardan oluşan bir
şifreleme diski geliştirdi. Bu ve Jefferson Diski, şifrelerin disklerle oluşturulmasının
ilk örnekleri olarak verilebilir. O dönemlerde farklı bir sistem olarak da 1854
yılında Charles Wheatstone’nın tasarladığı, Playfair olarak adlandırılan
şifreleme yöntemini gösterebiliriz.
Wheatsone-Playfair
şifresi ismini elektrikli telgrafın öncülerinden Charles Wheatsone ve Baron
Lyon Playfairden alır.
Playfair şifresi ilk konularda bahsedilen Polybius’un dama tahtası sistemi
gibi 5x5 Ük bir matris kullanmaktadır. Aslında bu şifreleme sistemi 26 harften
oluşan İngiliz alfabesi için tasarlanmıştır ve “I”ve “J” harfleri bir arada
düşünülerek 25 hücresi olan bu matrise tüm alfabe her hücreye bir harf gelecek
şekilde sığmaktadır. Ancak biz bu şifrelemeyi daha iyi açıklamak için Türkçe
alfabe üzerinden bir örnek yapacağız. Bu nedenle bazı hücrelere birden fazla
harf yazmamız gerekmektedir. Playfair şifresinde şifreleme algoritması,
düzmetindeki her bir harf çiftini başka bir harf çiftiyle değiştirir; fakat
şifreleme işlemine geçmeden önce bir anahtar belirlenmesi ve o anahtara göre
matrisin oluşturulması gerekmektedir. Anahtar, matrisin ilk hücresinden
başlayarak, her hücreye bir harf yazılacak şekilde birinci satırdan yazılmaya
başlanır. Birden fazla kullanılan harfler ilk kullanımdan sonra atılır ve ilk
satıra sığmadığı takdirde ikinci satırdan devam edilir. Anahtar yazılıp, kalan
hücrelere de alfabenin geri kalan harfleri sırayla yazılır. Bu örnek için
anahtar sözcüğümüzü “KRİPTOGRAFİ” olarak seçelim ve birden fazla kullanılan
harfleri atarak “KRİPTOGAF” olarak ilk satırdan itibaren yazalım. Türkçe alfabe
kullandığımız için bazı harfler aynı hücreye yazılmıştır, bu şifrenin
orjinalinde her hücrede bir harf bulunmaktadır.
Tablomuzu oluşturduktan sonra bir şifreleme örneği yapalım. Öncelikle
şifrelenmek istenen ileti, harf İkililerine ayrılır. Eğer şifrelenecek
mesajımız tek sayıda harften oluşuyorsa, mesajın sonuna istenilen bir harf
eklenir. Şifre çözme işleminde son harfin herhangi bir önemi yoktur. Her
İkilideki harfler birbirinden farklı olmalıdır.
K
|
R
|
i
|
P
|
T
|
O
|
G
|
A
|
F
|
B
|
C
|
C
|
D
|
E
|
G
|
H
|
I
|
J
|
L
|
M
|
N
|
O
|
S/Ş
|
U/Ü
|
V/Y/Z
|
Anahtar kelimeye göre hazırlanan tablo
Düzmetin:
“OD-TÜ-UY-GU-LA-MA-Ll-MA-TE-MATÎ-KE-NS-TÎ-TÜ-SÜ”
Şifreleme algoritmasını tabloya bakarak uygulayacağız ve şifrelemeyi
ayırdığımız İkililer üzerinden yapacağız. Algoritmanın işleyişi aşağıdaki
gibidir:
1.
İkilideki harflerden
ikisi de aynı satırda ise sağlarındaki harflerle yer değiştirirler. Mesela,
örneğimizde düz metindeki “SÜ” harf İkilisi “UV” İkilisine dönüşür. Eğer
harflerden biri satır sonunda olsaydı, o zaman satır başındaki harfle yer
değiştirme yapılırdı. Örneğin metnimizde “SZ” İkilisi olsaydı “UN”ye
dönüşecekti.
2.
İkilideki harflerden
ikisi de aynı sütunda ise altlarında bulunan harfler ile değiştirme yapılır.
Eğer diizmetinde “AS” harf İkilisi olsaydı “Dİ” İkilisine dönüşürdü.
3.
İkilideki harfler aynı
satırda veya aynı sütunda değilse, ilk harfi şifrelemek için bu harfin
bulunduğu satır ve ikinci harfin bulunduğu sütunun kesişimindeki harf alınır,
ikinci harfi şifrelemek içinse ilk harfin bulunduğu sütun ve ikinci harfin
bulunduğu satırın kesişimindeki harf alınır. Örneğin “MA” harf İkilisi “JB”
İkilisine dönüşür.
Bu algoritmaya göre diizmetnimizi şifrelersek ilk ikili aynı satır veya
sütunda olmadığı için üçüncü maddeye göre şifrelenir ve “OD” İkilisi “AC”
İkilisine dönüşür; ikinci ikili aynı şekilde “PV”ye; üçüncü ikili aynı satırda
olduğu için birinci maddeye göre şifrelenir ve “VN” İkilisine dönüşür. Geriye
kalan İkilileri ise okuyucumuza bırakıyoruz.
Anahtar sözcüğü bilen herkes, aynı matrisi oluşturup şifreleme
algoritmasını tersten uygulayarak şifre çözme işlemini kolaylıkla yapabilir.
Mesela, şifremetnin ilk İkilisi “AC” ikilisiydi. Aynı algoritmayı uygularsak;
“A”nm bulunduğu satırla “C”nin bulunduğu sütunun kesişimindeki harfin “0”yu;
“A”nm bulunduğu sütunla “C”nin bulunduğu satırın kesişimindeki harfin de
“D”yi verdiğini görürüz. Yani düzmetnin ilk İkilisini elde etmiş oluruz. Diğer
iki madde ise tersten uygulanır. Mesela, aynı satırda bulunan şifrelenmiş harf
İkilisi, sağ değil de sol taraflarında bulunan harflerle yer değiştirilerek
düzmetindeki eş değer ikili bulunur. Üçüncü şifremetin İkilisi “VN”yi ele
alalım. “V” ve “N” aynı satırda olduğu için sol taraflarında bulunan harflerle
yer değiştirir ve “UY” ye dönüşür. İngiliz Savaş Şubesi tarafından kullanılan
Playfair şifresi 20. yüzyılın başlarına kadar güvenliğini korusa da daha
sonraları harf İkililerinin frekans dağılımı kullanılarak kriptanaliz
edilmişti. Günümüzde kullanılan blok şifreler Playfair’in çalışma prensibine
benzer bir mantıkla şifreleme işlemini yapmaktadırlar.
Buraya kadar verdiğimiz algoritmaların gücünün nereden geldiğinden,
güvenliğinin hangi faktörlere bağlı olduğundan çok fazla bahsetmedik. Güvenli
ve pratik olması şifre sistemlerinin sağlaması gereken en önemli
özelliklerindendir. Tarihte bu konudan yazılı
olarak ilk bahseden Hollandalı dilbilimci ve kriptograf Auguste Kerckhoffs’tur.
Auguste Kerckhoffs, 1883 yılında yayınladığı “La Cryptographie Militarie”
isimli makalesinde bir şifreleme sisteminde anahtar bilinmediği taktirde, sistem
ile ilgili her şey bilinse bile sistemin güvenliğinin tam olması gerektiğini
söylemiştir. Bu prensipler o tarihten sonra tasarlanan şifre sistemleri için önemli bir
yol gösterici oldu. Kerckhoff Prensiplerini altı ana maddede toplayabiliriz:
- Sistem pratik ve matematiksel
bir gerçekliğe dayanmalı.
- Sistem gizliliğe dayanmamalı.
Yani sistem hakkındaki her şey herkes tarafından bilinmeli.
- Sistemde kullanılan anahtarlar
taraflar arasında kolayca, üçüncü kişinin değiştirmesine izin vermeden
değiştirilebilmeli.
- Sistem telgraf uygulamasında
kullanılabilmeli.
- Sistemin kullanılabilmesi için
fazla sayıda insana ihtiyaç duyulmamak.
- Sistemin uygulaması ve
anlaşılması kolay olmalı ve şifreleme sisteminin güvenliği, şifreleme
algoritmasını gizli tutmaya dayanmamalıdır; güvenlik, yalnızca anahtarı
gizli tutmaya dayanmalıdır.
Kerckhoffs o dönem için oldukça önemli saptamalar yapmıştır. Özellikle
ikinci madde Kerckhoffs prensibi olarak bilinir ve “Bir kriptosistemin
güvenliği anahtarın gizliliğine bağlıdır” diye özetlenebilir. Kerckhoffs’tan
yaklaşık 60 yıl sonra Amerikalı ünlü bilim adamı Claude Shannon da güvenli bir
şifreleme sisteminde ele geçirilen şifreli mesajdan istatistiksel verilerle
anahtara ulaşılamaması gerektiğini ve anahtarın gizliliğinin sistemin
güvenliği için en önemli etken olduğunu öne sürmüştür. Shannon’ın teorilerinden
günümüz kriptografisinde daha ayrıntılı bir şekilde bahsedeceğiz.
Kriptanaliz geliştikçe kriptograflar daha güvenli sistemler için yeni
buluşlar yapmaya devam ediyorlardı. 1929 yılında Leşte S. Hill tarafından
bulunan Hill Şifresi çok alfabeli şifreleme sistemlerine başka bir örnektir ve
çok alfabeli şifreleri daha pratik bir hale getirmesi bakımından çok önemlidir.
Ayrıca, Claude Shannon’un 1949 yılında öne sürdüğü güvenli bir şifreleme
sisteminin karıştırmayı iyi yapması gerektiği bu sistem tarafından
sağlanmaktadır. Hill şifresi lineer cebire dayanmaktadır, şifrelenmek istenen
düzmetin alt gruplara bölünerek önceden belirlenmiş anahtar matrisler ile
işleme sokulur. Bu nedenle harflerin sayılara çevrilmesi gerekmektedir. Hill
şifresi için öncelikle alfabedeki her harf bir sayıya karşılık getirilir.
A B C Ç D E F G Ğ H I İ J K L M N O
Ö P R S Ş T U Ü V Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Hill şifresinin pratikteki kullanımı düzmetni ikili bloklar halinde
şifrelemektir. Bu daha uzun bloklarla da yapılabilir, ancak biz burada kolaylık
olması açısından ikili bloklarla yapacağız.
İlkel şifreleme algoritmalarından
birisidir. Bu yöntemde blok şifreleme (block cipher) kullanılır.
Yani şifrelenecek açık metin (plain text) bloklara bölünerek blok blok
şifrelenir. Her blok için Affine Cipher benzeri bir
yaklaşım izlenerek verilen anahtar ile metindeki karakter değeri çarpılır. Elde
edilen sonuçlar toplanarak yeni karakter elde edilir.
Örneğin anahtar olarak aşağıdaki
matrisin kullanıldığı bir Hill şifrelemesi (tepe şifrelemesi) olsun:
Bu matrisi kullanarak öncelikle
şifreleme işlemini yapalım. Diyelim ki şifrelemek istediğimiz metik BE olsun.
(dikkat edilirse 2 boyutunda bir blok aldık bunun sebebi anahtarın 2×2 matris
olmasıdır)
BE = {1,4}
MAtris çarpımı yapılarak
Sonuuc elde edilir. Dolayısıyla
şifrelenmiş metnimiz OY olarak bulunur.
Şifrenin açılması için matrisin
tersinin bulunması gerekir:
|A| = 2×5 – 3×4 = 10-12 = -2 ,
olarak matrisin determinantı bulunur.
5 -3
-4 2
değerlerinin -1/2 ile çarpılmış
halidir:
-2.5 1.5
2 -1
olarak bulunur.
Yukarıdaki bu tersi alınmış matris
ile mesajımızı çarpalım
-2.5 1.5 14
2 -1
24
sonuç olarak:
1
4
matrisi geri bulunmuş olur.
Bkz:
http://bilgisayarkavramlari.sadievrenseker.com/2008/11/19/hill-sifrelemesi-hill-cipher/
Bu bölümde anlatılan kağıt-kalem ile yapılabilen şifreleme sistemleri artık
günümüzde kullanılmamaktadır. Bunlar daha çok, gazete sayfalarının bulmaca
köşelerinde yer alan eğlenceli ve düşündürücü zeka sorularına benzer
örneklerdi. Bu şifreler I.
ve II. Dünya Savaşları’na kadar sivil ve askeri amaçlarla kullanılmış ve
makinelerin yaygınlaşmasıyla tarih sayfalarındaki yerlerini almışlardır.
Sh:
13-48
Güçlü olan sistemler yollarına devam ederken teknolojinin gelişimine direnemeyen
güçsüz sistemler tarih sayfalarındaki yerlerini almışlardır, tıpkı kitapta
anlatılan Sezar, Vigenere, Enigma ve birçokları gibi. Son olarak gördüğümüz
kuantum bilgisayarları tamamlandığında ise günümüz sistemleri tarih olacaktır.
Bunun sonucunda devreye giren kuantum kriptografi uygun altyapı oluşturulduğu
ve uzun mesafelerde çalışabilecek konuma getirildiği sürece şifreleme
evriminin duracağı iddia edilmektedir. Geriye bir tek soru kalıyor: Bu kusursuz
güvenlik herkese açık olacak mı, yani hükümetler buna izin verecek mi? İzin
verildiği takdirde ise ortaya ahlaki bir sorun çıkacaktır. Suç unsuru teşkil
eden bilgilerin mutlak güvenli bir şekilde iletilmesi suçun artmasına neden
olacak, bu iletişim şekli istihbaratı engelleyecektir. Günümüzün kutuplaşmış
ve karmaşık dünyasında her gönderilen bilgi faydalı değildir. Zararlı
bilgilerin de bu şifrelemelerden faydalanmaları ve güvenli bir şekilde
iletilmeleri bilgi denetimini zorlaştıracaktır. Bu sebeple kusursuz güvenli
bilgi iletimi bazı hükümetlerin aleyhine olacak ve sonucunda herkes tarafından
kullanılması engellenecektir. Bitirirken şunu da ekleme gerekliliğini görüyoruz
: Kriptografi güvenli bir dünya oluşturacağı gibi kötü amaçlar için de
kullanılabilir. Tüm dünyanın, elindeki bu altın anahtarın değerini bilmesi ve
doğru bir şekilde kullanması gelecek için faydalı olacaktır.
Sh: 109
Kuantum
Kriptografi ve Kriptografînin Geleceği”
için kitabı okumanız gerekiyor.
Daha Fazla bilgi için Kaynak:
Şifrelerin Matematiği KRİPTOGRAFİ, hzl: Canan ÇİMEN
Sedat AKLEYLEK Prof. Dr. Ersan AKYILDIZ, ODTÜ Bilim ve Toplum Kitapları Dizisi,
5. Baskı Ocak 2011, Ankara
[1] Kaynak: Türk-İslâm Kültüründe Ebced Hesabı ve Tarih Düşürme,
Doç.Dr. İsmail Yakıt, Ötüken, İstanbul, 1992.
[2] İbnü’l Arabî’ye göre bu harflerin bazı sayı değeri şu
şekildedir.
“gayn” harfinin sayısal değeri
hakkında, bize ve sır ehline göre 900, nur ehline göre ise 1000’dir der.
“dâd” harfinin sayısal değeri hakkında,
bize göre 90, nur ehline göre ise 800’dür der.
“şın” harfinin sayısal değeri hakkında
bize göre 1000, nur ehline göre 300’dür der.
“yâ” harfinin
sayısal değeri hakkında on ikinci felek için 10, yedinci felek için ise 1’dir
der.
“lam” harfinin sayısal değeri hakkında on
ikinci felek için 30, yedinci felek için ise 3’tür der.
“ra” harfinin
sayısal değeri hakkında on ikinci felek için 200, yedinci felek içinse 2’dir
der.
“sâd” harfinin
sayısal değeri hakkında bize göre 60, nur ehline göre 90’dır der.
“sin”harfinin
sayısal değeri hakkında nur ehline göre 60, bize göre ise; büyük ebcette 300,
küçükte 3’tür der.
“zı” harfinin
sayısal değeri hakkında nur ehline göre 900, bize göre büyük ebcette 800, küçük
ebcette 8’dir der. (ÇAKMAKLIOĞLU,
2005) ,
s. 208-209
Not: Bazen Büyük Dosyaları tarayıcı açmayabilir...İndirerek okumaya Çalışınız.
Yorumlar