Cumartesi, Mart 09, 2013

Ders Günlükleri (1) - Kriptografi

Arada bir derslerde ne yaptığımızla ilgili bir şeyler yazayım diye düşünüyordum biraz önce, eğer böyle bir şeyler yazmaya başlayacaksam ilk Kriptografi dersiyle başlamalıyım diye düşündüm. Bir kere isme bakar mısınız, 'Kriptografi'. Ne kadar artistik değil mi? Resmen seç beni diye parlıyor ders seçimleri zamanında. İtiraf zamanı geldi. Aslında şu yazıyı sırf "Hocam gizli anahtarı nasıl karşıya iletiyoruz peki?" sorusu sebebiyle yazmak istedim. Bu konuya birazdan geleceğim.

Kriptografi dersinde şifreleme yöntemleri ve bu yöntemleri kırmanın mümkün olup olmayacağı ile ilgili şeyler görüyoruz diyebilirim. İlk hafta şifrelemenin nasıl başladığı, Sezar olsun, Arapların bulduğu harf/frekans analizi olsun gibi şeylerle başladık. Sonra sıra 300 yıl kırılamayan Vigenere şifresine geldi. Oradan İkinci Dünya Savaşı olsun Almanlar olsun Enigma dediğimiz müthiş makinalar olsun derse devam ettik. Ayrıca Tek Kullanımlık Şerit diye bilinen (One Time Pad) hiç  kırılamayan bir şifreleme yöntemini öğrendik. Şimdi hepsini burada detaylı anlatabilirim ama hepsinin vikipedi'de çok kapsamlı anlatımları olduğu için burayı boşuna doldurmak istemiyorum.O sebeple hepsinin vikipedi linkleri mevcut.

Derste simetrik (Gizli Anahtarlı Şifreleme) ve asimetrik Açık Anahtarlı Şifreleme) şifrelemelerin neler olduğunu öğrendik ve şu ana kadar sürekli simetrik şifreleme yöntemlerini işliyorduk. Simetrik şifreleme bir kutuyu kilitlediğin anahtarla aynı kutuyu açabilmen anlamına geliyor. Asimetrik şifreleme ise bir kutuyu bir anahtarla kilitleyebileceğin ama o kilitlediğin anahtarla o kutuyu açamadığın anlamına geliyor. Kutunun açılabilmesi için başka bir anahtar gerek. Simetrik şifreleme aslında oldukça başarılı bir yöntem fakat en büyük sorunu "kutuyu kilitleyen anahtarın aynı zamanda kutuyu açması" ve buna bağlı olarak anahtarı karşıya güvenli olarak iletmenin zor olması. Tabi biz ilk haftalarda sürekli anahtarı nasıl karşıya ileteceğiz diye düşünürken sınıfın kafasına bu kazınmış oldu.

Eğer bir dersi bir an için dinlemiyorsanız ve sonradan aklınıza bir soru geldiyse olabilecek en büyük sorun başkasının sorduğu soruyu tekrar sorma ihtimalidir bana göre. Geçtiğimiz günlerde bir asimetrik şifreleme yöntemi olan RSA'yı işlerken gizli anahtarı karşıya iletmemize gerek yok denmesine rağmen derste 3 defa "Peki hocam gizli anahtarı karşıya nasıl ileteceğiz?" diye sorulunca biraz garip oluyor elbette. Özellikle dersin içinde 2 defa sorulup dersin sonunda "sorusu olan var mı?" kısmına gelinince tekrar sorulması çok süper oldu :)

Bunu diyorum da bende böyle şeyler yapmıyor muyum sanki, gayet tabi yapıyorum. Ben bir şeyi hızlıca sonuca ulaştırmayı severim o sebeple arada bazı değişkenleri hesaba katmayı sık sık unuturum. Bu bana hızlı cevap avantajı kazandırsada dikkatsizlik ettiğim durumlarda cevabımın yanlış olması gibi bir dezavantaj oluşturuyor. Geçtiğimiz derste açık anahtarlı şifreleme yöntemlerinden olan Diffie-Hellman yöntemini gördük. Oldukça parlak bir fikir ve simetrik şifrelemedeki anahtar iletme sorunu için müthiş bir çözüm. Tabi bu yöntem ikiden fazla kişide kullanıldığında anahtar hesaplama işinin adımı artması gerekiyor. Fakat derste oturduk Emre'yle 1 defa hesaplansa yeterli olur mu yoksa herkes için hesaplanmalı mı diye düşünmeye. Ben 1 defa hesaplanırsa ikili ikili kullanılabilir olduğunu söyledim. (Emre bana öyle olmasının mantıksız olduğunu anlatmaya çalışıyordu ama ben bir süre direttim kendi fikrimde.) Ama benim bu düşüncemin toplu bir grup için kullanılabilirliği pek iyi olmuyordu. Sonunda benim yanlış düşündüğümü Necdet hoca ikiden fazla kişinin nasıl kullandığını anlatırken açıklamış oldu.

Bugün ne kadar çok blog yazasım geldi böyle. :P

Hiç yorum yok:

Yorum Gönder