Blogda her zaman ödev paylaşıyorum fakat artık biraz araştırma ve bilgi verme vakti geldi :)
Bu yazımda kriptolojiden ve çeşitlerinden, hayatımızdaki öneminden bahsedeceğim.
Şifreler, onlar her yerde!
-Günümüzde neredeyse her şey şifreleme ve çözme işlemine bağlı. İş dünyasının vazgeçilmezi olan mail hesaplarınız, sosyal hayatta olmazsa olmazlardan sosyal ağ hesaplarınız, bütün mali işlemlerinizi yaptığınız banka hesaplarınız, telefonun kilit ekranı ve bunun gibi birçok şeyleri şifre kullanarak güvene alıyorsunuz. Bunların hepsi kriptografi ve kriptoanaliz sayesinde oluyor. Çünkü siz bilmeseniz bile kullandığınız bu şifreler kriptografi sayesinde tekrar şifrelenerek saklanırlar. Örneğin en basitinden kayıt olduğunuz forum siteleri bile parolanızı şifreleyerek veri tabanında saklar, siz parolanızı girdiğinizde ise şifrelenmiş parola çözülerek sizin parolanızla karşılaştırır.
Biraz tanım yapalım;
Kriptoloji, kriptografi ve kriptoanalizi içeren matematik bilimidir ve sayılar teorisi üzerine kuruludur. Bilgiyi şifreleme ve şifrelenmiş bilgiyi çözme işlemlerini inceler ve geliştirir.
Özetlersek; kriptoloji=kriptografi+kriptoanaliz diyebiliriz.
Kriptografi: Yunanca kelimeler olan kriptos(gizli) ve graphi(yazı) kelimelerinden türemiştir. Kriptografi anlaşılacağı üzere bir metinin şifrelenmesini sağlar. Kriptografi bilgiyi güvene alır, böylece bir bilgiyi kriptografi sayesinde bir yerden bir yere rahatlıkla taşıyabiliriz.
Kriptoanaliz: Kriptografinin karşıtı işlemler yaparak şifrelenmiş bilgiyi eski haline getirir.
İnsanlar tarih boyunca bilgileri gizlemeyi ve bir yerden bir yere güvenle göndermeyi istemişler ve bunun için yollar bulmuşlar, kimileri çok kolay kimileri ise çok karışık. Bu şifreleme algoritmaları aslında üç çeşitte incelenir.
1) Simetrik Şifreleme:
Bu algoritma çeşidinde şifreleme işlemi ve şifre çözme işlemi için sadece gizli anahtar kullanılır. Gizli anahtar olduğu için sadece konuşan kişiler bilmelidir. Gönderilecek gizli bilgi ile beraber gizli anahtar da alıcıya gönderilir ve şifre çözme işlemi gerçekleştirilir.
İyi Yönleri;
- Algoritmalar olabildiğince hızlıdır.
- Donanımla birlikte kullanılabilir.
- Güvenlidir.
- Güvenli anahtar dağıtımı zordur.
- Kapasite sorunu vardır.
- Kimlik doğrulama ve bütünlük ilkeleri hizmetlerini güvenli bir şekilde gerçekleştirmek zordur.
2) Asimetrik Şifreleme
Simetrik şifrelemedeki anahtar dağıtımı büyük sıkıntı oluşturur, bilginin güvenliği tehlikededir bu yüzden asimetrik şifrelemeye ihtiyaç duyulmuş.Mantığı ise şu şekilde;
1) Açık ve gizli anahtarlar belirlenir. Bunların arasında matematiksel ilişki olmalı fakat açık anahtardan gizli anahtarı bulmak mümkün olmamalı.
2) Açık anahtarlar herkese verilir fakat gizli anahtarlar sadece alıcıya verilir. Böylece herkes bilgisini şifreleyebilir fakat her şifreli bilgiyi okuyamaz.
Şimdi de bir tane simetrik bir tane de asimetrik şifreleme algoritma örneği verelim;
1) Sezar Şifrelemesi: En eski, en bilindik ve en kolay kırılabilen bir şifreleme algoritması. Mantığı ise şöyle;
Alfabedeki her bir harf kendisinden üç harf sonra gelen harfe tekabül eder. Örneğin, d harfi g harfine, k harfi n harfine denk gelir.
Şu da yazdığım bir sezar şifreleme uygulaması;
2) RSA Şifreleme
Günümüzde en çok kullanılan asimetrik şifreleme algoritmasıdır. Adı, algoritmayı oluşturan kişilerin soyadlarından gelmektedir. (Ron Rivest, Adi Shamir ve Leonard Adleman)Çalışma şekli ise şöyle; Sistemin yöneticisi 2 tane anahtar belirler, bunlardan biri açık anahtar(public key) diğeri ise gizli anahtar(secret key) daha sonra ise açık anahtarı herkese duyurur. Bu şekilde birçok kişi bilgiyi aynı şekilde şifreleyerek kişiye yollayabilir. Gizli anahtar ise sadece alıcı kişinin bileceği bir biçimde alıcıda durur.
Teorik olarak açıklarsak;
1) Gönderici iki tane çok büyük asal sayı alır. Bu sayılar p ve q olsun ve bunları çarparak bir n sayısı elde eder.
2) k=(p-1).(q-1) denklemini elde eder.
3) Daha sonra k sayısından küçük ve k ile ortak böleni olmayan bir b sayısı elde eder.
4) a = b^-1 (mod k) yaparak a sayısını bulur. Bu a sayısı gizli anahtardır. Bu sayı sadece mesajı okuması istenilen kişiye verilmelidir.
5) n ve b herkese açık anahtar olarak duyurulur. Böylece istenilen sayı sadece n ve b kullanılarak şifrelenir. Şifreleme ise gönderilecek bilginin sayısal karşılığının b inci kuvveti alınıp mod n e göre karşılığı bulunur. Bu karşılık şifrelenmiş bilgidir.
6) Alıcı kişi şifreli bilgiyi çözmek için gelen şifreli sayının üzeri a sını mod b ye göre alırsa bilgiye ulaşmış olur.
(Daha fazla bilgi için: http://www.bilgiguvenligi.gov.tr/gizlilik/rsa-algoritmasi.html)