RSA
Yazan : Şadi Evren ŞEKER
Bir açık anahtarlı şifreleme yöntemi olan RSA, 1977 yılında Ron Rives, Adi Shamir ve Leonard Aldeman tarafından bulunmuştur. Şifreleme yönteminin adı da bu üç kişinin soy isimlerinin baş harflerinden oluşur.
Çalışması:
- Yeterince büyük iki adet asal sayı seçilir: Bu sayılar örneğimizde p ve q olsunlar.
- n=pq hesaplanır. Buradaki n sayısı iki asal sayının çarpımıdır ve hem umumî hem de hususî şifreler için taban (modulus) olarak kabul eder.
- Totient fonksiyonu hesaplanır. Bu örnek için çarpanların ikisi de asal sayı olduğu için φ(n) = (p-1)(q-1) olarak bulunur.
- Hesaplanan totient fonksiyonu değeri (φ(n) ) ile aralarında asal olan öyle bir e sayısı alınır ki 1 < e < φ(n) olmalıdır. Bu seçilen e sayısı umumî anahtar olarak ilan edilebilir.
- d gibi bir sayı hesaplanır ki bu sayı için şu denklik geçerli olmalıdır : de ≡ 1 mod ( φ(n) ). Bu d değeri hususî şifre olarak saklanır. Bu sayının hesaplanması sırasında uzatılmış öklit (extended euclid) algoritmasından faydalanılır.
Yukarıdaki şifreleme yönteminin en önemli dez avantajlarından birisi büyük asal sayılar bulmak aşamasında ortaya çıkar. Bilindiği üzere ele alınan bir sayının asal olup olmadığını bulmak kolay bir işlem değildir. Bunun için fermat teoreminden yararlanılabilir.
Şifreleme işlemi:
Şifreleme işlemi için Alice kendi umumî şifresi olan (n,e) ikilisini yayınlar. Bu şifreyi alan Bob aşağıdaki şekilde mesajını şifreler:
c = me mod n
Burada m, şifrelenecek olan açık metin, e ve n ise Alice tarafından yayınlanan umumî şifredir.
Şifrenin Açılması:
Alice, Bob tarafından yollanmış olan mesajın açılması sırasında aşağıdaki formülü kullanır:
m = cd mod n
Burada açılacak olan şifrelenmiş metin c, Alice’in hususî şifresi ise d ile gösterilmiştir. n ise taban değeri olan modulus’tur.
Örnek:
- İki asal sayı seçilir
p = 61 ve q = 53
- n değeri hesaplanır n = pq şeklinde
n = 61 * 53 = 3233
Totient fonksiyonu hesaplanır
φ(n) = (p-1)(q-1)
φ(n) = (61-1)(53-1) = 3120
- totient fonksiyon sonucu ile aralarında asal olan ve 1 den büyük bir sayı seçilir
e > 1 => e = 17 (3120 ile aralarında asal) , bu sayı aynı zamanda umumî şifredir.
- Hususî şifre olması için bir d sayısı seçilir:
de ≡ 1 mod(n) olacak şekilde d sayısı bulunur , d = 2753 (çünkü 17 * 2753 = 46801 = 1 + 15 * 3120 ) Bu sayının hesaplanması sırasında uzatılmış öklit (extended euclid) yöntemi kullanılmıştır.
- Örneğin mesaj olarak 123 gönderilecek olsun:
12317 mod 3233 = 855 olarak şifreli metin bulunur.
- açacak taraf için tersi işlem uygulanır:
8552753 mod 3233 = 123 şeklinde orjinal mesaj geri elde edilir.
« Açık Anahtarlı Şifreleme (Public Key Cryptography) | Diffie-Hellman Ahahtar Değişimi (Key Exchange) »
Yorumlar
Giriş yaparak yorum yazabilirsiniz.
bilgisayar.kavramlari.com üzerinde şu anda okumakta olduğunuz 'RSA' isimli yazı 19 Mar 2008 tarihinde, saat: 17:06 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 184 defa okunmuştur.
Benzer yazıları Veri Güvenliği(Cryptography) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Eklenen Son Yazılar
- Devamsal Geçiş Tarzı (Continuation-passing style, CPS)
- Kuyruk Özyinelemesi (Tail Recursion, Birikimsel Tarz, Accumulation Style)
- Sıralama Algoritmaları (Sorting Algorithms)
- Seçerek Sıralama (Selection Sort)
- Hızlı Sıralama Algoritması (Quick Sort Algorithm)
- Birleştirme Sıralaması (Merge Sort)
- Yığınlama Sıralaması (Heap Sort)
- Yığın Ağacı (Heap)
- Dizi üzerinde ağaç kodlaması
- Nöbetçi (Sentinel)
Yapılan Son Yorumlar
- hercumartesi: 777/10 mod23 işleminde takıldığım...
- hercumartesi: 2P = R olarak gösterip s için (3xP^2 + a)...
- Şadi Evren ŞEKER: Toplama işlemi sonucunda mod işlemi...
- bazenvebazen: n q b b w derken n q p b w demek istedik?...
- Şadi Evren ŞEKER: Tümleyeni terimini şu şekilde...
Bağlantılar