Avantajları
Açık anahtarlı şifreleme yönteminde, veriyi şifreleme ve şifrelenmiş veriyi çözmek için iki değişik anahtar vardır. Dolayısıyla:- Kendisine şifreli mesajlar yollanmasını isteyen birisi, sadece şifreleme anahtarını isterse tüm Dünya ile paylaşabilir
- Şifre açma anahtarını ise kullanıcı hiç kimse ile paylaşmaz
Bankalar işlem güvenliğini bu sistemi kullanarak sağlamaktadırlar.
Örnek: RSA
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:
- İki adet birbirinden değişik asal sayı seçin, bunların adını da ve koyalım. Bu sayılar ne kadar büyük olursa şifreyi kırması o kadar zor olacaktır.
- hesaplayın.
- Bu sayıların totientı olan hesaplayın.
- Bir tam sayı üretin ve adını da koyun. Bu sayı, koşuluna uygun olmalı ve ile en büyük ortak böleni 1 olmalıdır (başka bir deyişle ve kendi aralarında asal olmalıdır).
- olacak şekilde bir üretin.
Göreceğiniz üzere, , , ve 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:
- ````, yani modulus
- ````, yani ortak üs (bazen ``şifreleme üssü`` de denir)
Şifreyi çözmek için olan anahtar, yani özel anahtar şu verileri içerir:
- ````, yani modulus
- ````, 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:
- ```` ve ````, yani anahtar üretiminde kullanılmış asal sayılar
- ```` ve ```` (genelde ``dmp1`` ve ``dmq1`` olarak adlandırılır)
- ```` (genelde ``iqmp`` olarak adlandırılır)
Ş
Örnek
Anahtarın parçaları olarak şu sayıları seçelim:
``p`` = 61 || — ilk asal sayı (gizli) |
| — ikinci asal sayı (gizli) |
| — modulus (paylaşılabilir) |
| — ortak üs (paylaşılabilir) |
| — özel üs (gizli) |
Bu durumda ortak anahtar (``e``, ``n``), gizli anahtar ise (``d``, ``n``) dir.
Bu durumda şifreleme fonksiyonu şudur:
Ve çözme fonksiyonu ise:
Şimdi, 123`ü şifrelelim:
Dolayısıyla 123`ün bu anahtarlar ile şifrelenmiş hali 855`tir. Şimdi, 855`i deşifre edelim:
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.