Simetrik Kriptografi
Bütünlük --
Kimlik doğrulama --
Performans - Hızlı
Güvenlik - Anahtar uzunluğuna bağlı
...İletişimdeki Gizliliğin Matematiksel Dili...
RSA Algoritması
Başlıca asimetrik kriptografi algoritmaları RSA, Eliptik Eğri Sistemleri, El Gamal ve Diffie-Hellman anahtar belirleme olarak sıralanabilir. Asimetrik kriptografi algoritmaları, simetrik algoritmalardan farklı olarak çözülmesi zor olan matematiksel problemlere dayanır.
•Açık anahtar kriptografik sistemi ve sayısal imzalama yöntemi olarak kullanılır.
•Çarpanlarına ayırma problemi üzerine inşa edilmiştir.
•Bileşik tam sayı olan n'i oluşturan, asal sayılar p ve q bulunur, öyleki n=pq 'dir.
•Yeterince büyük bir n için kırılması çok zordur.
•Ayrıca kök bulma problemine de dayanır.
•Çok güvenlidir fakat fazla hızlı değildir
En yaygın olarak kullanılan asimetrik algoritmadır. R. Rivest, A. Shamir, L. Adleman tarafından 1977 yılında bulunmuş ve 1978 yılında yayınlanmıştır. Adını mucitlerinin isimlerinin ilk harflerinden almıştır. Aşağıdaki özelliklere sahiptir.
•Açık anahtar kriptografik sistemi ve sayısal imzalama yöntemi olarak kullanılır.
•Çarpanlarına ayırma problemi üzerine inşa edilmiştir.
•Bileşik tam sayı olan n'i oluşturan, asal sayılar p ve q bulunur, öyleki n=pq 'dir.
•Yeterince büyük bir n için kırılması çok zordur.
•Ayrıca kök bulma problemine de dayanır.
•Çok güvenlidir fakat fazla hızlı değildir
Algoritmanın kullandığı parametreler şunlardır:
Açık anahtar : n, e
Özel anahtar : d
n bileşik bir tamsayıdır ("modulus")
e bir tamsayıdır ("açık üs ifadesi")
d bir tamsayıdır ("gizli üs ifadesi")
öyleki
ed ≡ 1 (mod (p-1)(q-1))
ve p, q sayıları n' nin asal çarpanlarıdır.
Algoritmanın Kullanımı
Ayşe, Bora'ya m mesajını şifreli göndermek için:
m'nin e'inci üssünü alır, yani m'yi Bora'nın açık anahtarı ile şifreler:
c = me mod n
c ("şifreli mesajı")'yi Bora'ya gönderir
Bora c sayısının d'nci üssünü alır, yani c'nin şifresini kendi özel anahtarını kullanarak çözer:
m = cd mod n
Algoritmanın incelenmesi
• Ayşe'nin işi kolaydır, sadece iki tane modüler çarpma işlemi yapar.
• Bora'nın işi kolaydır, 1.5 logn tane modüler çarpma yapar.
• Eğer asal sayılar p, q bilinirse işlem daha hızlı yapılabilir.
• Düşmanın işi zordur çünkü kök bulma ya da çarpanlarına ayırma problemini çözmelidir.
• Etkili bir çözümü bulunmamıştır.
• Modulus n sayısı arttıkça algoritmanın güvenliği artar.
Asimetrik Kriptografi Anahtar Yöntemi
Asimetrik kriptografi için anahtar yönetimi çok önemlidir. Anahtar yönetimi için dikkat edilmesi gereken noktalar şöyle sıralanabilir:
• Açık anahtarlar kontrollü olarak bir otorite tarafından yayınlanmalı ve değiştirilmeleri önlenmelidir.
• Anahtar çiftleri merkezi bir otorite tarafından üretilebilir veya her kullanıcı kendi anahtar çiftini üretebilir.
• Şifreleme ve imzalama için ayrı ayrı anahtar çiftleri olmalıdır. Çok özel durumlar için imzalama ve şifreleme anahtar çiftlerinin aynı olmasına izin verilebilir.
• Anahtar iptalleri kontrollü bir şekilde yapılmalı ve duyurulmalıdır.
Asimetrik kriptografi için anahtar yönetimi simetrik kriptografiye göre daha kolaydır çünkü bir kullanıcıyla şifreli haberleşmek isteyen kişi karşı tarafın açık anahtarına ihtiyaç duyar. Bu açık anahtar kamuya açık olarak yayınlandığı için sisteme giren bir kişi için sadece bir anahtar çifti üretmek yeterli olmaktadır.
Mono Alfabetik Şifreleme
En eski ve basit şifreleme yötemlerinden birisi olan Sezar yöntemi mono alfabetik şifrelemenin tipik bir örneğidir. Sezar döneminde kullanılan bu yöntemde harflerin yeri değiştirilir. Şifrelenecek metindeki harfler alfabede 3 harf kaydırılarak değiştirilir.
Sezar Şifresi : ci= E(pi) = pi+3 mod 29
Açık Mesaj : Gizli Bilgi
Şifreli Mesaj : Ilcol Dloıl
Bu yöntemin biraz daha gelişmişi olan tablo yönteminde ise alfabedeki her harf başka bir harfle yer değiştirir ama bu bir kurala bağlı olmadan karışık bir şekilde yapılır.
ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ
CÇAVYJŞÜZKÖTUENOİPFGILĞHRMBDS
Mono alfabetik şifreleme yöntemleri bilgisayar yardımıyla çok kısa sürede kırılabilir. Bu yöntemler kullanılan dildeki harflerin yerini değiştirir ama harflerin kullanım sıklığını (frekansını) değiştirmez. Örneğin Türkçe'de en çok kullanılan harf olan "a" harfi tablo yöntemi kullanılarak "c" harfi ile yer değiştirilirse elde edilecek şifreli metinde en çok tekrar eden harfin "c" olduğu görülür ve bunun "a" harfi olabileceği tahmin edilerek şifre çözülmeye başlanabilir.
Poli Alfabetik Şifreleme
Bu tip şifrelemede, mono alfabetik yöntemlerden farklı olarak bir harf değiştirilince her seferinde aynı harfe dönüşmez. Bu yöntemlere güzel bir örnek Vigenere tablosudur.
Bu yöntemde oluşturulan tablo ve bir anahtar kelime kullanılarak şifreleme yapılır.
Şifreleme
Açık Mesaj (sütun) : BULUŞ MAYER İANKA RA
Anahtar Kelime (satır) : KALEM KALEM KALEM KALEM ...
Şifreli Mesaj : LUZAĞ ZAJIF UABÖM DA...
Şifre Çözme
Şifreli Mesaj (tablo) : LUZAĞ ZAJIF UABÖM DA...
Anahtar Kelime (satır) : KALEM KALEM KALEM KALEM ...
Açık Mesaj (sütun) : BULUŞ MAYER İANKA RA
Poli alfabetik şifreleme yöntemleri de bilgisayar yardımıyla ve frekans sayımı ile çok kolay ve çabuk çözülebilmektedir.
Tek Kullanımlık Karakter Dizisi (One-time Pad)
Bu basit şifreleme yönteminde rastgele üretilen bir karakter (harf veya rakam) dizisi kullanılarak şifreleme yapılır. Açık mesaj içinde yer alan her karakter, üretilen dizide karşısına denk gelen karakterle işleme sokularak (Örneğin modüler toplama işlemi) şifreli mesaj elde edilir. Mesajı çözmek için rastgele dizinin bilinmesi gereklidir. Bu yönteme Vernam şifreleme yöntemi denir.
Açık Mesaj : BULUSMAYERIANKARA
Rastgele Dizi : DEFRYPLCNMLJKHFGH
Şifreli Mesaj : RLDYDOY....
Bu yöntemin güvenliği rastgele üretilen diziye bağlıdır. Bu dizi gerçekten rastgele üretilmelidir, eğer bir kurala bağlı olarak üretilirse ve bu kural saldırgan tarafından bilinirse sistem kırılabilir. Bu tehdit dışında sistem mükemmel bir şifreleme sistemidir ve ilk olarak 1917'de bulunup "teletype" makinelerinde kullanılmıştır.
Bunların yanı sıra kaynağını matematikten alan algoritmanın matematiksel uygulamalarına da örnek verilebilir:
Sonucu bir matematik problemin çözümü olan başka bir basit örnek de Öklid'in ortak bölenlerin en büyüğünü bulan algoritmasıdır.
giriş: iki sayı m, n
1. eğer n = 0 ise, sonuç m dir
2. m'nin yerine n koy, n nin yerine m%n koy, tekrar 1'den başla.
Bu örnekte m%n bölmenin kalanıdır, yani 5%2 = 1'deki gibi. Algoritmayı 33 ve 15'e uygulayalım:
33,15
15,3
3,0
sonuç 3
Bir başka ve algoritma için son olan örnek ise, bigisayar... Her türlü yazılım ve bilgisayar için geçerli olan denklemler bu yolla yapılmaktadır:
A0 --> Başla
A1 --> Sayaç=0 (Sayaç'ın ilk sayısı 0 olarak başlar.)
A2 --> Sayı=? : T=T+Sayı (Sayıyı giriniz. T'ye sayıyı ekle ve T'yi göster.)
A3 --> Sayaç=Sayaç+1 (Sayaç'a 1 ekle ve sayacı göster.)
A4 --> Sayaç<4> O=T/4 (Ortalama için T değerini 4'e böl)
A6 --> O'yu göster. (Ortalamayı göster.)
A7 --> Dur
Algoritmanın kriptolojiyle ilgisi basit olarak ortadadır. Kriptoloji anahtarını kullanarak bir kapıyı kilitlemek ya da açmak için, anahtarın dişlerinin algoritmaya göre kalıplanmış olması gerekmetedir. Kısacası, Kriptolojideki işlem bütünlüğünü sağlayabilmek için gerekli olan "ifade biçimi" algoritmadır. Başka bir deyişle kriptoloji şifreleme algoritmasının uygulamasıdır.
Artık inceleme alanımız biraz daha detaylandırılabilir. Fakat yeni başlığımıza geçmeden önce, algoritmanın örneklerini çoğaltarak düşüncelerimizi daha oturaklı ve yaratmaya müsait hale getirebilceğimizi düşünüyorum. İşte bir kaç örnek daha:
Algoritma Akış Şeması
Adım 1-Başla
Adım 2-A,B'yi oku
Adım 3-A=B ise Adım 7'ye git
Adım 4-A>B ise Adım 6'ya git
Adım 5-B'yi yaz Adım 8'e git
Adım 6-A'yı yaz Adım 8'e git
Adım 7-"A veB eşit"mesajını yaz
Adım 8-DUR
Bir okulda bulunan 10 sınıftaki 30'ar öğrencinin herbirinin 12 şer dersten aldıkları
notların ortalamasını bulan ve öğrenci ismi ile not ortalamasını yazan programın,algoritması ve
akış şeması şöyledir:
Değişkenler
ISS:Sınıf sayacı,
IOS:Öğrenci sayacı,
DN:Ders notu,
DNS:Ders notu sayacı,
DNT:Ders notlarının toplamı,
DNO:Ders notlarının ortalaması,
OGAD:Öğrencinin adı
Algoritma
Adım 1-Başla
Adım 2-SS=0
Adım 3-IOS=0
Adım 4-DNS=DNT=0
Adım 5-OGAD oku
Adım 6-DN oku
Adım 7-DNS=DNS+1(ders notu sayacı 1 artır.
Adım 8-DNT=DNT+DN(notları topla)
Adım 9-Eğer DNS<12 dno="DNT/12(ortalamayı" ios="IOS+1(öğrenci" iss="ISS+1(sınıf">
2009 - Kriptografi konusunda dünyanın ilk olimpiyatları Belçika’nın Katholieke Üniversitesinde 25-28 Şubat tarihleri arasında yapılacak olan ön eleme ile başladı. Amaç SH1 lerin kırılmasından sonra yeni bir güvenli algoritma oluşturmak.
Bu süreç özetle bu kadardır. Fakat geleceğe şimdiden gelişimi için yer ayırttığı şüphesiz. Kriptolojinin geçmişten günümüze kadar olan serüvenini inceledikten sonra sırada ona neden ihtiyaç duyulduğu ve ne amaçlara hizmet ettiği...