Asimetrik Şifreleme nasıl yapılır ?

blink1337dagger

Vip Altın Üye
7 Kas 2011
5,259
41
Chicago İL
Öncelikle bakalım asimetrik şifreleme nedir ?

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



Kolay gelsin...

Kısmen alıntıdır.
 

AVP

Üye
31 Ağu 2014
177
0
Bu algoritma RSA sifreleme algoritmasi yani en iyi ve guvenilir sifreleme hem de en cok kullanilan kredi karti numaralari felan RSA ile sifreleniyor
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.