Kriptoloji, şifre bilimidir. Çeşitli iletilerin, yazıların belli bir sisteme göre şifrelenmesi, bu mesajların güvenlikli bir ortamda alıcıya iletilmesi ve iletilmiş mesajın deşifresiyle uğraşır.
Asal sayılar özellikle internet üzerinden yapılan işlemlerin güvenli bir şekilde yürümesine olanak tanıyan şifreleme tekniklerinin geliştirilmesi için kullanılıyor. Her ne kadar günümüzde bankacılıkta kullanılan şifreleme teknikleri için UCLA`lı matematikçilerin bulduğu kadar çok basamaklı büyük sayılara ihtiyaç duyulmasa da, askerî bilgiler gibi önemli şifrelemeler gerektiren verilerin korunmasında kullanılacak asal sayıların olabildiğince fazla basamaklı olması gerekiyor.
RSA Şifreleme Algoritması
RSA algoritması, Amerika’ da 1983 yılında MIT’ten patent almıştır. Bu patent 21 Eylül 2000 de son bulmuştur. Ancak patenti daha önce bir uygulamaya ait olduğu için bir başka ülkede patent alınamaz. Bir genel anahtarlı şifreleme tekniği olan RSA, çok büyük tamsayıları oluşturma ve bu sayıları işleminin zorluğu üzerine düşünülmüştür. Anahtar oluşturma işlemi için asal sayılar kullanılarak daha güvenli bir yapı oluşturulmuştur. Anahtar oluşturma algoritması şu şekildedir:
• P ve Q gibi çok büyük iki asal sayı seçilir.
• Bu iki asal sayının çarpımı N = P.Q ve bu bir eksiklerinin φ(N)=(P-1)(Q-1) hesaplanır.
• 1’den büyük φ(N)’den küçük φ(N) ile aralarında asal bir E tamsayısı seçilir.
• Seçilen E tamsayısının mod φ(N)’de tersi alınır, sonuç D gibi bir tamsayıdır.
• E ve N tamsayıları genel anahtarı, D ve N tamsayıları ise özel anahtarı oluşturur.
Genel ve özel anahtarları oluşturduktan sonra gönderilmek istenen bilgi genel anahtar ile şifrelenir. Şifreleme işlemi şu şekilde yapılmaktadır: Şifrelenecek bilginin sayısal karşılığının E’ ninci kuvveti alınır ve bunun mod N deki karşılığı şifrelenmiş metni oluşturmaktadır. Genel anahtar ile şifrelenmiş bir metin ancak özel anahtar ile açılabilir. Bu yüzden şifrelenmiş metin, yine aynı yolla, şifrelenmiş metnin sayısal karşılığının D’ninci kuvveti alınır ve bunun mod N deki karşılığı orijinal metni oluşturur.
Basit bir örnek ile algoritmayı tekrar anlatalım. Örneğin basitliği açısından daha küçük asal sayılarla çalışacağız. Öncelikle genel ve özel anahtarlarımızı oluşturalım.
• P=7 ve Q=17 gibi iki asal sayı seçelim.
• Bu iki asal sayının çarpımı N=P.Q; N=119 ve bu iki asal sayının bir eksiklerinin çarpımı
φ(N)=(P-1)(Q-1); φ(N)=96 olarak hesaplanır.
• 1’den büyük 96’dan küçük 96 ile aralarında asal bir E=5 tamsayısı seçelim.
• Seçilen E=5 tamsayısının mod 96’da tersi alınır, sonuç D=77 gibi bir tamsayıdır.
• 5 ve 119 tamsayıları genel anahtarı, 77 ve 119 tamsayıları ise özel anahtarı oluşturur.
Bu algoritmada iki asal sayının çarpımını kullanarak anahtar oluşturulmasının sebebi, iki asal sayının çarpımını asal çarpanlarına ayırmak asal olmayan sayıları ayırmaktan daha zorlu olmasıdır.