PDA

Orijinalini görmek için tıklayınız : Asimetrik Şifreleme Nasıl Yapılır?



donjuanhose81
16.Şubat.2015, 07:27
Merhaba arkadaşlar,

Önceleri simetrik şifreleme yöntemi vardı. Bu yolda hem şifreleyen hemde şifreyi çözen anahtarlar aynı olduğu için anahtarın şifreleme yapacak olan kullanıcaya göndermek çok riskli idi. Ama asimetrik şifrelemede şifreleme yaptığınız anahtarla şifreyi çözdüğünüz anahtarın bir alakası olmadığı için güvenlik önemli derecede arttırılıyor. Bu yöntemda 2 anahtar var. 1. si şifreleme yapılan ve herkese açık olan publickey 2. si şifreyi çözen ve iyi saklanması gereken privatekey. Siz publickeyinizi şifreleme yapacak kişiye veriyorsunuz. O sizin publickeyinizle yazıyı vs. şifreleyip size gönderiyor ve sizde size özel private keyinizle şifreniyi çözüyorsunuz. Bu kadar açıklama yeter sanırım birde örnek yapalım.


Önce 2 asal sayı seçilir. a ve b


a = 3
b = 11


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


N = (a * b)
N = (3 * 11)
N = 33
N sayısı publickey ve privatekey in bir parçası olur


Dasa sonra bir x sayısı oluşturulur. Bu sayı a ve b nin 1 eksiklerinin çarpımıdır


a = (a -1 ) * (b -1)
a = (3 -1 ) * (11 – 1)
a = 2 * 10
a = 20
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)
Bu oluşturulan e ve N sayılar publickeydir


Daha sonra 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. Bunun matematiksel yazımı şöyledir.


d * e = 1 (mod x), yani
d * 7 = 1 (mod 20)
d = 3 olabilir.
Çünkü 3 . 7 = 21 (mod 20) de 1 sonucunu verir.


Oluşturulan bu d sayısı ile N sayısı da privatekeydir




Public key : e = 7 ve N = 33
Private key : d = 3 ve N = 33
Bu durumda biz privatekeyimizi çok iyi biçimde saklıyoruz ve publickeyimizi karşı tarafa yolluyoruz.


Private Keyimizin kırılmasını önlemek için 128 bit vb şifreleme yöntemlerinde çok büyük asal sayılar kullanılır. Ortalama 45 haneli iki asal sayının çarpımı 90 haneye yakın bir sayı çıkar. Bu sayının büyüklüğünü şöyle ifade edeyim ki evrendeki atomların sayısını yazmak için yaklaşık 70 haneli bir sayı gereklidir. Dolayısıyla bu tip bir sayıyı asal çarpanlarına ayırmak çok kolay değildir.


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. (Saniyede 1 trilyon işlem yapabilen 1 milyon dolarlık süper bilgisayarlarla bu süre 1190 yıl dır)


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


Bugü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 (Encryption Software | Symantec) ş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.