RSA
 

RSA

RSA bir tür Açık anahtarlı şifreleme yöntemidir. Güvenliği, tam sayıları çarpanlarına ayrımanın algoritmik zorluğuna dayanır. Hem mesaj şifreleme hem de elektronik imza amacıyla kullanılabilir.

Anahtar üretimi

RSA algoritması 1977'de Ron Rivest, Adi Shamir ve Len Adleman tarafından yaratılmıştır ve RSA da bu üç kişinin soy isimlerinin ilk harflerinin bir araya getirilmesi ile oluşturulmuştur. Anahtarlar şu şekilde üretilir:

  1. İki adet birbirinden değişik asal sayı seçin, bunların adını da p , ve q , koyalım. Bu sayılar ne kadar büyük olursa şifreyi kırması o kadar zor olacaktır.
  2. n = p q , hesaplayın.
  3. Bu sayıların totientı olan phi(n) = (p-1)(q-1) , hesaplayın.
  4. Bir tam sayı üretin ve adını da e , koyun. Bu sayı, 1 < e < phi(n) , koşuluna uygun olmalı ve phi(n) , ile en büyük ortak böleni 1 olmalıdır (başka bir deyişle phi(n) , ve e , kendi aralarında asal olmalıdır).
  5. d e equiv 1 pmod{phi(n)} olacak şekilde bir d , üretin.

Göreceğiniz üzere, p ,, q ,, d , ve e , sayılarının sadece içinde olabileceği bir aralık önceden bilinebilir. Bu dört sayının hangileri olacağı anahtar üreticisi (yazılım) tarafından anahtar üretimi sırasında rastgele seçilir.

Şifreleme için olan anahtar, yani ortak anahtar şu verileri içerir:

  • n ,, yani modulus
  • e ,, yani ortak üs (bazen şifreleme üssü de denir)

Şifreyi çözmek için olan anahtar, yani özel anahtar şu verileri içerir:

  • n ,, yani modulus
  • d ,, yani özel üs (bazen şifre çözme üssü veya deşifre üssü de denir)

Öte yandan, pratikte hesapları kolaylaştırmak için başka bir özel anahtar saklanır:

  • p , ve q ,, yani anahtar üretiminde kullanılmış asal sayılar
  • d   mod (p-1) , ve d  mod (q-1) , (genelde dmp1 ve dmq1 olarak adlandırılır)
  • (1/q)   mod(p), (genelde iqmp olarak adlandırılır)

Örnek

Anahtarın parçaları olarak şu sayıları seçelim:

p = 61 — ilk asal sayı (gizli)
q = 53 — ikinci asal sayı (gizli)
n = pq = 3233 — modulus (paylaşılabilir)
e = 17 — ortak üs (paylaşılabilir)
d = 2753 — özel üs (gizli)

Bu durumda ortak anahtar (e, n), gizli anahtar ise (d, n) dir.

Bu durumda şifreleme fonksiyonu şudur:

şifrele(veri) = verie mod n = veri17 mod 3233

Ve çözme fonksiyonu ise:

çöz(şifre) = şifred mod n = şifre2753 mod 3233

Şimdi, 123'ü şifrelelim:

şifrele(123) = 12317 mod 3233 = 855

Dolayısıyla 123'ün bu anahtarlar ile şifrelenmiş hali 855'tir. Şimdi, 855'i deşifre edelim:

çöz(855) = 8552753 mod 3233 = 123
özeller için ise (alt)1452

Potansiyel sorunlar

1993 yılında Peter Shor bir quantum bilgisayarının herhangi bir faktorizasyon tabanlı şifrelemeyi polinomsal zamanda çözebileceğini göstermiştir, ki bu da RSA ve benzeri algoritmaların çöpe gitmesi anlamına gelmektedir. Öte yandan, quantum bilgisayarlar henüz araştırma aşamasındadır dolayısıyla şimdilik RSA güvenilir bir şifreleme yöntemidir.






Bu sayfa hakkında yorum ekle:
İsmin:
Mesajınız:
 
 
19 Ağustos 2007 itibariyle, toplam: 36871590 ziyaretçi (103051855 klik) tarafından görüntülenmiştir. Online ziyaretçi rekorumuz, 4626 kişi. (5 Eylül 2010)
 
 

gizli

Bu site, en iyi Firefox ve Google Chrome tarayıcılarında ve 1024 x 768 ekran çözünürlüğünde görüntülenir.