Arama

Kriptoloji (Şifre Bilimi)

Güncelleme: 30 Ağustos 2012 Gösterim: 76.678 Cevap: 9
Misafir - avatarı
Misafir
Ziyaretçi
29 Kasım 2006       Mesaj #1
Misafir - avatarı
Ziyaretçi
Kriptoloji
MsXLabs.org & Vikipedi, özgür ansiklopedi
Sponsorlu Bağlantılar

Kriptoloji, şifre bilimidir. Çeşitli iletilerin, yazıların belli bir sisteme göre şifrelenmesi, bu mesajların güvenlikli bir ortamda alıcıya iletilmesi ve iletilmiş mesajın deşifresiyle uğraşır.
Günümüz teknolojisinin baş döndürücü hızı göz önünde alındığında, teknolojinin gelişmesiyle birlikte ortaya çıkan güvenlik açığının da taşıdığı önem ortaya çıkmaktadır. Kriptoloji; askerî kurumlardan, kişiler arası veya özel devlet kurumları arasındaki iletişimlerden, sistemlerin oluşumunda ve işleyişindeki güvenlik boşluklarına kadar her türlü dalla alakalıdır.
Kriptoloji bilmi kendi içerisinde iki farklı branşa ayrılır:
  • Kriptografi; şifreleri yazmak
  • Kriptoanaliz; şifreleri çözmek ya da analiz etmek
Kriptoloji, çok eski ve renkli bir geçmişe sahiptir. Tarihten günümüze kadar, bazı şifreleme teknikleri şunlardır:
  • Sezar şifrelemesi
  • Rotor makinesi (Enigma)
  • Açık anahtarlı şifreleme
  • Çırpı fonksiyonları
  • Veri gizleme teknikleri

Kriptolojinin Tarihi


sifrelemehf9
Kriptografinin Türkçe adı şifre yazımıdır. Kriptografi Yunanca gizli anlamına gelen “kriptos” ve yazı anlamına gelen “graphi”dan türetilmiştir. Kriptoloji ise şifre bilimidir. Kriptografi bilgi güvenliği ile uğraşır.
Kriptoanaliz güvenli bilginin kırılması başka bir deyişle kriptografinin tam karşıtıdır. Kriptoanalistler genelde şifre çözmeye dayalı çalışırlar. Kriptoloji bir matematik bilimidir ve genelde sayılar teorisi üstüne kuruludur.
İlk kriptolog, 4000 yıl önce yaşamış Mısırlı bir kâtiptir. Efendisinin hayatını anlatırken hiyeroglifleri şifrelenmiş bir şekilde oluşturmuştu ve bazı hiyeroglifler daha önce hiç kullanılmamıştı.
Kriptografi, bu şekilde başlamasına karşın, hayatının ilk 3000 yılında neredeyse hiç gelişemedi. Dünyanın farklı farklı yerlerinde bağlantısız bir şekilde en temel biçimde kullanılmıştı ancak medeniyetlerin yıkılışıyla sonraki adımlara geçilememişti.
Dönemin en önde uygarlığı olan Çin'de ise yazının şifresiz yazılmasının bile çok zor olması nedeniyle kriptografi hiç gelişemedi.
Daha sonraları (M.Ö 5. - 6. yüzyıl) askeri istihbaratta gizliliğin gerekmesi nedeniyle, kriptografi askeri alana girdi. Askeri alandaki ilk kriptograflar Spartalılardır.
Heredot’un anlattıklarına göre eski Yunan’da şifreli bir mesaj gönderilmek istendiğinde, kölelerin kafa derisi üzerinde mesajlar aktarılmaktaydı. Önce bir kölenin kafası traş edilir, daha sonra da ilgili mesaj kafasına kazınır ve saçlarının uzaması beklenirdi. Birkaç ay sonra da köle, hedefine doğru yola çıkar ve gittiği yerde tekrar kafası traş edilerek mesaj okunurdu.
Artık ne kölelerimiz ne de aylar boyu bekleyecek zamanımız var. Ayrıca pek zarif bir fikir olmayan bu yöntem yerine gelişen zaman içerisinde pek çok yeni yöntem keşfedilmiştir. Örneğin Roma imparatoru Julius Sezar generallerine gönderdiği mesajların okunmaması için üç yana kaydırma mantığını kullanan bir şifreleme yöntemi geliştirmiştir. Sezar, mesajlarındaki yazılarda, örneğin “A” harfi yerine “D”, “B” harfi yerine “E” kullanmaktaydı. Oldukça basit ve hedefine ulaşan bu yöntem o çağın şartları için yeterli olmuştur.
Gelişen zaman içerisinde değişen şifreleme yöntemleri birbirini izlemiş, kimi zaman çözülen bir şifre imparatorlukların kaderini değiştirmiştir. Örneğin 1587 yılında İngiliz Kraliçesini devirmek için adamlarıyla haberleşmede kullandığı basit değiştirme yöntemi çözülen İskoçya Kraliçesi, bu hatasını idam edilerek ödemiştir.

1. Dünya Savaşı'nda Almanların çözmemesi için bir Amerikan Telefon ve Telgraf şirketinden bir çalışan olan Gilbert Vernam tarafından hazırlanan “bir kerelik bloknot” yöntemi, savaş boyunca Amerika Birleşik Devletleri’nin mesaj güvenliğini sağlamıştır. Bu sistemde şifrelenecek metin ASCII kodundaki karakterlere dönüştürülür ve bir kez şifreyi çözmede kullanılacak gizli anahtar, mesajı okuyan kişi tarafından imha edilirdi. Böylece tek seferlik mesajlaşmalar güvenli bir iletişimi oluştururdu.
2. Dünya Savaşı'nda ise filmlere konu olan Enigma makinesi Almanların en güvendiği şifreleme tekniğiydi, ta ki; Ruslara esir düşen bir Alman savaş gemisinde ele geçirilen Enigma makinesinin İngilizlere şifre kırıcılar tarafından çözülmesi, savaşın kaderini değiştirmiştir. Almanların tüm haberleşmesini dinleyen İngilizler, bu bilgi ile uzun süre Almanların ne yapacaklarını erkenden öğrenip ona göre taktik hazırlama şansına sahip olmuşlardır.
Enigma makinesi temel olarak; klavyesinden girilen karakterlerin makine içerisinde birbiri ile değişik şekillerde algoritma oluşturacak şekillerde yazıları kodlayan üç adet diskten oluşmaktaydı. Enigma’daki diskler Almanlar tarafından önce 5’e ve daha sonra da 8’e çıkarılmıştır. Ancak büün bu tedbirler İngilizlerin ilk bilgisayarların atalarından olan, IBM bilgisayar sistemi ile kodları çözmesini engelleyemedi.
Enigma’nın şifresinin çözülmesi ile bilgisayarları yakınlaştıran bu süreç, sonraki zamanlarda bilgisayarların şifreleme işlemlerinde daha çok kullanılması ve günümüzde de vazgeçilmez bir parçası olma durumunu getirmiştir.
Günümüz bilgisayar destekli şifreleme teknikleri oldukça, yüksek bilgi gerektiren karmaşık güvenlik önlemleriyle yoğrulmuş teknikler içerir. Her biri bir öncekinden daha güvenli olduğunu iddia ederken, her geçen gün bir öncekinin nasıl şifresinin nasıl kırıldığına şahit olmaktayız. Dolayısıyla öğrendiğimiz temel yöntem teorik olarak hiçbir şifreleme yönteminin kırılamaz olmadığı ve sonlu bir süre sonunda şifresinin çözüleceğidir. Belki 1 ay belki 1000 ay sonra ama mutlaka tüm şifrelerin çözülebileceği unutulmaması daima tavsiye olunmakta.
Bu yazıda bu şifreleme yöntemlerinden biz kullanıcılar için en etkili kullanılacak alan olan evimizdeki, işyerimizdeki dosya ve klasörlerimizin şifrelenerek korunmasıyla ilgili yazılımlardır. Her birimizin basit ve kullanışlı bir teknikle, şüpheli gözlerden saklanmasını isteyeceğimiz dokümanlar bulunabilir. Örneğin işyerindeki bir satış raporu, veya sevgilimize yazdığımız bir şiirin, bilgisayarımızı kullanan diğer kişilerce görünmesini istememek en doğal hakkımız!
Yalnız dikkat edilmesi gereken en temel nokta, hangi programı kullanırsak kullanalım, şifrelemekte kullandığımız bir parola mutlaka olacaktır. Bu parolayı asla unutmamalı ve başkalarının görebileceği ortalık bir yerde bulundurmamalıyız. Yoksa bütün bu karmaşık matematiksel formüllere dayanan şifreleme mantığının temelinde yatan “insan” faktörü devreye girer ve şifremiz çözülür.

Klasik Şifreleme Teknikleri
Tarih içerisinde değişik teknikler kullanılarak şifreli mesajlar iletilmeye çalışılmıştır. Bir dönem uygulanan kölelerin kafasına kazılan yazılarla mesajlaşma haricinde, şu teknikler de kullanılmaktaydı;
  • Harf İşaretleme: Bir yazı içerisindeki bazı karakterlerin daha derin kazılmasıyla ancak belli bir açıdan gelecek ışıkla okunan yazılar.
  • Görünmez Mürekkep: Belirli bir ısıda veya kimyasal bir sıvıya batırılarak okunur hale gelen yazılar.
  • İğne Delikleri: Yazıdaki belirli karakterler iğne ile delinerek işaretlenmesi temeline dayanıyordu.
  • Sezar Tekniği: Bilinen en eski “yerine koyma“ tekniğidir. Her harf alfabedeki kendinden üç sonraki harfin yerine konularak yazışmalar yapılmaktaydı.

Nasıl Çalışır?

Kriptoloji algoritmaları tamamen matematiksel fonksiyonlardan oluşur. Örneğin Sezar şifresinde A harfi yerine D, B harfi yerine E kullanılmıştır... ve bu şekilde devam etmektedir. Bu da demek oluyor ki algoritma gördüğü her harf yerine alfabede ona karşılık gelen harfin üç ilersindeki harfi getirerek şifrelenmiş (kriptolu) metni oluşturmuş oluyor. İlk zamanlarda kriptolu metinlerin güvenliği için şifreleme ve deşifreleme algoritmaları saklı tutulurdu ve gizli bir anahtar bulunurdu. Fakat günümüzde kriptolojinin güvenliğinden bahsedecek olursak. Algoritma bilinse dahi yazı metninin çözülmemesi gerekir. Burada da devreye açık anahtarlı kripto algoritmaları girmektedir. Bunlar bir Public Key (genel anahtar) –ki bu herkesin görebileceği bir anahtar. (Secret Key) bu da sadece yazının çözülmüş (deşifrelenmiş) halini elde etmeye yarayacak olan anahtardır.

Kullanım Alanları
İletişim kurmak isteyen iki kişinin bir birlerine e-posta aracılığı ile ileti göndermesini göz önünde tutalım. Bu iletiler bir çok bilgisayardan geçmektedir. A kullanıcısından B kullanıcısına gittiğinde daha önce açılıp okunmadığını veya açılıp üstünde değişiklik yapmadığını bilemeyiz. Bu yüzden devreye kriptolama girmektedir. Kripto teknikleri genelde bu yazıyı daha önce hazırlanmış bir algoritma ile şifreli bir metin haline getirir. Örnek olarak buna Sezar şifresi diyebiliriz.
Bir başka iletişim tekniğini göz önüne alırsak, örneğin telsiz haberleşmelerinde de buna benzer sistemler kullanılmaktadır. Ses önce şifrelenir karşıya gönderilir orda şifre açılır ve ses araya başka bir kullanıcı girmeden güvenli bir şekilde teslim edilmiş olur.
Dikkat edeceğimiz gibi kriptoloji iletişim materyallerinin kullanıldığı her alanda gizliliği sağlamak için kullanılmaktadır (ses, görüntü, metin v.s ). Askeri ve İstihbarat işlerinde de kullanılır.

_PaPiLLoN_ - avatarı
_PaPiLLoN_
Ziyaretçi
24 Ağustos 2007       Mesaj #2
_PaPiLLoN_ - avatarı
Ziyaretçi
spacer
Örnek verebileceğimiz en basit simetrik şifrelerden biri Sezar Şifresidir. Neredeyse tüm kriptoloji kitaplarının giriş bölümlerinde Sezar Şifresi örneğine rastlarsınız.
Sponsorlu Bağlantılar

300px Sezar sifresi
Üç harf atlamalı Sezar Şifresi

Tarihin ilk kriptolojik fikirleri İngilizce'de transposition and substitution cipher adını taşır, yani yer değiştirme ve harf değiştirme şifrelemesi. Bu yöntemlerden ilki bir yazıdaki harflerin yerlerini değiştirerek, ikincisi ise harfleri başka harflerle değiştirerek elde edilir. Bu şifreleyi kullanan belki de en ünlü teknik Sezar Şifresi'dir: Bu şifrede, her harf o harften birkaç sonraki harf kullanılarak yazılır. Örneğin, 3 harf atlamalı Sezar Şifresi'nde "deneme" yerine "ghrhph" yazılır.
Öte yandan, Sezar Şifresi(Cevrimsel alfabe) kırmak görece kolay olmaktadır: bir filolog, bir dilde en çok geçen harfleri bulabilir. O harfler ile mesajda en sık geçen harfleri karşılaştırarak hangi harfin hangi harf ile değiştirildiğini bulabilir. Bu adımların ardından, mesaj çözülmüş olur.
Sezar şifresi k
aba kuvvet (brute-force) saldırısıyla çok kolay çözülür. Çünkü;
  • Şifreleme/Şifre çözme yöntemi gizli değildir.
  • Sadece 25 (Latin alfabesi harf sayısı) farklı deneme yeterlidir. (Anahtar uzayı 25 elemanlıdır.)
  • Düz metin (plaintext) ve formatı gizli değildir.
  • 26! farklı şifre tablosu vardır.
Bunu bir örnekle hemen anlatayım:
Mesela göndereceğimiz metne yine M diyelim, bunun şifrelenmeş halinede C diyelim. (İngilizce karakterler göz önüne alınmıştır)
M: “Mutasyonda bir makale”
C: “Nvubtzpoeb cjs nblbmf”
Görüldüğü gibi alfabedeki tüm harfleri sayılara eşit tutarsak
(A=1, B=2, C=3...)
sonra gönderilen yazıda ve
A =>B, B=>C, C=>D, ..., Y=>Z, Z=>A şeklindedir.
Algoritmamızın mantığı şudur: gelen her harfin sayısını bul ve bir ilersindeki sayıyı yerine yaz.
Sezar Şifresi tek alfabeli yer değiştirme veya permütasyon şifreleri arasında değerlendirir. Çözülmesine gelince de. Türk alfabesini göz önünde tutarsak 28 karakterden oluşacağı için, en fazla 27 ilersindeki harfi alabilir deriz. Buda 27 deneme yapmamıza mal olacaktır. Şifrenin bulunma denemesini ortalama olarak 27/2~=15 de diyebiliriz. Birde yazılan harfin yerine herhangi bir harf konulduğunu düşünürsek bu sefer yaklaşık olarak 28! (yirmi sekiz faktöriyel) kez denemek zorunda kalırız.
_PaPiLLoN_ - avatarı
_PaPiLLoN_
Ziyaretçi
25 Ağustos 2007       Mesaj #3
_PaPiLLoN_ - avatarı
Ziyaretçi
Tarihi ve Tanımı:
Simetrik (Sezar şifreleme metodu) şifreleme yöntemi ile yazı üzerinde 27 farklı dönüşüm yapılabiliyordu. Biz İngiliz alfabesini göz önünde tutarsak 26-1=25 dönüşümden söz etmemiz gerekir. Buda simetrik şifreleme yönteminin güvenli olmadığını gösterir. Afin yöntemi ile simetrik şifreleme yöntemi biraz daha genelleştirilmiştir ve güvenlik azda olsa simetrik şifreleme yöntemine göre daha güçlüdür. Tabi bu kağıt kalem kriptolojisinin bir örneği olduğundan bunu günümüz koşullarına göre düşünürsek. Çok çok zayıf bir yöntem olduğunu görürüz. Fakat bu bize kriptolojinin temel mantığını kavratmak için güzel bir örnek teşkil etmektedir.
y=(ax+b)MODm
fonksiyonunu göz önüne alalım.
Burada x düz metindeki harflerin sayısal karşılığı, m düz metinde kullanılan alfabenin karakter sayısı, a ve b gizli sayılarımız ve y de fonksiyonumuzun işlem sonucunda aldığı değerdir. Y nin x e geri dönüşümü ise
x=ters(a)(y-b)MODm
formülü yardımıyla hesaplanır. Ters(a), a ile çarpımının modülo m e göre sonucu 1 olan sayıdır. Bunun kısaca şöyle ifade edebiliriz.
(a*ters(a))MODm=1
Aşağıdaki örnekte gördüğümüz gibi y=11x+4MOD26 şifreleme fonksiyonunu kullandığımız da E ve S harfleri W ve U şeklinde şifreli hallerini alır. Hesap modülo 26 aritmetiğini içerdiğinden, eğer çarpan 26 ile en büyük ortak bölene sahip ise bazı karakterler beklenen sonucu vermeyebilir. Bu yüzden m ve a nın en büyük ortak böleni 1 olmalıdır. Yani aralarında asal olacak şekilde seçmeliyiz.

Örnek:

Farzedelim ki mesaj
y=(11x+4)MOD26 fonksiyonu ile şifrelensin. Şifreli metnimiz MONEY. Öncelikle düz metnimizdeki her bir karakterin aşağıda verilen listedeki olduğu gibi 0 ile 25 arasındaki sayısal değerlerini bulmalıyız.
A-0

B-1
C-2
D-3
E-4
.
.
.
Y-24
Z-25

Böylece MONEY metnimizin uygun sayısal değerleri 12, 14, 13, 4 ve 24 tür. Buradaki her bir değer için daha önce belirlediğimiz y=(11x+4)MOD26 fonksiyonunu kullanırsak.
  • M: y =(11*12+4)MOD26=6 ---- G
  • O: y =(11*14+4)MOD26= 2 ---- C
  • N: y=(11*13+4)MOD26=17 ---- R
  • E: y=(11*4+4)MOD26=22 ----- W
  • Y: y=(11*24+4)MOD26=8 ----- I
Böylece bulduğumuz şifreli metnimiz “GCRWI” olur.

Şifre çözümü:

Şifre çözümü (deşifreleme) için y fonksiyonunu aşağıdaki gibi değiştirelim.
x=(ters(a)(y-b)MODm
deşifreleme fonksiyonumuz
a=11 ve b=4 demiştik.
Böylelikle
x=ters(11)(y-4)MOD26 yı elde edebiliriz.
Ters(11)MOD26=19 ve bu şekilde deşifreleme fonksiyonumuz x=19(y-4)MOD26 olur.
Şimde şifreli metnimiz olan “GCRWI” deki her bir karakterin karşılığı olan sayısal değeri tablomuzdan bulalım. 6,2,17,22,8 dir.
  • G: x=19*(6-4)MOD26=12 ------ M
  • C: x=19*(2-4)MOD26=14 ------ O
  • R: x=19*(17-4)MOD26= 13 ---- N
  • W: x=19*(22-4)MOD26=4 ----- E
  • I: x=19*(8-4)MOD26=24 ------ Y
Bu sayede düz metnimize ulaşırız “MONEY”.

Analiz:

Düz metindeki her bir karakterin y=(ax+b)MODm fonksiyonu ile şifrelendiği bildiğimizden Afin yöntemini iki lineer denklemin çözümüyle kırabiliriz.
Örneğin
“IF” ----- “PQ”
I---P: 8a+b=15MOD26
F---Q: 5a+b=16MOD26
Bu işlemin sonucunda a=17 b=9 çıkar. Böylelikle verilen metin kolayca kırılabilir.
_PaPiLLoN_ - avatarı
_PaPiLLoN_
Ziyaretçi
25 Ağustos 2007       Mesaj #4
_PaPiLLoN_ - avatarı
Ziyaretçi
Açık anahtarlı şifreleme, şifre ve deşifre işlemleri için farklı anahtarların kullanıldığı bir şifreleme sistemidir. Haberleşen taraflardan herbirinde birer çift anahtar bulunur. Bu anahtar çiftlerini oluşturan anahtarlardan biri gizli anahtar diğeri açık (gizli olmayan) anahtardır. Bu anahtarlardan hiçbiri hem şifreleme hem deşifreleme yapmaz. Gizli anahtarın sadece bir sahibi vardır. Gizli anahtara sahip olan taraf gizli anahtar aracılığıyla, kendi açık anahtarıyla şifrelenmiş bilgilerin şifresini çözebilir, kendisine ait sayısal imzaları oluşturabilir ya da kendi kimliğini ispat edebilir (authentication).
Açık anahtar, sadece gizli anahtarın sahibi tarafından oluşturulabilir ve herkesin erişimine açıktır. Anahtarlar birbirlerinden farklı olsalar da, matematiksel olarak birbirleriyle ilişkilidirler. Açık anahtarla, bilgiler sadece gizli anahtarın sahibi tarafından çözülebilecek şekilde şifrelenebilir ya da gizli anahtar sahibinin dijital imzasının ve kimliğinin doğruluğu kontrol edilebilir.
Açık anahtarlı şifrelemenin uygulanmasında asimetrik anahtar algoritmaları kullanıldığı için asimetrik şifreleme olarak da adlandırılır. Simetrik şifreleme algoritmalarının aksine, asimetrik şifreleme algoritmalarında güvenli bir "ilk anahtar değişimi" ihtiyacı bulunmamaktadır. Bu algoritmaların çalışma şekli anahtarların oluşturulmasını, açık anahtarla şifreleme ve gizli anahtarla deşifreleme yapılmasını kolayca gerçekleştirirken yalnızca açık anahtarı bilerek gizli anahtarın bulunmasını zor kılar. Bu zorluğu anahtarlar arasındaki matematiksel ilişki (öne çıkanları örnekleri çarpanlara ayırma ve ayrık logaritma) sağlar.
Açık anahtarlı şifreleme gayet temel ve yaygınca kullanılan bir teknolojidir. Birçok kriptografik algoritmanın ve kritosistem tarafından kullanılır. TLS (SSL'in takipçisi), PGP ve GPG gibi internet standartlarının temelinde yer alır.
Asimetrik şifreleme (public key) yöntemi simetrik şifreleme yönteminin en büyük dezavantjı olan gizli anahtarı (secret key) karşı tarafa, kimsenin öğrenmeden gönderilmesindeki zorluğu ortandan kaldırma adına geliştirilmiştir.
Asimetrik şifrelemede iki adet anahtar oluşturulur. Bu anahtarlar genel anahtar (public key) ve özel anahtar (private key) olarak adlandırılır. Public key ile veri şifrelenir private key ilede sadece şifrelenmiş veri deşiflenip orjinal hale getirilir. Public key olarak belirtilen anahtar umuma açıktır ve herkes tarafından bilinmesinde herhangi bir sakınca yoktur. Çünkü bu anahtarla sadece veri şifrelenir ve bu anahtarla şifrelenmiş veriler ancak ve ancak public key e karşılık oluşturulmuş private key (özel anahtarla ) çözülebilir. Bu itibarla private key in kesinlikle gizli olarak kalması gerekir.

Belirtilen yöntem şu mantıkla çalışır. İki kişi arasında bir veri alışverişi yapıldığını varsayalım (bu iki kişi hemen bütün şifreleme kitaplarında Alice ve Bob diye geçer. Nedendir bilinmez?) Alice, Bob’a şifreli bir mesaj göndermek istemektedir. Bob kendi bilgisayarı üzerinde bir adet public key (şifreleme için) ve bir adet de private key (şifre çözmek için) oluşturur. Ve Bob oluşturmuş olduğu public key i Alice gönderir. Yolda public key in başkaları tarafından görülmesinde herhangi bir sakınca yoktur.(secret key yada simetrik algoritmalardan farkı buradadır.) Çünkü public key sadece şifreleme yapar. Alice Bob’a ait public key ile mesajını şifreler ve şifreli bir şekilde Bob’a yollar. Bob’un elinde de kendisine ait olan public key e karşılık gelen private key vardır (ve bu private key sadece oluşturulmuş olan public key ile şifrelenmiş mesajları çözer ve bu sebebten ötürü hep gizli kalmalıdır.) Bob şifrelenmiş mesajı private key i ile çözerek okur. Yolda metin şifrelenmiş olarak gittiğinden ve private key (özel anahtar) her zaman Bob un elinde gizli bir şekilde tutulduğundan mesajın güvenliği sağlanmıştır.


*
Alice: Plaint text + Bobs publickey = > Encrypted Text

Oluşturulmuş bu şifreli mesajı Bob’a yolla.

Bob: Encrypted Text + Bobs privatekey => Decrypted Text (Yani Orjinal mesaj)


Uygulama alanları
Güvenli bir iletişim kanalına sahip olmayan iki tarafın kullanacakları bir anahtarı güvenli olarak belirlenmesi (Diffie-Hellman, El Gamal) ya da var olan bir simetrik anahtarın güvenli olarak değiş tokuş edilmesi
Sayısal imzalar (RSA, DSA) aracılığıyla kimlik doğrulama (authentication) ve bilgi bütünlüğünün korunması (integrity)
Bilginin şifrelenmesi

Avantajları
Asimetrik şifreleme sistemlerinde her kullanıcının sadece kendi anahtarını gizli tutması yeterlidir. Bunun aksine (n) tane kullanıcının bulunduğu bir simetrik şifreleme sisteminde gizli tutulması gereken anahtar sayısı her kullanıcı için (n-1) tanedir. Bu da sistem için büyük bir depolama yükü oluşturur.
Ayrıca simetrik sistemlerde anahtarların kesinlikle güvenli yollardan kullanıcılara ulaştırılması gerekmektedir. Örneğin değişik kıtalarda yaşayan kişilerin internet gibi herkese açık (güvensiz) bir ortam üzerinden güvenli bir şekilde haberleşmesi ya da alışveriş yapması için gizli anahtarlarını değiş-tokuş etmeleri pratikte mümkün değildir. Açık sistemlerdeyse anahtar değiş-tokuşu güvensiz kanallar üzerinde belli önlemleri almak şartıyla güvenli bir şekilde yapılabilir.

Dezavantajları
Simetrik şifreleme sistemleriyle karşılaştırıldığında, asimetrik sistemler çok daha yavaştır. Bu, şifrelemede kullanılan anahtarların uzunluğu ve yapılan işlemlerin yavaşlığından kaynaklanmaktadır.
Asimetrik şifreleme yöntemiyle şifrelenmiş bir bilgiyi aynı anda değişik kullanıcılara gönderebilmek için aynı bilginin her alıcı için ayrı ayrı şifrelenmesi gerekmektedir. Bu da şifreleme için ayrı bir yük getirmektedir.
Bu amaçla asimetrik ve simetrik şifreleme sistemlerinin avantajlı yönlerini bir arada kullanan hibrid sistemler kullanılmaktadır. Hibrid sistemlerde şifreleme için simetrik anahtarlar kullanılırken, bu anahtarların iki taraf arasinda taşınması için asimetrik yöntemler kullanılmaktadır.
Bir diğer sorun ise, asimetrik sistemlerin güvenliğinin henüz daha ispatlanmamış varsayımlara dayandırılmasıdır. Asimetrik sistemlerde güvenlik tek-yönlü-fonksiyonlara dayandırılmaktadır. Bu fonksiyonların kendisinin hesaplanması "kolay", tersinin hesaplanması "imkânsız"dır. İmkânsızdan kasıt, fonksiyonun tersinin hesaplanmasının polinomial süre içerisinde imkânsız olmasıdır. Ancak ters alma işlemini hızlandıracak yöntemlerin var olmadığı henüz ispatlanmış değildir.

Örnekler

Diffie-Hellman
RSA
ElGamal
Paillier

Biraz da matematik
Bu public/private key çiftini üretmek için özel bir algoritma kullanılır. Bu algoritma ilk kez Amerikalı üç bilim adamı tarafından 1977 yılında geliştirimiştir ve ismini bu üç kişinin baş harflerinden almıştır RSA. Rivest, Shamir, Adleman. (Her ne kadar İngilizler ikici dünya savaşı yıllarında bu tip te bir yöntem keşfettiklerini ve bu yöntemi güvenlik amacıyla kimseye söylemedikleri belirtseler bile RSA yöntem olarak ilk kabul edilmiştir.)

RSA mantık olarak şöyle çalışır.

Tamamiyle asal sayılar üzerinde hareket eder.

Önce bir adet asal sayı seçilir ve buna p sayısı denir. Sonra bir tane daha asal sayı seçilir ve bunada q denir.

p = 3

q = 11 (3 ve 11 asal sayıdır)

Daha sonra bir adet bu iki sayının çarpımından oluşan N sayısı oluşturulur.

N = (p * q)

N = (3 * 11)

N = 33

Bu N sayısı Modulus olarak kabul edilir. Ve hem public hemde private key in bir parçasını oluşturur.

Daha sonra bir a sayısı oluşturulur ve bu a sayısı p değerinin bir eksiği ve q değerinin bir eksiniğinin çarpımından oluşur.

a = (p -1 ) * (q -1)

a = (3 -1 ) * (11 – 1)

a = 2 * 10

a = 20

sayısı elde edilir.

Daha sonra bir e sayısı oluşturulur ve bu e sayısı a ile herhangi bir ortak böleni olmayan bir sayı olmalıdır.

e = 7 (denebilir)

7 sayısının 20 ile ortak böleni yoktur.

Bu oluşturulan e ve N sayılar public key dir (e Exponent (yani üs) N modulus (yani mod alınacak sayı)

Daha sonra private key i oluşturmak için bir adet d sayısı üretilir ve bu d sayısı e sayısı ile çarpılıp a sayısı ile mod landığında kalanı 1 verecek şekilde bir sayı olmalıdır.

d = ? * e mod a => 1 sonucunda olmadır
.
bunun matematik teki yazımı şöyledir. d * e = 1 mod a, yani

d * 7 = 1 mod 20

d = 3 sonucu bulunur

çünkü 3 * 7 = 21 mod 20 de 1 sonucunu verir.

Oluşturulan bu d sayısı ile N sayısı da private key dir (d Exponent, N modulus)

Yukarıdaki örnek devam ettirilirse Bob’un kendi adına public ve private key lerini oluşturduğunu fazedelim

Bob'un key çifti :

Public key : e = 7 ve N = 33

Private key : d = 3 ve N = 33

Bob oluşturduğu bu keylerden private key i çok iyi bi şekilde saklar. Ve public key i Alice’ e yollar. Alice bu bu public key ile mesajı şu şekilde şifreler. Diyelimki ‘A’ karakterini şifreleyip göndermek istiyor. ‘A’ harfine karşılık gelen herhangibi sayı oluşturur (burada ascii kodları kullanılabilir)

A harfinin sayısal değerini 16 olarak seçelim. 16 sayısını public key de bulunan e sayısı ile üs alır ve N sayısı ile de çıkan sonucun mod unu alır. Yani

X = 16 ^ 7 mod 33

X = 268435456 mod 33

X = 25

16 sayısını (ayni A harfini) 25 sayısına çevirerek Bob’a yollar.

Bob’da almış oluduğu bu 25 sayısını d ile üs alıp, N ile modlar

X = 25 ^ 3 mod 33

X = 15625 mod 33

X = 16 ya geri çevirir. (yani A)

Görüldüğü gibi Alice 16 sayısını şifreleyip 25 e çevirmişti. Bob’da 25 sayısını çözüp 16 sayısına geri çevirdi.

(Burade belirtilen örnekte şifrelemek için 33 sayısına eşit yada büyük bir sayı kullanılmamalıdır. Neden?)

Asimetrik şifreleme metodunun iki güvenliği vardır. Birincisi secret-key yönteminde olduğu gibi gizli bir veriyi karşı tarafa yollmak gerekli değildir. İkisinciside şifrenin çözülmesi için gerekli olan ihtimal sayısı çok fazladır.

Asimetrik bir algoritmanın çözülmesi için gerekli olan, p ve q sayılarının bulunmasıdır. p ve q sayıları bilinen (ve herkese açık olan) public key içerisindeki N sayısından bulunabilir. (nasıl?)

Burada belirttiğimiz örnekte sayıları hesaplayabilelim diye çok küçük asal sayılar seçtik 3 ve 11 gibi. Ancak bu şifreleme metodunda kullanılan sayılar oldukça büyüktür.

128 bitlik şifrelemede ortalama 45 haneli asal sayılar kullanılmaktadır. N sayısını oluşturmak için 45 haneli iki sayının çarpımı bulunmalıdır.

128bit lik bir şifrenin çözülmesi için ihtimal sayısı 2 üzeri 128 dir. Ve bu kadar ihtimal normal bir bilgisayar ile ortalama 2 trilyon yılda çözülür. (Saniyete 1 trilyon işlem yapabilen 1 milyon dolarlık süper bilgisayarlarla bu süre 1190 yıldır.)

Japonyada 64bit bir şifre yaklaşık 100.000 (yüzbin) bilgisayarın paralel bağlanarak ortak çalışması sonucunda yaklaşık 3,5 yılda çözülmüştür.

Bügün internet üzerinde SSL ile kurulu sayfalarda 128bit lik şifreleme kullanılır. (sizin kredi kartı bilgilerinizin korunması için) ve her zaman şifrelemede verinin geçerlilik süresi çözülme süresinden az ise güvendesiniz demektir.

Yani SSL kullanılan bir sayfada şifrelenerek yollanan kredi kartı bilgileriniz 1190 yıldan fazla süre yürürlükte kalmayacağı için 1190 yıl sonra çözülmüş olmasının bir mahzuru yoktur. Özel şifreleme programları ile 4096 bitlik (PGP Corporation - Hard Disk Encryption, File Encryption, Secure ftp Server, Hard Drive Encryption, Enterprise Data Protection - PGP Corporation) şifreleme yapılabilir bu şekilde gerçekleştirilmiş bir şifrenin çözülme ihtimali 2 üzeri 4096 yani yaklaşık olarak 10 üzeri 500 dür. Bu sayının büyüklüğünü anlamak için şöyle bir örnek verilebilir. Dünyada bilinen atom sayısı 10 üzeri 70'dir.
_PaPiLLoN_ - avatarı
_PaPiLLoN_
Ziyaretçi
25 Ağustos 2007       Mesaj #5
_PaPiLLoN_ - avatarı
Ziyaretçi
Steganografi, eski Yunanca'da "gizlenmiş yazı" anlamına gelir ve bilgiyi gizleme bilimine verilen addır. Steganografi'nin şifrelemeye göre en büyük avantajı bilgiyi gören bir kimsenin gördüğü şeyin içinde önemli bir bilgi olduğunu farkedemiyor olmasıdır, böylece içinde bir bilgi aramaz (oysa ki bir şifreli mesaj, çözmesi zor olsa bile, gizemi dolayısıyla ilgi çeker).

Tarihçe

Tarihte steganografi, hem şifreleme öncesi dönemde hem de sonrasında (ilgi çekmeme avantajından dolayı) kullanılmıştır.

  • Eski Yunanistan'da, insanlar mesajları tahtaya yazıp üzerini mumla kaplarlardı. Böylece cisim kullanılmamış bir tablete benzerdi öte yandan mumun eritilmesiyle birlikte içindeki gizli mesaj okunabilirdi.
  • Herodot'un bir hikâyesine göre Pers saldırısının öncesinde saçları traşlanan bir kölenin kafasına yazılan uyarı mesajı, saçlarının uzaması sayesinde saklanmıştır. Bu sayede, mesaj dikkat çekmeden gerekli yere ulaşabilmiş, ulaştığında da kölenin saçları tekrar kesilerek uyarı okunabilmiştir.
  • II. Dünya Savaşı sırasında, New York'taki bir Japon ajanı (Velvalee Dickinson) oyuncak bebek pazarlamacısı kılığı altında saklanmaktaydı. Bu ajan, Amerikan ordusunun hareketlerini bebek siparişi içeren mektuplar içine saklayarak Güney Amerika'daki adreslere gönderiyordu.
  • Özellikle 1960'larda mor ötesi boya ile yazı yazabilen sprey ve kalemler moda idi. Bu kalemlerin yazdığı yazılar, sadece bir mor ötesi ışıkla görülebiliyordu.
  • Ron Howard'ın Akıl Oyunları (A Beautiful Mind) filminde, John Nash gazete ve dergilerde gizli mesajlar aramaktadır.
Bilgisayar dünyasında kullanımı

Veri içine veri gömmek

Bilgisayar dünyasında da steganografi oldukça popülerdir:

  • i386 işlemci serisinin komut setindeki bir tekrarlama, i386 için yazılmış programlara herhangi bir veriyi saklama imkânı vermektedir (Daha fazla bilgi için buraya tıklayabilirsiniz)
  • Resim, ses ve video gibi verilerde dosya boyları çok büyüktür. Öte yandan, seste ve görüntüdeki küçük bozuklukları insan beyni farkedemediği için, kasıtlı olarak periyodik bozukluklar şeklinde dosyanın içine başka bir dosya saklanabilir.
Örnek
Resimlerde, 24-bit'lik bir kanallama kullanılır. Bu kanallar kırmızı, yeşil ve mavi'dir ve her bir kanal 8 bit'lik bir değere sahip olabilir. 8 bit 256 ayrı değer saklayabilir, ve örneğin 12 sayısı 00001100 olarak 240 sayısı ise 11110000 olarak kodlanacaktır.

Öte yandan, bir insan her renkteki 8 bit'in son iki (hatta üç) bitindeki değişiklikleri göremeyecektir, zira bu değişiklik 3 (veya son üç bit için 7) ton değişikliğe eşdeğerdir (oysa ki toplamda 255 ton var). Bu durumda, son üç bit asıl rengin detayları yerine başka bir bilgi saklamak için kullanılabilir: hesaplayacak olursak görüyoruz ki günümüzde cep telefonlarının çektiği (dolayısıyla sıkça paylaşılan) 1600 * 1200 çözünürlükteki bir resmin içine bile 2 Megabayta kadar veri saklanabilir!
Örneğin, soldaki resmi gelişmiş bir fotoğraf veya veri editörüne verin. Editöre, resmin her baytına 3 sayısı ile "Logical AND" işlemi yapmasını söyleyin. Ortaya simsiyah bir resim çıkacak. Simsiyah (gibi görünen) resmi bir resim editörü ile açın ve resmin parlaklığını 85 katına çıkartın. Göreceksiniz ki, ortaya bir kedi çıkacak!

Resim içine yazı gizlemek

Günümüzde birden fazla veri gizleme metodu bulunmaktadır. Bu yöntemler arasında en iyi en kötü ayrımı yapamayız, herbirinin diğerlerine göre kısıtlamaları ya da üstünlükleri bulunmaktadır. Bu projede kullanılacak olan yönteme geçmeden önce diğer yöntemleri inceleyelim.

Yöntemlerin en kolayı gizlenecek olan veriyi resim dosyasının “açıklama” alanında gizlemektir. Bu ideal bir yöntem değil çünkü “açıklama” alanının bir sınırı var (255 byte kadar). Ayrıca bu yöntemde değişik resim dosyaları için değişik algoritmalar kurmanız gerekecektir.

Bir başka yöntem ise resim dosyasında renkler için ayrılan ama kullanılmayan alanların veri gizleme için kullanılmasıdır. Bu yöntem de bazı veri çözme araçları ile kolayca bulunabilir, farkedilebilir.

Resim dosyalarının tipik özelliklerini çok iyi kavramamız gerekir. Bunlar;

1- Bütün resimler dosya başlığı (header) ve piksellerden oluşur.
2- Her piksel sadece bir renk içeren/gösteren küçük bir bloktur.
3- Her pikseldeki renk temel 3 rengin karışımından elde edilir.(Red,Green,Blue)
4- Her pikselde bu 3 renkin verileri tutulur. Her temel renk 1 pikselde 1 byte (0..255) yer kaplar, yani 1 piksel 3 byte (R,G,B) veri taşır.

Örnek :

Beyaz Renk RGB formatında FF-FF-FF hex değeri ile ifade edilir. Yani
Red: FF(h),
Green: FF(h),
Blue: FF(h)
FF binary sistemde 11111111'in karşılığıdır.
1 pikselde beyaz rengi ifade etmek için 11111111- 11111111- 11111111 verisi kullanılır.
11111111- 11111111- 11111111 verisinin en anlamsız bitlerini gizlenecek olan veri için kullanma yöntemi üzerine kuruludur. Bu küçük renk değişikliğini insan gözü algılayamaz.

Her piksele 3 bit. İlk bakışta çok çok az gibi görünse de 800x600 ebatında bir resimde

800 x 600 = 480.000 adet piksel bulunur.
480.000 x 3 bit = 1.440.000 bit (gizlenecek olan veri için kalan yer)
1.440.000 bit = 175,7 KiloByte
_PaPiLLoN_ - avatarı
_PaPiLLoN_
Ziyaretçi
25 Ağustos 2007       Mesaj #6
_PaPiLLoN_ - avatarı
Ziyaretçi
160px Tatjana van Vark machine rotors
Tatjana van Vark tarafından yapılmış Enigma tabanlı bir rotasyonel şifreleme makinesi

Sezar şifrelemesinin ardından en popüler şifreleme yöntemlerden biri
Rotasyonel Şifreleme (İngilizce Rotor Machine) olmuştur. Bu makinelerin en popüler örneği, Nazi Almanyası'nın II. Dünya Savaşı sırasında kullandığı Enigma makinesi adlı cihazdır.
Rotasyonel şifre makinesinin en önemli özelliği, birkaç rotor'un bir araya getirilmesiyle birlikte şifrelemenin dinamik olarak değiştirilebilmesidir: örneğin, ilk harfler bir şifreleme çeşidi, ikinci harfler başka bir şifreleme çeşidi, üçüncü harfler ise başka bir şifreleme çeşidiyle şifrelenebilir.
Bu tür şifrelemelerin kırılması için en popüler harfler yerine en popüler harf sekansları bilinmelidir; örneğin İngilizce'de NG ve ST harflerine arka arkaya sık rastlanır.
_PaPiLLoN_ - avatarı
_PaPiLLoN_
Ziyaretçi
25 Ağustos 2007       Mesaj #7
_PaPiLLoN_ - avatarı
Ziyaretçi
Tarihi ve Tanımı:
Hill şifreleme yöntemi bir blok şifreleme örneğidir. Blok şifrelemeyi de şöyle ifade edebiliriz. Düz metni bitişik ve aynı uzunluktaki bloklara bölme, her bloğu şifreleyerek şifreli metin bloklarına dönüştürme ve bu şifreli blokları şifreli metin çıktısı olarak gruplamaktır. Hill şifreleme yöntemi Lester Hill tarafından bulunmuş ve 1929 yılında yayınlanmıştır.

Örnek:
Bir mesajı Hill yöntemi ile belli bir düzen içinde şifrelememiz gerekir. Öncelikle mesajın göndericisi ve alıcısı bir anahtar nxn lik A matrisi üzerinde anlaşmış olmalılardır. Bu A matrisini seçerken dikkat etmemiz gereken bir özellik ise MOD26 ya göre terslenebilen bir matris olmasıdır. Düz metin n uzunluğundaki bloklar şeklinde şifrelenir. Aşağıdaki örnekte A 2x2 lik bir matris ve mesajımız 2 karakterli bloklar halinde şifrelenecektir.
Anahtar Matrisimiz:
A=hill1
Mesajımız: MISSISIPI
Öncelikle bloklara bölelim. Bu sayede mesajımız MI-SS-IS-SI-PP-I halini alır.
İlk bloğumuz MI dir. Bu seferde bloğumuzdaki karakterlerin harf tablosundaki yerine göre aldığı değerlerden oluşan matrisimizi oluşturalım.
M->12, I->8 olduğundan hill3 'dir.
Gönderenin hesaplaması gereken ise
Ahill3=hill(mod26) 'dir.
Bu işlem yapıldığında ilk iki karakterin şifreli karşılığı 2 ile 8 olacaktır. Bu değerlerin alfabetik karşılığınada bakıldığında CI çıktısını elde etmiş oluruz.
Bu işlemi düz metnimizdeki her bloğa uygularsak
  • Düz Metin: MI-SS-IS-SI-PP-IK
  • Şifreli Metin: CI-KK-GE-UW-ER-OY
Düz metnimizde son bloğa K eklememizin sebebi. Son bloğun uzunluğunu da 2 yapmaktır.
Hill yönteminin en önemli özelliğini de burada görmüş oluruz. S veya P nin yan yana kullanımında S->K olmuş sonradan ise S->E ve S->U olmuştur. Dolayısıyla Hill yöntemi ile düz metindeki karakterleri maskeleyebiliriz.

Şifre Çözümü (Deşifrelenmesi):
Mesajın deşifrelenmesi için öncelikle anahtar matrisimiz olan A matrisinin tersi hesaplanmalıdır.
hill4 (mod 26)
Anahtar matrisin tersi ile şifreli karakter çiftlerinin çarpımı bize düz metni verir.
Anahtar Matrisimiz:
A= hill5
Şifreli Metnimiz: CIKKGEUWEROY
Deşifrele için ilk bloğumuzu seçelim CI
A-1 hill=hill3(mod26) 'dir.
Mesaj deşifrelendiğinde ilk iki karakterin sayısal değeri olan 12 ve 8 sayıları bulunur. Bunlarda CI -> MI demektir. Mesajı alan kişi elinde bulunan şifreli metindeki her bir karakter bloğu için bu işlemi uygular.
_PaPiLLoN_ - avatarı
_PaPiLLoN_
Ziyaretçi
26 Ağustos 2007       Mesaj #8
_PaPiLLoN_ - avatarı
Ziyaretçi
Tarihi:
İlk olarak 1553 yılında Giovan Batista Belasa tanıtılmış 16. yüzyılın sonlarında Blaise De Vigenere bu yöntemi düzenleyip kullanmıştır ve bu yöntemin adı “Vigenere şifresi” olarak kalmıştır.


Tanımı:

Vigenere şifreleme yönteminden önce anlattığımız şifreleme yöntemlerini kısaca yeniden hatırlarsak, şifreler genel olarak bir alfabede yer değiştirme fonksiyonları ile oluturuluyordu. Buna en basit örnek olarak sezar şifreleme yöntemin
i verebiliriz. Tabiî bu yer değiştirme algoritmaları ile yazılan şifrelerde olasılık düşüktü ve şifre deneme-yanılma (yineleme) yöntemiyle kırılabilecek tarzdaydı. Vigenere yöntemi ile bu olasılık biraz daha büyültülmüştür. Bu yöntemin en büyük özelliği çoklu alfabe kullanmasıdır. Bundan kastımızı da aşağıdaki tabloya bakarak anlayabiliriz.

vigenere 12

Bu tabloya Vigenere tablosu denilmektedir. Bu yöntemle şifreleme yaparken Vigenere tablosunda periyodik döngüler ile yer değiştirme işlemleri yapılır. Sezar şifreleme yöntemini
göz önünde bulundurup tablonun ilk satırına bakarsak arada bir benzerlik göreceğiz. Sezar yöntemine göre burada öteleme (kaydırma – shift) sayımız 0, son satıra göre de 25’dir ve ya 26x26 lık bir matris şeklinde de düşünebiliriz. Bunu birinci satırı bir şerit gibi düşünürsek her seferinde bir yana kaymasıyla oluşan tablo bize vigenere tablosunu verir.
Böylelikle alfabe ile yer değiştirme arasında bire-bir değilde bir-çok bir ilişki sağlamış oluruz.

Yani 26 karakterlik her harfe karşı bir tane 26 karakterlik harf şeridi karşılık gelir. Aslında bu şeridi oluşturan harfler hep aynıdır fakat yerleri kaydırılarak (shift edilerek) değiştirilmiştir.

Burada Vigenere şifreleme yönetiminin iki metodu olan autokey metodu ver keyword metoduna değineceğiz.


Autokey Metodu:

Bir mesajı Vigenere autokey metoduyla şifrelemek için gönderici ve alıcı bir başlangıç anahtarı (priming key) üzerinde anlaşmış olmalıdırlar. Bu başlangıç anahtarı (priming key)

tek harften oluşur. Mesajın şifrelenmeye başlaması için bu anahtara ihtiyaç duyarız. Yöntemimizi tarif edecek olursak; şifrelenecek düz metnimizi bir satıra yazalım. Bunun alt satırına da başlangıç anahtarımızı (priming key) yazalım. Böylece gönderici düz metindeki harfleri ve başlangıç anahtarını kullanarak Vigenere tablosundan şifrelemeyi yapar. Şifreleme işlemi ise düz metindeki harfleri Vigenere tablosunun satır başlarından, başlangıç anahtarımızı da sütun başlarından bakarak bu ikisinin karşılık geldiği (kesiştiği) harfler bizim şifreli metnimizi oluşturur.

Düz metindeki ilk harf ile başlangıç anahtarımızı kesiştirip bir harf buluyoruz. Daha sonra düz metindeki ikinci harfin şifrelenmesi için başlangıç anahtarı olarak bu sefer düz metindeki ilk harfi seçiyoruz yine tablodan bakarak ikinci harf içinde bu şifreleme işlemi yapılır. Böylece üçüncü ve diğer tüm harfler bu mantıkla şifrelenir. Bu söylediklerimizi bir örnek üstünde gösterelim.


vigenere 11

Örnek:

Başlangıç anahtarı (priming key): B

Düz Metnimiz: DEFTER

Şimdi yukarıdaki tarife göre şifreleme işlemine geçelim.

Düz Metin: D E F T E R

B. anahtarı: B D E F T E

Şifreli Metin: E H J Y X V

Böylelikle şifreli metnimizi “EHJYXV” buluruz.


Çözümü

Alıcı olarak elimizde şifreli metnimiz ve daha önce üzerinde anlaştığımız başlangıç anahtarımız var. Yine bir satıra şifreli metnimizi yazıp alt satıra da başlangıç anahtarımızı yazıyoruz. Bu sefer tabloda satır başı olarak başlangıç anahtarımız olarak alıyoruz ve şifreli metnimizdeki karakteri bulana kadar sağa ilerliyoruz. Yani anahtar ile kesişimi şifreli metindeki karakter olan harf bizim düz metnimiz oluyor. İlk harf için bu işlemi yaptıktan sonra. Şifreli metindeki ikinci harfin çözümü için başlangıç anahtarı olarak bu sefer düz metindeki ilk harfi seçiyoruz. Bu işlemleri devam ettirdiğimizde düz metnimizi elde ederiz.

Şifreli Metin: E H J Y X V

B. anahtarı: B D E F T E

Düz Metin: D E F T E R


B ile başladık, kesişimi E olan düz metnimiz D oldu. Başlangıç anahtarı olarak bu sefer D yi alıp işlemleri tekrarladık. Düz metin olarak “DEFTER” `i bulmuş olduk.


Güvenlik

Kırılması sizinde tahmin edeceğiniz gibi çok basittir. Başlangıç anahtarı olarak alfabede seçilecek 26 karakter vardır. Buda 26 olasılık ile bu şifrelemenin çözülebileceğidir. Onun için bundan daha kuvvetli olan anahtar kelime metodunu (keyword metod) görelim.



Keyword Metodu:

Aslında autokey metoduna biraz benzemektedir fakat orda başlangıç anahtarı olarak bir harf seçerken burada bir kelime seçmekteyiz. Hemen örneğimize geçersek.

Düz metin: DEFTER AL BANA

Anahtar kelime: SORU

Yine bunları alt alta yazalım fakat beşerli harf gurupları halinde olsun.

Düz Metin: D E F T E R A L B A N A

Anahtar: S O RU S O R U S O R U

Şifr. Metin: V S E N W F R F T O E U


D yi satır başından S yi sütun başından seçip kesişim olarak V bulduk. Sonra aynı şekilde E yi satır başından O yu sütun başından seçip S yi bulduk. Bu mantıkla tüm harfleri şifreledik. Şifreli metnimiz “V S E N W F R F T O E U” oldu.


Çözümü

Şifreli metnin çözümü için yine autokey metodundaki yol izlenir. İlk satıra şifreli metin alt satıra da anahtar kelime yazılır. Yine beşerli guruplar halinde yazalım.

Şifr. Metin: V S E N W F R F T O E U

Anahtar: S O RU S O R U S O R U

Düz metin: D E F T E R A L B A N A


Satır başını S alıp kesişimi V olan harfimizi D düz metin harfimiz oluyor. Böylelikle düz metin bulunmuş oluyor.


Güvenlik

Autokey metoduna göre çok daha kuvvetlidir. Görüldüğü gibi anahtar kelimenin boyu arttıkça şifreleme daha güçlü olmaktadır.



Vigenere şifresinin kriptoanalizi:

Vigenere şifreleme yönetmi bundan önce bahsettiğimiz yöntemlere göre daha kuvvetli dir fakat günümüz teknolojisini düşünürsek yine çok zayıf kalan bir algoritmadır. Şifreli yazının kırılması için gerekli olan anahtar uzunluğunun bulunmasıdır. Autokey metodunda anahtar uzunlığı 1 olduğu için 26 olasılıkla hemen düz metini elde ediyorduk.anahtar kelime metodunda ise kelime uzunluğu çözümü bulmak için yeterlidir. Şimdi bu algoritmaların kırılması için iki yöntemi ele alacağız. Bunlar Firiedman ve Kasiski testleridir.


. Friedman Testi:

Bunu daha çok kapa testi olarak duyarız. 1925`te William F. Friedman tarafından bulunmulştur. Kendisine dayanak olarak şifreli metinde tekrarlanan karakter çiftlerinin baz alarak anahtar kelime uzunluğunu bulmaya çalışır. Gerekli formülleri verecek olursak

cryptanalysisfriedman1
cryptnalysisfriedman2
N(i) ler A,B,C,….,Z nin frekanslarıdır. N ise alfabedeki harf sayısıdır. 0,065 ten bahsedecek olursak; daha önce dediğimiz gibi rast gele seçilmiş iki harf grubunu (AB gibi) tekrarlanma olasılığının bulunmasına dayanır. Rastlantı dizi değeri olarak İngiliz alfabesinde tek harfe göre bu değer 0,077 Türkçe de 0,063 dür. İkili harf grubu için bu değer türkçede 0,059 ingilizcede 0,065 tir işte buna rastlantı dizi değeri diyoruz. Formülde verilen k ise tahmini anahtar uzunluğumuzdur.

. Kasiski Testi:

Bu testte Friedman testi gibi anahtar kelime uzunluğunu bulmaya yöneliktir. Bunu bir örnek üzerinde anlatalım.

Düz metin: i have seen many beautiful Works of art over the years but there is one particular painting that impressed me more than any other it is called thescream and it was painted by edvard munch

Anahtar: help

Şifreli Metin: PLLKLWPTUQLCFFPPBXTUBPHDYODDMECIVZPGALPNLEC HIYEIOICTPWZCLTLGAMNJSECEHMYIPRRIOEEXTTCTZWPSTIXDYIEWHRLCFS EWLVTIPWNPSPPSALPHJVPPTEYSPXHPZTLXUXPSICPSCECSTYYRO


Şimdi burada önemli olan şifreli metinde tekrar eden harf gruplarıdır görüldüğü gibi “LCF” ve “ALP” tekrar etmektedir. Şimdi bunlar üzerinden anahtar kelime uzunluğunu bulalım.

Harf grubu / Yeri / Uzaklık / Çarpanlar
  • LCF/ 10 98 / 88 / 2 4 8 11 22 44 88
  • ALP / 36 116 / 80 / 2 4 5 8 10 16 20 40 80
Yeri; şifreli metinde baştan başlayıp sayarak harf gurubunun olduğu yere kadar olan uzunluğu buluyoruz.
Uzaklık; bulduğumuz şifreli metindeki tekrarlanan harf gruplarının bir birine olan uzaklığı.

Çarpanlar; Burada ise bulduğumuz uzaklık sayısının çarpanlarını alıyoruz.


Bu veriler elimizdeyken kelime uzunluğu hakkında 2 , 4 veya 8 dir diye tahmin yürütebiliyoruz. 8 uzun bir kelime 2 de kısa bir kelime olacağından en uygun tahminimiz olarak 4 ü kullanabiliriz.

Şimdi anahtar kelime uzunluğu ile şifreli metnimizi nasıl kıracağımıza bakalım


Şifreli Metin: PLLKLWPTUQLCFFPPBXTUBPHDYODDMECIVZPGALPNLEC HIYEIOICTPWZCLTLGAMNJSECEHMYIPRRIOEEXTTCTZWPSTIXDYIEWHRLCFS EWLVTIPWNPSPPSALPHJVPPTEYSPXHPZTLXUXPSICPSCECSTYYRO

Anahtar uzunluğumuzu 4 olarak almıştık. Buda demektir ki anahtar kelimemizin ilk harfi ile şifreli metnimizin 1,5,9,… karakterleri aynı harf ile şifrelenmiştir.

1. harf PLUFBBYMVALIOPLASHPOTZTYHFLPSAJTPZUICTO
2. harf LWQFXPOEZLEYIWTMEMRETWIIRSVWPLVEXTXCEY
3. harf LPLPTHDCPPCECZLNCYRECPXELETNPPPYHLPPCY
4. harf KTCPUDDIGNHITCGJEIIXTSDWCWIPSHPSPXSSSR
Bundan sonra bir dizi frekans hesabından geçiriyoruz. Aynı örneğin benzeri burada var…
Fakat sizde internette buna benzer çözümlemeler yapmak isterseniz
TIKLAYIN.
Adresinden şifreli metinimizi çözmek için gerekli adımları takip edebiliriz.

Önce metin girilir. Harflerin şifreli metinde kaç kez tekrarlandığı bulunur. Rastlantı değişkeni elde edilir. Bizim örneğimiz için (0.05538355693154455) dir.. Sonra keyword uzunluklarımızı gireriz.. Yukarıda bunu 4 olarak belirlemiştik. Sonra 5 girin hatta 3 üde deneyiniz.. Göreceksiniz ki frekans hesabında en yakın değeri 4 de alacaktır. Bundan sonra yine bizim yukarıda ayırdığımız gibi harflerimiz dört guruba ayrılır. Şimdi kesinleştirmiş olduğumuz anahtar kelime uzunluğunu girersek. Karşımıza “help” çıkağını görürüz. Bundan sonrası da basit zaten.



Kaynaklar:
ThinkerBeLL - avatarı
ThinkerBeLL
VIP VIP Üye
13 Haziran 2012       Mesaj #9
ThinkerBeLL - avatarı
VIP VIP Üye
Kriptoloji
MsXLabs.org & Rehber Ansiklopedisi

Kriptoloji, haberlerin şifrelendirilmesi, şifrelendirilmiş haberlerin çözülmesi işidir. Kriptoloji, gizli haberleşmenin ilmidir. Birbirine zıt iki bölümden ibarettir. Dost haberleşmesinin ve düşman haberleşmesinin anlaşılması. Birinci kısım, haberleşme bilgilerinin istenmeyen kimseler tarafından elde edilmesini önler. Burada haberleşmenin şifrelendirilmesi veya elde edilmesini önleme bakımından hızlı iletilmesi gibi metodlar kullanılır. Karşı haberleşmenin anlaşılması ise, çeşitli şifre çözümü metodlarına sahiptir. Burada yalnız yazılı haberleşmenin gizli şekle getirilmesi ve çözüm yollarından bahsedilecektir.


Kullanış yeri
Genellikle ülkeler arasında Özellikle harp zamanında ve dış siyasetin tesbitinde önemli bir haber kaynağıdır. Tarihte en Ünlü örneklerden biri Zimmermann Telgrafı’dır. O zamanın Alman Dışişleri Bakanı Arthur Zimmermann, çektiği 17 Ocak 1917 tarihli bu telgrafla Meksika’ya, ABD ile savaşa girdiğinde Texas, New Mexico ve Arizona eyaletlerini teklif etmekteydi. İngiltere bu telgrafı ele geçirip ABD’ye iletmiş ve bir ay sonra da ABD harbe katılmıştır.
Kriptoloji, ayrıca kaçakçılar ve at yarışlarında kumar oynayanlar tarafından kullanıldığı gibi, nadir de olsa ticari hayatta faydalı olmaktadır.


Sistemi
Yaygın iki tür sistemi vardır. Şifreleme sisteminin birinde kelime, cümle, hece, sayı ve harflere bunların gizli karşılıkları getirilir. Ancak bunlar çok uzun listeler teşkil ettiğinden lugat şeklinde şifre kitapları hazırlanır. Diğer sistemde ise karşılık bulma, bir tekniğe göre yapıldığından sistem ezberlenebileceği gibi bir sayfaya sığdırılabilir veya makina kullanılarak otomatik hale getirilebilir.

Sistematik şifreleme
İki bölümden ibarettir. Biri değişmeyen kelimeler, diğeri de özel anahtar kelimelerdir. Alfabedeki harf sırası değiştirilerek yeni bir sıra üretilir.
Bunun için mesela anahtar bir kelime seçilir: REHBER.
Daha sonra tekrar eden harfler silinir REHB. Buna ilaveten alfabe harfleri ilave edilir. Bu arada tekrar edilen harfler silinir: REHBACDFGIİJKLMNOÖPSŞTUÜVYZ.
Diğer bir tür yeni alfabe üretme şeklinde ise bir anahtar kelime seçilir: ANSİKLOPEDİ.
Tekrar olanlar silinir ve alfabede kalan harfler alt sıralara ilave edilir:
ANSİKLOPED
BCÇDFGHIJM
ÖRŞTUÜVYZ
Daha sonra kolon tarzında yazılarak;
ABÖNCRSÇŞİDTKFULGÜOHVPLYEJZDM
yeni bir alfabe düzeni elde edilir.
Sistematik şifrelemede kullanılan diğer bir metod da, anahtar kelime yazılır, altına harflerin alfabedeki sırasına göre numaralama yapılır. Alt sıralara ise mesaj yazılır. Anahtar kelime “elektrik” alınarak,
ELEKTRİK
16248735
GİZLİBEL
GELERİAC
ELEYAK
yazılır. Daha sonra bu kolonlar numara sırasına göre toplanır:
GGE ZLE EA LEY LC İEL BİK İRA
Gönderilen bu mesajı, anahtar kelimeyi bilen kimse düzenler ve mana çıkarabilir. Bu, İkinci Dünya Savaşı'nda Alman casusları tarafından kullanılmıştır. Bunun önemli mahzuru kolonların yan yana yazılarak, manalı birşey çıkıncaya kadar, denenmesi sonucu çözülebilmesidir. Bu şifrelemeyi daha karmaşık yapan şekilde ikinci bir anahtar kelime kullanılır. İlk halde şifrelenmiş yazı benzer şekilde tekrar şifrelenir:
Anahtar kelimeler “elektrik” ve “makina” olduğuna göre,
ELEKTRİKMAKİNA
16248735514362
GİZLİBELGGEZLE
GELERİACCİELBİ
ELEYAKKİRA
Şifrelenmiş mesaj
GAİİ ELİ ZELA ELER GECK LYB
şeklinde ortaya çıkar. Bu şifre şekli ise İkinci Dünya Savaşı'nda ABD Stratejik Bürosu tarafından kullanılmıştır. Bu iki şifreleme sisteminin mahzuru orjinal mesajda bulunan harflerin şifreli mesajda da mevcud olmasıdır. Bu, şifrenin çözülmesi ihtimalini yükseltir.
Yukarıda söylenen mahzur alfabe değişikliği yapılarak giderilebilir. Mesela “Ansiklopedi” anahtarından türetilen alfabenin yukardaki mesaj aşağıdaki şekilde ortaya çıkar.
Normal abcçdefgğhıijklmnoöprsştuüvyz
YENİ ABÖNCRSÇŞİDTKFULGÜOHVPIYEJZDM
Mesaj gizlibelgeleriaceleyak
ŞİFRELİ MESAJ ÇTMUTBRUÇRURVTAÖRURDAF
Birinci Dünya Savaşı'nda Almanya tarafından kullanılan şifreleme sisteminde ise önce anahtar bir tablo tesbit edilir. Bunun gönderen ve alan tarafından bilinmesi gerekir. Teşkilinde değiştirilmiş alfabe şekli kullanılabilir.
Mesela “ANSİKLOPEDİ” anahtar kelimesiyle elde edilen alfabe kullanılarak aşağıdaki tablo elde edilir. Tablo kare olacak şekilde rakamlarla tamamlanır:
123456
1. ABÖNCR
2. SÇŞİDT
3. KFULGÜ
4. OHVPIY
5. EJZDMI
6. 234567
Daha sonra mesajın harflerinin koordinatları harflerin altına yazılır:
GİZLİBELGELERİACELEYAK
3253215335351211535413
5434421451416415141611
Sonra bunlar satır olarak ikili okunur:
32-53-21-53-35-35-12-11-53-54-13-54-34-42-14-51-41-64-15-14-16-11
Daha sonra tabloya gidilerek karşılıkları okunarak şifreli mesaj elde edilir:
FZSZGGBAZDÖDLHNEO5CNRA
Yukarda verilen sistemlerde şifreleme ve onların normal yazıya çevrilmesi elle yapılır. Mesajın çok olduğunda bunun mekanikleştirilmesi gerekir. Bunun için dişliler kullanılarak çeşitli sistemler geliştirilmiştir. Bunlardan en yaygını İsveçli bir mühendis tarafından gerçekleştirilen Hagelin sistemidir. Sistemde mesajın verilmesi ve şifre alfabesinin seçiminde çok imkan olduğu için bu sistem günümüzde 60 ülke tarafından kullanılmaktadır.

Kodlama
Bu tür sistem, değişik alfabe kullanılmasının geliştirilmiş şeklidir. Sistem uzun olup, her kelime ve deyimi kodlar. Alfabetik olarak düzenlenmiştir. Her kelimeye bir sayı getirilir. Bazı ticari kodlar gibi olmayıp açıktırlar. Kodlama ile mesaj 1/5 civarında kısaltır.


Şifre çözümü metodları
Genel olarak çok çeşitli ihtimallerin denenmesiyle yapılır. Bütün şifreler çözülemez. Mesela Mayıs 1943-Mayıs 1944 arasında alınan 46342 Rus şifresinden ancak 13312 tanesi Almanlar tarafından çözülebilmiştir. Günümüzde bilgisayarlar, çözücülerin en büyük yardımcılarıdır. Çözümde ilk araştırılacak şey şifreli yazıda geçen harflerin tekrar oranı olur. Bu oran normal bir yazıdaki harf tekrar oran ile karşılaştırılarak şifre harflerinin karşılıkları araştırılabilir. Mesela, eğer şifreli bir yazıda “s” harfi çok kullanılmışsa, bunun bir Türkçe şifre için “a” harfine, İngilizce veya Almanca’da “e” harfine ve Rusca’da “o” harfine karşı gelebileceği ihtimali büyüktür. Çünkü bunlar o lisanda en sık kullanılan harflerdir. Günümüzde şifre çözümü modern cebrin bir kolunu teşkil etmektedir.


Çözülmeyen şifreler
Bu konuda şu söylenebilir ki, insanoğlu tarafından yapılıp da, insanoğlu tarafından çözümlenmeyecek şifre yoktur. Ancak bazı şifrelerde çözüm için o kadar çok ihtimal vardır ki, şifre çözülemez telakki edilebilir. Mesela burada açıklanan iki anahtar kelime ve arkasından tablo şeklindeki şifrelenmenin kullanılarak bir yazının şifrelendirilmesinde o kadar fazla çözüm olma ihtimali mevcuttur ki, bin bilgisayar bin sene çalışsalar bütün ihtimalleri elden geçiremezler.

Tarihi gelişim
Kriptoloji veya kriptografi’deki “kripto” gizli anlamına gelir. Kriptoloji, bir ilim olarak ilk defa Araplarda ortaya çıkmış ve başarılı bir şekilde kullanılmıştır. Müslüman Araplar, yalnız şifreleme sistemleri üzerinde çalışmamış, çözüm metodları da geliştirmişlerdir. Harflerin sık tekrarlarının araştırılması ve buna dayanan, çözüm metodu bu zamandan günümüze gelmektedir. Bilimsel kriptolojinin gelişimi Araplardan daha sonra Avrupa’ya geçmiştir. Telgrafın doğuşu ile değişik alfabeleri kullanarak şifreleme yapma yaygın olarak kullanılmış ve ilk telgraf 19. yüzyılda Osmanlı Devleti'nde kurulmuştur. Radyonun gelişmesi mesajların bu vasıtalar ile iletilmesini doğurmuştur. Radyo mesajlarının kolayca dinlenebilmesi mesajların şifrelenmesinin önemini bir kat daha arttırmıştır. Birinci Dünya Savaşından sonra kriptoloji artık yalnız savaş zamanında kullanılan bir ilim olmaktan çıkmış, barışta geliştirilmesine önem verilmiştir. Amerikalı William F. Friedman önemli bir adım atarak şifre çözümünde matematik metodları kullanmıştır. İkinci Dünya Savaşı'nda kriptoloji vazgeçilmez bir araç olmuştur. Mesajlar bir yanda en karmaşık şekilde şifrelenirken, karşı mesajların çözümünde büyük gayret sarf edilmiştir. Günümüzde gerek devletlerin gerekse askeri birliklerin en çok kullandığı usul şifreleme olup hala geçerlidir.
BEĞEN Paylaş Paylaş
Bu mesajı 3 üye beğendi.
Tanrı varsa eğer, ruhumu kutsasın... Ruhum varsa eğer!
eku123 - avatarı
eku123
Ziyaretçi
30 Ağustos 2012       Mesaj #10
eku123 - avatarı
Ziyaretçi
Kriptoloji Örnekleri ve Yöntemleri
MsXLabs.org

Örnek 1
  • SEMİH ----> HİMES
Bu en basit yöntemdir, çözülmesi saniyeler bile almaz fakat zamanında Leonardo Da Vinci'nin notlarını bu şekilde kaydettiğini unutmayalım. Aynı mantıkla başka bir örnek:

Örnek 2
  • KARABASAN ----> LBSBCBŞBO
Hemen çözdünüz değil mi? Bu örnekte yazının devamında "Şifreçözüm" ana başlığı altında inceleyeceğim bir noktanın altını çizeyim yeri gelmişken. Harf tekrarlarına dikkat ettiniz mi?

Metni Gizleme Yöntemi

Amaç şifrelenmiş bir metni çeşitli dönüşümler uygulayarak başka bir metnin içine yerleştirmektir. Gayet basit bir örnek metnin tüm harflerini başka bir metinde sözcüklerin ilk harflerine gizleyerek verilebilir.

Örnek 3
  • Ben ilk lafımı yazıp aşkımı zincirledim.
Lakin her durum için böyle bir şeyi oluşturmak kolay değildir ve zaman alır. Ayrıca anlamlı bir metin oluşturabilmek için yüksek yapay zekalı uygulamalar geliştirmek şarttır. Günümüzde doğal dilleri anlamada çok fazla gelişme kaydedilememişken, öyle olsa bile çok rahat kırılabileceğini göz ardı etmemek gerek. Bazı metin gizleme yöntemleri de şunlardır:
  • Harf İşaretleme: Metne gizlenecek harflerin kağıda daha derin işlenmesidir. Daha koyu değil, o zaman herkes anlardı. Daha derin, ancak belli bir açıyla bakıldığında anlaşılabilecek şekilde.
  • Görünmez Mürekkep: Belli bir ısıya ulaşmadan ya da kimyasal yöntemler kullanılmadan okunamayacak özel bir mürekkep ile yazılır.
  • İğneleme: Gizlenecek harfler gözle görülmeyecek biçimde iğne ile delinir, kağıt ışığa tutularak okunur.
Bu örnekler çok eski gibi durmaktadır, fakat aynı mantıkla çalışan günümüzden bir örnek verebiliriz. 256 bitlik resimlerimiz olduğunu düşünelim. 256 bitlik resmin son bitinin değiştirilmesi resimde göz ardı edilebilecek derecede küçük bir değişikliğe sebep olur. Böylelikle pek çok resmin olduğu bir saklama biriminde istenilen bilgi değiştirilen bitler yardımıyla saklanabilir.

Yerine Koyma Yöntemi
Düz bir metindeki harflerin yerine başka harf, sayı veya değer koyma yöntemidir. Sezar şifresi bu yöntemin en iyi örneklerindendir. Sezar şifresinde her harf kendinden sonraki üçüncü harfle yer değiştirmektedir. Daha sonra "Algoritmalar" başlığı altında inceleyeceğim için şimdilik küçük bir örnek veriyorum.

Örnek 4
  • SEN DE Mİ BRUTUS -------> UHP GH İL DTYVYU
Tek Kullanımlık Şerit
Bu yöntemde de şifrelenecek metin uzunluğunda bir anahtar kullanılır. Bu anahtar metin için üretilmiştir ve tek kullanımlıktır. Bu yöntemin şifrelemedeki en güvenilir yöntem olduğunu söyleyebiliriz. Kullandığımız şeritin içeriğinin rastgele olması güvenilirliği açısından çok önemlidir.

Öncelikle şifrelenecek metnimizin uzunluğunda rastgele bir anahtar üretiriz. Ardından metnimizdeki harflerin alfabemizdeki sayısal karşılığı ile ürettiğimiz anahtardaki harflerin sayısal karşılıklarını toplarız. Eğer toplam alfabemizdeki harf sayısını aşıyorsa alfabemizdeki harf sayısını toplamdan çıkartırız. Daha sonra oluşan metni ister sayısal karşılığını kullanarak ister harf karşılığını kullanarak şifreli metin haline getiririz. Çözmek için ise bu işlemlerin tersi uygulanır. İletiyi alacak kişiye şerit ulaştırılır, şeritteki harflerin sayısal karşılıkları şifreli metindeki harflerin sayısal karşılıklarından çıkartılır. Eğer sonuç eksi çıkıyorsa alfabemizdeki harf sayısı sonuca eklenir. Elde edilen sayısal karşılığın harf dönüşümü yapılarak düz metne ulaşılır.

Saldırganın şifreçözüm yapabilemesi için şeridi eline geçirmesi gerekli, başka hiç bir yolu yok. Saldırganın elindeki işe yarayabilecek tek bilgi ise metnin uzunluğundan anahtarın uzunluğunu bilmesidir fakat şeridi ele geçirmediği sürece metni kırması mümkün değildir. Bu yüzden tek kullanımlık şerit yönteminin güvenilirliği çok yüksektir.

Örnek 5
  • Düz Metin: EĞİLMEZ BAŞIN GİBİ GÖKLER BULUTLU EFEM
  • Anahtar: DAĞLAR YOLDAŞIN GİBİ SANA NE MUTLU EFEM
  • E Ğ İ L M E Z B A Ş I N G İ B İ G Ö K L E R B U L U T L U E F E M
  • D A Ğ L A R Y O L D A Ş I N G İ B İ S A N A N E M U T L U E F E M
Yukarıdaki örnekten de rahatça anlayabileceğimiz gibi anahtarın yani tek kullanımlık şeritimizin uzunluğu düz metnimizin uzunluğuyla aynı olmak zorundadır. Ben de harf sayısını eşitlemek için düz metnimizde bir değişikliğe yol açmayacağından metnimize bir boşluk ekledim.
  • 6 9 12 15 16 6 29 30 2 1 23 11 17 30 8 12 2 12 30 8
  • 5 1 9 15 1 21 30 28 18 15 5 1 23 11 17 30 8 12 2 12
Sayısal dönüşüm yaparsak:
  • 19 14 15 6 21 30 2 25 15 25 24 15 25 30 6 7 6 16 30
  • 30 22 1 17 1 30 17 6 30 16 25 24 15 25 30 6 7 6 16
Şifreli Metin: 11, 10, 21, 30, 17, 27, 59, 58, 20, 16, 28, 12, 40, 41, 25, 42, 10, 24, 32, 20, 49, 26, 16, 23, 22, 60, 19, 31, 45, 41, 49, 39, 40, 55, 36, 13, 13, 22, 46

Sayı dizisi haline getirmiş olduğumuz şifrelenmiş metnimizden elimizdeki anahtarı kullanıp aynı işlemleri tersine uygulayarsak düz metnimize ulaşabiliriz:
  • EĞİLMEZ BAŞIN GİBİ GÖKLER BULUTLU EFEM
Aşağıda C yazılım dili ile yazmış olduğum Tek Kullanımlık Şerit yöntemini kullanan bir örnek mevcut.

Kaynak Betiği Uygulaması

Matris Yöntemi
Matris yönteminde B=A-1 eşitliğini sağlayan A ve B gibi iki matrisimiz olsun. Doğal olarak A.B=B.A=I eşitliği vardır. C gibi bizim birazdan kendimizin oluşturacağı bir matris ve D gibi aşağıdaki denklemi sağlayacak iki matrisimiz olsun.
  • A.C=D
  • B.D=B.A.C=I.C=C
Bu yöntem işimizi görecek ve gayet de zevkli. Öncelikle alfabemizdeki harfler için sayısal karşılıklar bulalım.
  • A B C Ç D E F G Ğ H I İ J K L M
  • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
  • N O Ö P R S Ş T U Ü V Y Z . ,
  • 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Örnek 6

Şifrelemek istediğimiz metnimiz HAYAL SANATLARI KULÜBÜ olsun:
  • H A Y A L S A N A T L A R I K U L Ü B Ü
  • 10 1 28 1 15 30 22 1 17 1 24 15 1 21 11 30 14 25 15 26 2 26
Toplam 22 değer var. Bunlardan 3x8 matris elde edelim.

Matrisin son iki değerine dikkat edelim. 22 değerden 3x8 matris elde edebilmek için boş kalan son iki değeri metni etkilemeyeceğinden boşluk değerine karşılık gelen 30 sayısı ile doldurdum. Şimdiki basamakta da rastgele değerleri olan 3x3 bir matris ile, A matrisi olur kendisi, C matrisini çarpalım. Oluşturacağımız matris 3x3 olmak zorundadır çünkü C matrisimizin satır sayısı 3'tür. Matematiksel işlem yapabilmek için ve A matrisi tersi alınabilir kare bir matris olduğundan 3x3'lük bir matristir. Yani A matrisinin satır ve sütun sayısı C matrisinin satır sayısına bağlıdır. Ayrıca oluşturduğunuz A matrisinin tersi alınabilir olduğundan emin olun yoksa metni şifreleseniz bile çözmeniz mümkün olmaz.

Sayısal dönüşüm yaptığımız ilk metni tekrar yazalım.
  • Düz Metin: 10, 1, 28, 1, 15, 30, 22, 1, 17, 1, 24, 15, 1, 21, 11, 30, 14, 25, 15, 26, 2, 26, 30, 30
  • Şifrelenmiş Metin: 75, 54, 138, 70, 50, 163, 137, 93, 23, -22, 65, -9, 29, 55, 25, 2, 89, 79, 153, 96, 52, 189, 167, 123
Gördüğünüz üzere düz metinde pek çok tekrar eden harf vardı ama şifrelenmiş metnimizde hiç yok. Böylece basit düşünen şifre kırıcıların işlerine başlayabilecekleri önemli bir noktayı ortadan kaldırdık.

Gelelim şifrelenmiş metnimizin çözülmesi aşamasına. Metnimizi şifrelerken kullandığımız A matrisinin tersi olan B matrisini şifrelenmiş metni çözmek için kullanacağız.

O halde;

B.D=C eşitliğini kullanarak;

Tek satır haline getirip sayılara karşılık gelen harfleri yazarsak başlangıçtaki metnimizi elde ederiz:
  • HAYAL SANATLARI KULÜBÜ
Algoritmalar
Algoritmayı basitçe bir yöntemi baştan sona adım adım hayata geçirmeyi sağlayan bir yönerge olarak tarif edebiliriz. Veri şifreleme için kullanılmış ve kullanılmakta olan bazı algoritmalara genel olarak değinelim.
Skytale

Skytale M.Ö 475 yılında Kuzey Yunanistan topraklarında bir kent olan Sparta'da geliştirilmiş ilk şifreleme aletidir. O dönem için askeri bir devrim olan bu basit aygıt dünya tarihinde bir ilktir. Bir çubuğun etrafına sarılmış düz uzunca bir kağıda yazılan metin kağıt düzleştirildiğinde anlaşılmayan bir metne dönüşür.

Daha iyi anlaşılabilmesi için bir örnek vereyim.

Örnek 7
  • İletmek istediğimiz metnimiz: SAVAŞ BİTTİ YAKINDA MAPUSHANE ESİRLERLE DOLACAK
olsun. Çubuğumuz da bir sargısında sekiz harf döndürecek kalınlıkta ve altı sıra olsun. Anlaşılması daha kolay olsun diye kat oluşumunu engellemek için harf sayısını fazla tuttum. Ancak doğal koşullarda böyle bir şeye ihtiyaç yoktur. Metnimizi bu aygıtı kullanarak şifrelersek elde edeceğimiz metin uzun kağıdımızda yukarıdan aşağıya şu sırada olacaktır;
  • S B Y A S E R L A İ A H S L A V T K M A İ E C A T I A N R A Ş İ N P E L D K D U E O
Şifrelenmiş metnimizi çubuğun etrafına sararsak şu şekli elde etmiş oluruz:
  • S A V A Ş
  • B İ T T İ
  • Y A K I N D
  • A M A P U
  • S H A N E
  • E S İ R L E
  • R L E D O
  • L A C A K
Sezar
M.Ö 60'lı yıllarda ünlü Roma İmparatoru Julius Caesar düz metin şifrelemeyi askeri anlamda kullanan ilk kişi olarak tarihe geçer. Sezar kullandığı yöntemde alfabedeki harfleri kendinden sonraki üçüncü harfle değiştirmiş. Sezar algoritması şöyledir;
<--- Çözme Yönü
  • A B C Ç D E F G Ğ H I İ J K L M N O Ö P R S Ş T U Ü V Y Z
  • A B C Ç D E F G Ğ H I İ J K L M N O Ö P R S Ş T U Ü V Y Z
Şifreleme Yönü --->
Bu yöntemde bitişi başlangıca bağlayıp bir döngü haline getiririz. Sezar üç harf atlayarak kullanmış. Biz elbette daha farklı şekilde kullanabiliriz. Şifreyi çözmeyi zorlaştırmak için sıralı bir harf dizini yerine rastgele harf dizini kullanmak çok daha mantıklı. Yine de bu algoritma çok rahat kırılabilir. Bunu yazının devamında Şifreçözüm altında inceleyeceğim. Aşağıda C yazılım dili ile yazmış olduğum Sezar algoritmasını kullanan bir örnek mevcut.

Kaynak Betiği Uygulaması

Enigma
Biraz da 2. Dünya Savaşı'nın kaderini değiştiren Enigma'dan bahsedelim. Özü Rotor ******sının işleyişine dayanan Enigma Alman Arthur Scherbuis tarafından geliştirilmiş bir şifreleme aracıdır.

Rotor ******sıysa veri giriş ve çıkışı için iki ayrı levhadan oluşan bir disktir. Hem veri giriş levhasında, hem de veri çıkış levhasında 26 adet bağlantı noktası bulunmaktadır. ******nın gizemini de bu bağlantı noktalarının birbirine rastgele bağlanması oluşturuyordu.

İngilizler Almanların Enigma ile şifrelenmiş belgelerini bir türlü çözemezler, ta ki bir baskında bir Enigma aygıtını ellerine geçirinceye kadar.

Müttefik kuvvetlerde şifrebilimcilik yapan bilgisayar biliminin babası İngiliz Alan Turing, kendisi o ünlü Turing ******sının mucididir, işlem gücü günümüz adi hesap ******larından bile düşük ilk bilgisayarlardan sayılan geliştirdikleri Colossus adlı bilgisayarla Enigma'yı kırmayı başarmıştır.

Bunun ardından Almanların ilk saldırıyı yapmalarına izin veren İngilizler daha sonra savaşı lehlerine çevirmişlerdir.

Blowfish
Bruce Schneier tarafından 1993'te yazılmış algoritmanın bazı açıkları bulunmasına rağmen yine güvenli olarak kabul görmekte. Anahtar uzunluğu ile 32 bit ile 448 bit arasında değişebilir. Bruce Schneier daha sonra Blowfish'teki gedikleri kapatarak Twofish adında yeni bir algoritma daha yazmıştır.

Vigenère
Blaise de Vigenère adlı bir Fransız tarafından 16. yy'da bulunan bu algoritmanın mantığı çoklu alfabe kullanımına dayanır. Vigenère algoritmasında bir düz metnimiz bir de kendini tekrar eden bir anahtarımız vardır. Düz metnimizdeki harflerimiz anahtar sözcüğümüzün alfabedeki sırası kadar ötelenir. Bu şekilde tekil alfabeli algoritmaların en zayıf noktası büyük ölçüde kapatılmıştır çünkü böylece harf sıklıklarının eşitsizlikleri ortalama bir değere çekilmiş olur. Yine de Vigenère algoritması 19. yy başlarında kırılmıştır.

Örnek 8
  • Düz Metin: BİRLİK YAZILIM
  • Anahtar: SEMİH
  • B İ R L İ K Y A Z I L I M
  • S E M İ H S E M İ H S E M İ
  • 2 12 21 15 12 14 30 28 1 29 11 15 11 16
  • 22 6 16 12 10 22 6 16 12 10 22 6 16 12
->

Şifreli Metin: 24, 18, 37, 27, 22, 36, 36, 44, 13, 39, 33, 21, 27, 28

Şifreli metnimiz artık bir sayı dizisi. Anahtarımız da belli SEMİH, istediğimiz zaman bu işlemi tersine çevirerek düz metni elde edebiliriz. Aşağıda C yazılım dili ile yazmış olduğum Vigenère algoritmasını kullanan bir örnek mevcut.

Kaynak Betiği Uygulaması

Skipjack

Skipjack düz yazıyı 64 bitlik parçalar halinde 80 bitlik anahtar kullanarak 32 defa yinelenen bir dahili döngü kullanarak şifrelemektedir. Skipjack kullanımı gizli olan bir algoritmadır. Sadece belirli yonga ve donanımlarla kullanılabilmektedir.
D.E.S

IBM tarafından geliştirilen DES 1977 yılında Amerikan hükümeti tarafından bir standart olarak kabul edilir. Simetrik anahtarlı bir algoritma olan DES ilk çıktığından beri pek çok saldırıya uğramış. Bunlardan bir kısmı başarılı olmuş. Günümüzde DES en bilinen algoritmalardan biridir ve yaygın olarak kullanılmaktadır. Lakin yine de D.E.S artık güvenilir bir algoritma olma özelliğini yitirmiştir.

Düz yazıyı 64 bitlik parçalar halinde 56 bitlik anahtar kullanarak şifreli metin haline getirir. Düz yazı çeşitli işlem ve yedeklemelerden geçtikten sonra oluşan veri daha güvenli olması için düz yazı ile XOR'lanır. Bu döngü her seferinde anahtarın farklı bitleri kullanılarak 16 defa tekrarlanır.

Üçlü D.E.S

Üçlü DES, DES algoritmasının üç defa kullanıldığı bir algoritmadır ve DES'e göre daha güvenlidir. Üçlü DES'te düz metin 64 bitlik parçalar halinde 192 bitlik anahtar yardımıyla şifrelenir. Anahtarın ilk 64 biti ile düz yazı ilk şifrelemeden geçer. Ardından şifrelenmiş metin anahtarın ikinci 64 bitlik kısmı ile çözme işlemine tabi tutulur. Son adımda metnimiz anahtarın üçüncü 64 bitlik kısmı ile tekrar şifrelenir. Eğer üç anahtar parçası da birbirinin aynısı ise işlem DES ile aynıdır, farklı ise ikinci anahtar parçasını kullanarak metne uyguladığımız çözme işlemi şifrelenmiş metni iyice karmaşık hale getirecektir.

A.E.S

Joan Daemen ve Vincent Rijmen adında iki Belçikalı tarafından 1998 yılında geliştirilmiş bir algoritma olan A.E.S Amerikan hükümeti tarafından 2001 yılında bir standart olarak kabul edilmiştir. A.E.S 128, 192 ve 256 bitlik anahtarlar kullanmaktadır.

I.D.E.A
Şimdiye dek üretilmiş en hızlı ve en güvenilir algoritma olduğu düşünülen I.D.E.A 128 bitlik anahtar kullanmaktadır. 64 bitlik parçalar halinde gizli anahtar yöntemi ile şifreleme yapan I.D.E.A Xuejia Lai tarafından geliştirilmiştir. I.D.E.A'nın işleyişi biraz karmaşıktır. 128 bitlik anahtardan üretilen alt anahtarlar 64 bitlik metnimiz ile çeşitli cebirsel işlemlere ve XOR işlemine tabi tutulmaktadır.

128 bitlik anahtarımızı bölerek 16 bitlik ilk 8 parçamızı elde ederiz. 128 bitlik anahtarımızdan başka bir 16 bitlik 8 parça daha elde etmek için anahtarımızın bitlerini sola doğru 25 bit öteler ve sekize böleriz. İkinci işlem toplamda 16 bitlik 52 alt anahtar elde edilinceye kadar tekrar edilir.

Düz metin 16 bitlik 4 parçaya bölünür bu parçalar alt anahtarlarla belli sıralarda toplama, çarpma gibi cebirsel ve XOR işlemi gibi mantıksal işlemlere sokulur. Sekizli döngüler sonunda çıkan çeşitli değerler bir diğer işlemin girdisini oluşturur.

R.S.A
Günümüzde en yaygın olarak kullanılan açık anahtarlı şifreleme algoritması olan R.S.A 1977 yılında Ron Rivest, Adi Shamir ve Len Adleman tarafından geliştirilmiştir.

RSA'nın çalışma mantığı şöyledir;

p ve q gibi iki asal sayı belirlenir. Mod alınacak değerimiz n=p.q şeklinde hesaplanır. Euler'in totient fonksiyonu ile t=(p-1).(q-1) değeri hesaplanır. t değeri ile en büyük ortak böleni 1 olan bir e değeri bulunur. e.d=1 mod t olacak şekilde bir d değeri hesaplanır.
  • açık anahtar(e, n),
  • gizli anahtar(d, n) 'dir.
Düz metnimiz M olsun. Şifreli metnimiz C=Me mod n şeklinde elde edilir. Şifreyi çözmek için ise şu basamakları takip ederiz;
  • Düz metin: Cd mod n = (Me)d mod n = M 'dir.
Örnek 9
p=7, q=9 olsun.

n=7.9=63 olur.

t=(7-1).(9-1)=48

e=5

5.d=1 mod 48 ise;

d=29'dur. Çünkü 5.29=145=1 mod 48'dir.
açık anahtar(5,63)

gizli anahtar(29, 63)'tür.
Düz metnimiz M=4 olsun. Şifreli metnimiz C=45 mod 63=15'dır.

Şimdi şifremizi çözelim,

Düz metin = 1629 mod 63 = (45)29 mod 63 = 4 olarak elde edilir.

Şifreçözüm
Şifreçözüm kullanılan algoritmanın zayıflıklarından, şifrelenen metin hakkındaki bilgilerden yola çıkarak şifrelenmiş metnin nasıl kırılabileceğini araştıran bilim dalıdır. Yüksek matematiksel yöntemler kullanarak yapılan şifrelemeyi çözebilmek için doğal olarak yüksek bir matematik bilgisi ve uygulaması gerekmektedir. Şifreçözüm için bir yol geliştirmiş olsanız bile çoğu şifrenin insan gücü ile çözülmesi pek mümkün değildir. Bu iş için kullanılacak yöntemi deneyebilecek yüksek işlem gücünde donanımlar gerekmektedir. Bu bilim dalının ne denli önemli olduğunu ve devletlerin bu konuya ne kadar önem verdiğine yazının devamında "Günümüzde Şifrebilimin Önemi" başlığı altında etraflıca değineceğim.

Güvenli Sistemler

Yeri gelmişken biraz da güvenli sistemlerden bahsedelim. Güvenli sistemler ikiye ayrılır;
  • Koşulsuz Güvenli Sistemler
  • Matematiksel Güvenli Sistemler
Koşulsuz Güvenli Sistemler: Şifrelenmiş metinden uzunluğu ne olursa olsun düz metni oluşturmak için yeterli bilgi elde edilemeyecek sistemlere denir.

Zaten şifrelemenin mantığı şifreçözücünün şifrelenmiş metinden elde edebileceği anlamlı bilgiyi mümkün olduğunca anlamsız hale getirmektir.

Matematiksel Güvenli Sistemler:
Şifrelenmiş metni kırmanın maliyeti düz metinden fazla olan ve/veya şifrelenmiş metni kırmak için gereken zaman bilginin geçerlilik süresinden fazla olan sistemlere denir.

Örneğin; şifresi saat başı değişen bir kasanın şifresi en iyi ********la ancak bir ayda kırılabiliyorsa ya da kasanın içinde üç liralık bilgi varken kasanın şifresini kırmanın maliyeti beş lira ise bu sistemler Matematiksel Güvenli Sistemlerdir.

Algoritmaların Gücü
Şifrelerin çözülmesi başlı başına bir sanattır, anahtarı bilmeden şifrelenmiş metinden düz metni elde etmek gibi. Önemli olan noktalardan biri de algoritmaların ne denli güçlü olduklarıdır.

Mantıken anahtarlı herhangi bir algoritma olası tüm anahtarların denenmesi ile kırılabilir. Anahtarı bulmak için tüm olasılıkları teker teker deneme yöntemine kaba kuvvetle kırma denir. Deneme yanılma yöntemi de diyebileceğimiz bu yöntem en zayıf fakat en kesin yöntemdir.

Deneme yanılma yöntemiyle kırılmaya çalışılan bir algoritmanın gücü doğal olarak doğrudan anahtarın uzunluğuyla alakalıdır.

Not: Alıntıdır. Kafanızdaki bir çok taşları yerine oturtturur, saygılar.
Son düzenleyen Mira; 3 Eylül 2013 21:15 Sebep: Sayfa düzeni yenilendi.

Benzer Konular

10 Eylül 2015 / asla_asla_deme X-Sözlük
3 Aralık 2008 / asla_asla_deme X-Sözlük
23 Nisan 2014 / Ziyaretçi Cevaplanmış
31 Mart 2012 / CrasHofCinneT Sosyal Ağlar