Cr4ck3r
New member
- Katılım
- 9 Tem 2005
- Mesajlar
- 296
- Reaction score
- 0
- Puanları
- 0
Kriptografi: Gizli Yazışma Sanatı
Çocukluğumuzda hepimiz ara sıra şifreli bir mesaj, "gizli' bir mesaj yazmaya girişmişizdir sanırım. Onun sadece şifrenin "anahtarının" önceden verildiği kişi tarafından anlaşılabileceği (daha doğrusu çözülebileceği) umulur. Belki de çoğumuz bütün şifreleme (uzmanlarının deyimiyle '"kripto" çekmek) sistemleri içinde en basit olanını, alfabenin bir harfini bir başkasıyla değiştirmeyi kullanmışızdır. Örneğin A yerine B, B yerine C, C yerine D, vb., en sonunda da Z yerine A harfini koyduğumuzu düşünelim. O zaman hiçbir ilginç yanı olmayan "BİR SİYAH KALEMİM VAR" mesajı şifrelendiğinde
CJS ŞJZBI LBMFNJN YBS
şeklini alır ve ilk bakışta yeterince gizemli görünür.
Alfabenin herhangi bir harfi yerine herhangi bir başka harf koyabileceğimiz için, bu basit değiştirme yöntemini kullanan çok çeşitli düzenler bulunabilir. Tam olarak söylemek gerekirse 29! (29 faktoriyel) sayıda; bu sayının değeri ise yaklaşık 9 çarpı 10 ³°dur. Şifrelemek için böyle akıl almaz büyüklükte seçme olanağı varken, birilerinin anahtarı bulma (ya da "şifreyi kırma") olasılığının çok uzak olduğu düşünülebilir. Eğer yalnızca çok kısa bir mesaj (yukarıdaki, "siyah kalem incisi" gibi) iletmek istiyorsak, bu yargı doğru olabilirde; yeter ki yukarıdaki paragrafta verilen A yerine B, B yerine C, C yerine D, vb. örneğindeki gibi aşırı basit bir düzen seçmeyelim.
Eğer aynı şifre çok sayıda bilgiyi iletmek için kullanılmak istenirse, ne yazık ki 9 x 10³° gibi büyük sayılara karşın, onu "kırmak" çok kolaydır. Burada yakayı ele veren, belli bir dildeki harf ve harf bileşimlerinin rasgele olmamasıdır. Örneğin Türkçede "a, e, de, da, ki, ve, ile, bir, vb., ne" çok sık kullanılır; buna karşın art arda üç sessiz harfe, ğ ile başlayan sözcüklere pek rastlanmaz. Dilin bu "parmak izleri''ni ve de ortaya çıkan farklı harf bileşimleri hakkında sayısız başka istatistiksel ipuçlarını kullanarak, bir "şifre çözücüsü"nün harfleri değiştirmeye dayanan böyle basit bir sistemi çabucak çözme olanağı vardır. Harfler yerine bir dizi anlamsız işaret konulsa bile fark etmez; yine de dilin kendi düzeni, sonunda, onları ortaya çıkarır ve gizli mesajımız kısa sürede herkese mal olur. Akla gelen ikinci bir şifreleme planı da, harfleri birbirleriyle değiştirmek yerine, "yer değiştirme" ya da karıştırma yöntemidir. Örneğin, "anahtar" olarak 3, 1, 5, 2, 6, 4 sayı dizisini aldığımızı düşünelim ve "BÎR SİYAH KALEMİM VAR" mesajını bu diziye göre şu şekilde şifreleyelim: Birinci harfi üçüncü konuma, ikinci harfi birinci konuma, üçüncüyü beşinciye, son alarak da altıncı harfi dördüncü konuma getirelim, ilk altı harfi bu şekilde yer değiştirdikten sonra, daha sonra gelen altı harfe de aynı şeyi uygularız ve bunu mesaj bitinceye kadar yineleriz. Böylece orijinal mesajın ilk altı harfi İSBYRİ olur; ikinci altı harfi ise HAAEKL. Böyle devam ederek şifreyi tamamlarsak
İSBYRİHAAEKLİVMRMA
elde ederiz. Bu sistemi kullanan çok kısa mesajlar çoğu kez tek bir şekilde kırılmazlar (örneğin kodlanmış mesaj, ya da "şifre" olan mesaj ADKİR, 31254 anahtarıyla KADİR, ya da 31245 anahtarıyla KADRİ olur); daha uzun mesajlar da yine oldukça güvensizdir. Ayrıca bunların ingilizce metinler için genel "çözüm" yöntemleri, anahtardaki sayı dizisinin uzunluğu hakkında hiçbir bilgi olmadığı durumlar için bile, ta 1878'de yayınlanmıştır. Böylece, yer değiştirmeye dayanan en basit şifreleme sistemi, harf değiştirme sisteminde olduğu gibi, ancak çok sınırlı ölçüde güvenlik sağlamaktadır.
Şifreleri kırmayı biraz daha zorlaştırmak için ne yapılabilir? Bir kere, yerine koyma sistemini, orjinal metindeki her harfi hep aynı harfle değiştirmeyerek, güçlendirmek düşünülebilir. Bunu gerçekleştirmenin bir yolu bir sözcük seçip (örneğin KADİFE) bunu şifrelenecek mesajın altına tekrar tekrar aşağıda görüldüğü gibi yazmaktır:
BİR SİYAH KALEMİM VAR KAD İFEKA DİFEKAD İFE
B harfi Türkçe alfabenin 2. harfi, onun altındaki k de 14. harfi olduğu İçin mesajın ilk harfini alfabenin, 2 ve 14'ün toplamı olan 16. harfi olan "M" ile kodlarız. Benzer şekilde, mesajın ikinci harfinin yerine, I (12) ile A (l)'yı "toplayarak" bulduğumuz J (13) koyarız. Bu toplama sürecinde 29'dan büyük bir sayı çıkarsa yapacağımız şey yeniden alfabenin başına dönmek, "A" için 30, "B" için 81, vb. sürdürmekten ibarettir. Bu örnekteki anahtarı kullanarak yukarıdaki mesajın tümü, çözümü zorlaştırmak için aralıkları da kapatarak
MJÜDÖDLIÖJSİAJRHGV
haline dönüşür.
Genellikle Vigenere şifresi denilen bu tür bir kodlama sis-teminde, orijinal mesajın belirli bir harfinin yerine hep aynı harfi koymak gerekmiyor. Görüldüğü gibi, mesajdaki ilk "I" harfi "A" ile kodlanıyor; ikinci "İ" ise "F" harfiyle kodlanıyor. Şifreyi kırmaya çalışan birisini şaşırtmak için bunun yardımı olacağı ve daha önceki İki sistemden daha güvenli olduğu düşünülebilir. Ne var ki, bu doğru olsa bile, yukarıda verilen türden Vigenere şifreleri yine de kolayca deşifre edilebilir. Gerçekten, bu yöntem için de 100 yılı aşkın bir zaman öncesinde, oldukça genel bir çözüm yöntemi geliştirilmiştir Buradaki zaaf anahtar sözcüğün art arda yazıldığı satırdadır (örneğin yukarıdaki KADİFEKADİFEKADİFE..) Bunun gibi altı harfli bir anahtar sözcük, sıkça kullanılan "bir" ve "ile" gibi sözcükleri hep üç harfin altı kombinasyonlarından belirli birisi ile değiştiriyor. Buna benzer ipuçları, sonunda anahtarı ele verir ve şifre çözülür. Sorun yine herhangi bir dilde harf ve sözcüklerin rastlantısal olmayan bir biçimde ortaya çıkmasından kaynaklanıyor.
Ancak anahtar olarak kendini hiç yinelemeyen bir metin kullanırsak ne olur? Bu "koşan-anahtarlı Vigenere şifreleri"nde çok rastlanan ele verici harfler ve sözcükler şifrelen-diklerinde hiç yinelenmezler ve nihayet kırılmayan bir şifre elde etmemize yol açarlar. Gerçekten de, ilk icat edildiklerinden nerdeyse üç yüzyıl sonra bile, bu koşan-anahtar şifre-lerinin tamamen güvenli oldukları düşünülüyordu. Ancak, 1883'te bu tür şifreleri bile kırabilecek bir yöntem açıklandı. Çözülmelerine yol açan ipucu yine harflerin ve sözcüklerin, bu defa hem mesajda hem de anahtarda rastlantısal olmayan sıklıkta görülmeleriyle ilgilidir. Örneğin "E" harfinin yine "E" harfiyle değiştirilme olasılığı % 1,69 kadardır; başka herhangi belirli bir harfle değiştirilme olasılığı daha da küçüktür (ama o da bellidir). Açıkça görüldüğü gibi, bu tür şifre kırma, yukarıda anlatılanlardan çok daha güçtür ve ipucu verici ilişkilerin ortaya çıkması için oldukça uzun bir şifre gerektirmektedir. Ancak bunlar eninde sonunda ortaya çıkmakta ve şifre kıralabilmektedir. 1950'lerden bu yana hızla gelişen bilgisayar teknikleri bu koşan-anahtar şifresini her zamandan daha zayıf duruma getirmiştir.
Çocukluğumuzda hepimiz ara sıra şifreli bir mesaj, "gizli' bir mesaj yazmaya girişmişizdir sanırım. Onun sadece şifrenin "anahtarının" önceden verildiği kişi tarafından anlaşılabileceği (daha doğrusu çözülebileceği) umulur. Belki de çoğumuz bütün şifreleme (uzmanlarının deyimiyle '"kripto" çekmek) sistemleri içinde en basit olanını, alfabenin bir harfini bir başkasıyla değiştirmeyi kullanmışızdır. Örneğin A yerine B, B yerine C, C yerine D, vb., en sonunda da Z yerine A harfini koyduğumuzu düşünelim. O zaman hiçbir ilginç yanı olmayan "BİR SİYAH KALEMİM VAR" mesajı şifrelendiğinde
CJS ŞJZBI LBMFNJN YBS
şeklini alır ve ilk bakışta yeterince gizemli görünür.
Alfabenin herhangi bir harfi yerine herhangi bir başka harf koyabileceğimiz için, bu basit değiştirme yöntemini kullanan çok çeşitli düzenler bulunabilir. Tam olarak söylemek gerekirse 29! (29 faktoriyel) sayıda; bu sayının değeri ise yaklaşık 9 çarpı 10 ³°dur. Şifrelemek için böyle akıl almaz büyüklükte seçme olanağı varken, birilerinin anahtarı bulma (ya da "şifreyi kırma") olasılığının çok uzak olduğu düşünülebilir. Eğer yalnızca çok kısa bir mesaj (yukarıdaki, "siyah kalem incisi" gibi) iletmek istiyorsak, bu yargı doğru olabilirde; yeter ki yukarıdaki paragrafta verilen A yerine B, B yerine C, C yerine D, vb. örneğindeki gibi aşırı basit bir düzen seçmeyelim.
Eğer aynı şifre çok sayıda bilgiyi iletmek için kullanılmak istenirse, ne yazık ki 9 x 10³° gibi büyük sayılara karşın, onu "kırmak" çok kolaydır. Burada yakayı ele veren, belli bir dildeki harf ve harf bileşimlerinin rasgele olmamasıdır. Örneğin Türkçede "a, e, de, da, ki, ve, ile, bir, vb., ne" çok sık kullanılır; buna karşın art arda üç sessiz harfe, ğ ile başlayan sözcüklere pek rastlanmaz. Dilin bu "parmak izleri''ni ve de ortaya çıkan farklı harf bileşimleri hakkında sayısız başka istatistiksel ipuçlarını kullanarak, bir "şifre çözücüsü"nün harfleri değiştirmeye dayanan böyle basit bir sistemi çabucak çözme olanağı vardır. Harfler yerine bir dizi anlamsız işaret konulsa bile fark etmez; yine de dilin kendi düzeni, sonunda, onları ortaya çıkarır ve gizli mesajımız kısa sürede herkese mal olur. Akla gelen ikinci bir şifreleme planı da, harfleri birbirleriyle değiştirmek yerine, "yer değiştirme" ya da karıştırma yöntemidir. Örneğin, "anahtar" olarak 3, 1, 5, 2, 6, 4 sayı dizisini aldığımızı düşünelim ve "BÎR SİYAH KALEMİM VAR" mesajını bu diziye göre şu şekilde şifreleyelim: Birinci harfi üçüncü konuma, ikinci harfi birinci konuma, üçüncüyü beşinciye, son alarak da altıncı harfi dördüncü konuma getirelim, ilk altı harfi bu şekilde yer değiştirdikten sonra, daha sonra gelen altı harfe de aynı şeyi uygularız ve bunu mesaj bitinceye kadar yineleriz. Böylece orijinal mesajın ilk altı harfi İSBYRİ olur; ikinci altı harfi ise HAAEKL. Böyle devam ederek şifreyi tamamlarsak
İSBYRİHAAEKLİVMRMA
elde ederiz. Bu sistemi kullanan çok kısa mesajlar çoğu kez tek bir şekilde kırılmazlar (örneğin kodlanmış mesaj, ya da "şifre" olan mesaj ADKİR, 31254 anahtarıyla KADİR, ya da 31245 anahtarıyla KADRİ olur); daha uzun mesajlar da yine oldukça güvensizdir. Ayrıca bunların ingilizce metinler için genel "çözüm" yöntemleri, anahtardaki sayı dizisinin uzunluğu hakkında hiçbir bilgi olmadığı durumlar için bile, ta 1878'de yayınlanmıştır. Böylece, yer değiştirmeye dayanan en basit şifreleme sistemi, harf değiştirme sisteminde olduğu gibi, ancak çok sınırlı ölçüde güvenlik sağlamaktadır.
Şifreleri kırmayı biraz daha zorlaştırmak için ne yapılabilir? Bir kere, yerine koyma sistemini, orjinal metindeki her harfi hep aynı harfle değiştirmeyerek, güçlendirmek düşünülebilir. Bunu gerçekleştirmenin bir yolu bir sözcük seçip (örneğin KADİFE) bunu şifrelenecek mesajın altına tekrar tekrar aşağıda görüldüğü gibi yazmaktır:
BİR SİYAH KALEMİM VAR KAD İFEKA DİFEKAD İFE
B harfi Türkçe alfabenin 2. harfi, onun altındaki k de 14. harfi olduğu İçin mesajın ilk harfini alfabenin, 2 ve 14'ün toplamı olan 16. harfi olan "M" ile kodlarız. Benzer şekilde, mesajın ikinci harfinin yerine, I (12) ile A (l)'yı "toplayarak" bulduğumuz J (13) koyarız. Bu toplama sürecinde 29'dan büyük bir sayı çıkarsa yapacağımız şey yeniden alfabenin başına dönmek, "A" için 30, "B" için 81, vb. sürdürmekten ibarettir. Bu örnekteki anahtarı kullanarak yukarıdaki mesajın tümü, çözümü zorlaştırmak için aralıkları da kapatarak
MJÜDÖDLIÖJSİAJRHGV
haline dönüşür.
Genellikle Vigenere şifresi denilen bu tür bir kodlama sis-teminde, orijinal mesajın belirli bir harfinin yerine hep aynı harfi koymak gerekmiyor. Görüldüğü gibi, mesajdaki ilk "I" harfi "A" ile kodlanıyor; ikinci "İ" ise "F" harfiyle kodlanıyor. Şifreyi kırmaya çalışan birisini şaşırtmak için bunun yardımı olacağı ve daha önceki İki sistemden daha güvenli olduğu düşünülebilir. Ne var ki, bu doğru olsa bile, yukarıda verilen türden Vigenere şifreleri yine de kolayca deşifre edilebilir. Gerçekten, bu yöntem için de 100 yılı aşkın bir zaman öncesinde, oldukça genel bir çözüm yöntemi geliştirilmiştir Buradaki zaaf anahtar sözcüğün art arda yazıldığı satırdadır (örneğin yukarıdaki KADİFEKADİFEKADİFE..) Bunun gibi altı harfli bir anahtar sözcük, sıkça kullanılan "bir" ve "ile" gibi sözcükleri hep üç harfin altı kombinasyonlarından belirli birisi ile değiştiriyor. Buna benzer ipuçları, sonunda anahtarı ele verir ve şifre çözülür. Sorun yine herhangi bir dilde harf ve sözcüklerin rastlantısal olmayan bir biçimde ortaya çıkmasından kaynaklanıyor.
Ancak anahtar olarak kendini hiç yinelemeyen bir metin kullanırsak ne olur? Bu "koşan-anahtarlı Vigenere şifreleri"nde çok rastlanan ele verici harfler ve sözcükler şifrelen-diklerinde hiç yinelenmezler ve nihayet kırılmayan bir şifre elde etmemize yol açarlar. Gerçekten de, ilk icat edildiklerinden nerdeyse üç yüzyıl sonra bile, bu koşan-anahtar şifre-lerinin tamamen güvenli oldukları düşünülüyordu. Ancak, 1883'te bu tür şifreleri bile kırabilecek bir yöntem açıklandı. Çözülmelerine yol açan ipucu yine harflerin ve sözcüklerin, bu defa hem mesajda hem de anahtarda rastlantısal olmayan sıklıkta görülmeleriyle ilgilidir. Örneğin "E" harfinin yine "E" harfiyle değiştirilme olasılığı % 1,69 kadardır; başka herhangi belirli bir harfle değiştirilme olasılığı daha da küçüktür (ama o da bellidir). Açıkça görüldüğü gibi, bu tür şifre kırma, yukarıda anlatılanlardan çok daha güçtür ve ipucu verici ilişkilerin ortaya çıkması için oldukça uzun bir şifre gerektirmektedir. Ancak bunlar eninde sonunda ortaya çıkmakta ve şifre kıralabilmektedir. 1950'lerden bu yana hızla gelişen bilgisayar teknikleri bu koşan-anahtar şifresini her zamandan daha zayıf duruma getirmiştir.