Açık anahtarlı şifreleme yöntemlerine bir örnek olan RSA, ilk olarak 1977 yılında Ron Rives, Adi Shamir ve Leonard Aldeman tarafından üretilmiştir. RSA şifreleme yönteminde, herkese açık (Public Key) ve gizli (Private Key) olmak üzere iki farklı anahtar kullanılır. Bu iki anahtar, asal sayılar seçilerek oluşturulur ve seçilen asal sayıların büyüklüğüyle, RSA şifreleme yönteminin güvenliği doğru orantılıdır. Yani ne kadar çok büyük asal sayı o kadar çok güvenlik.
Çalışma prensibi:
- Yukarıda bahsedildiği gibi, yeterince büyük iki farklı asal sayı seçilir. Bu sayılar p ve q olsun.
- Seçilen bu iki asal sayının birbiriyle çarpımı gizli ve açık şifrelerin tabanı olacaktır. Bu iki sayının çarpımı da n olsun. Yani n = p*q
- Ardından bu iki sayının totient fonksyionu hesaplanır. Φ(n) = (p-1)(q-1)
- Hesaplanan totient fonksyionundan küçük ve 1′ den büyük herhangi bir tam sayı seçilir. Seçilen bu tam sayı e olsun.
- Son olarak d*e ≡ 1 (d*e mod Φ(n) = 1) denklemini sağlayan bir d sayısı bulunur.
Örnek:
1. adımda öngörüldüğü gibi, iki farklı asal sayı seçilir. Günlük hayatta seçilen bu iki asal sayının yüzbinlerce hatta milyarlarca basamağı vardır. Ancak, hesaplamada bize kolaylık olması için biz iki küçük sayı seçeceğiz. p = 7 q = 13 olsun.
2. adımda p*q hesaplanır ve ardından totient fonksiyonunun değeri bulunur:
Daha sonra 1′ den büyük, Φ(n)’ den küçük bir “e” asal sayısı seçilir ve son olarak d*e ≡ 1 denklemini sağlayan “d” sayısı, “Extended Euclid Algorithm” yardımı ile bulunur.
Artık gizli ve açık anahtarları oluşturabiliriz. Açık anahtar hesaplanılan “e” ve “n” değerlerinden, gizli anahtar ise “d” ve “n” değerlerinden oluşur. Buna göre: Açık anahtar = (5,91) Gizli anahtar = (29,91)
Mesaj şifreleme ve şifrelenmiş mesajı çözme:
Mesaj şifrlemede kullanılan formül:
Mesaj çözümlemede kullanılan formül:
Verilen şifreleme formülü ile m = 10 mesajını şifreleyelim(m <= n olması gerekmektedir!).
Şimdi de şifrelediğimiz bu mesajı geri çözümleyelim. Eğer az önce mesajı doğru şifrelediysek çözümlenme sonunda çıkacak mesajın 10 olması gerekmektedir.
Resimde görüldüğü üzere şifresi çözümlenmiş mesaj ilk şifrelenen mesaja eşittir. Yani şifreleme ve çözme işlemi doğru yapılmıştır.