Asimetrik Şifreleme nasıl yapılır ? ~ AyQo Blog
  • Ücretsiz Mobil Chat ScriptiÜcretsiz chat sitesi açabileceğiniz bir script yazmak istedim.
  • LOL İtibar Puanı KasmaDünyanın en çok oynanan ve takip edilen oyunu LOL konusunda söylemek istediğim birkaç şey var.
  • Online Anti-Virüs Tarama ve Koruma SiteleriFirmalar arası rekabet sonucu ortaya çıkan çevrim içi veya Online tarama sisteminizi korumaya yardımcı olabilecek düzeyde.
  • Çoklu Skype Açma Programsız (Resimli Anlatım)Windows live'dan kalan bir alışkanlıktır Messanger'de çoklu oturum açmak.
  • PHP Youtube Bot YapımıPHP ile Youtube'dan video bilgilerini çekme işlemini çok basit kodlarla anlatacağım.
1 2 3 4 5

19 Ocak 2012

Yazan AyQo
Ö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.

Şimdi bir örnek yapalım

A harfini şifreleyip karşı tarafa yollıyalım

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

Şifreli Metin = 16^7 (mod 33)
Şifreli Metin = 268435456 (mod 33)
Şifreli Metin = 25

Şimdide 25 sayısını private keyimizle çözelim. Bunun için 25 sayısını d ile üs alıp n ile modlayacağız.

Çözülmüş Metin = 25^3 (mod 33)
Çözülmüş Metin = 15625 (mod 33)
Çözülmüş Metin = 16 (yani A)

Amaaaaaaaaaaaaaaaaaa saldırgan şifreyi çözmek için gerekli olan d sayısını herkese açık olan N sayısında öğrenebilir. Tek yapması gereken asal çarpanlarına ayırmak. 33 ü asal çarpanlarına ayırırsak

33 = 3*11

Privatekeyimizi çok kolay bir şekilde bulduk. Bunu ö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 edeyimki 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. (Saniyete 1 trilyon işlem yapabilen 1 milyon dolarlık süper bilgisayarlarla bu süre 1190 yıl dı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. 

Bu şekilde gerçekleştirilmiş bir şifrenin çözülme ihtimali 2 üzeri 4096 yani yaklaşık olarak 10 üzeri 500 dür. 

0 yorum:

Yorum Gönder