Açık anahtarlı kriptografinin gelişmesi, bütün kriptografi tarihindeki en büyük devrimdir. Başlangıcından günümüze kadar, bütün kriptografik sistemler, süpstütüsyon ve permütasyon işlemlerinin temel alınmasıyla oluşturuldular. Sadece elle hesaplanabilen algoritmalarla çalışabilme döneminden sonra, şifreleme/deşifreleme yapan rotor makinelerinin ortaya çıkması sonucunda, geleneksel kriptografide büyük bir gelişme kaydedildi. Elektro mekanik rotor, çok fazla inceliklere sahip ve karmaşık kriptografik sistemlerin geliştirilebilmesini sağladı. Mevcut bilgisayarlarla daha karmaşık sistemler tasarlandı ve en tanınanlarından olan -IBM´in- Lucifer girişimi gelişerek DES´i oluşturdu ve DES`i dünyadaki kriptografi teknikleri arasında en yüksek seviyeye getirdi. Rotor makineleri ve DES (Data Encryption Standart), önemli avantajlar sunmalarına rağmen, halen, süpstütüsyon ve permütasyon işlemlerine bağımlıdırlar.
Açık anahtarlı kriptografi, daha önceki gelişmelerden radikal bir kopuştur. Açık anahtarlı kriptografik sistemlerin en önemli noktaları, süpstütüsyon ve permütasyondan çok matematiksel işlevler üzerine temellenmiş olmalarıdır. Daha da önemlisi, açık anahtarlı kriptografi, tek anahtar kullanan simetrik geleneksel şifreleme algoritmalarının tersine, iki ayrı anahtarın asimetrik kullanımını öngörür. Birazdan göreceğimiz gibi, anahtar dağıtımı ve kimlik denetimi gibi gizlilik ve güven gerektiren durumlarda, iki anahtar kullanımı etkili sonuçlar ortaya koymuştur.
İlerlemeden önce, açık anahtarlı şifreleme ile ilgili bazı yaygın, yanlış bilgilerden bahsetmeliyiz. Bu yanlış düşüncelerden birisi, açık anahtarlı şifrelemenin, kriptoanalize karşı geleneksel şifreleme yöntemlerinden daha güvenli olduğudur. Örneğin böyle bir iddia, Gardner´ın meşhur Scientific America adlı 1977 yılında yayınladığı makalesinde yapıldı . Aslında, şifrelemenin güvenliği, anahtarın uzunluğuna ve, kırılan şifreli metnin içerdiği hesapsal işlemlerin karmaşıklığına dayanır. İster geleneksel ister açık anahtarlı şifreleme olsun, kriptonaliz bakış açısına göre birini direğinden üstün tutmak yanlış olur.
Bir ikinci yanlış düşünce de, genel amaçlı kullanım için geliştirilmiş bir teknik olan açık anahtarlı şifrelemenin, geleneksel şifrelemeyi modası geçmiş kıldığıdır. Tam tersine, geleneksel şifrelemeden vazgeçileceği sanısı, açık anahtarlı şifreleme yöntemlerinin, matematiksel fonksiyonlarından dolayı, ihtimal dışı gözüküyor.
Son olarak, açık anahtarlı şifreleme kullanılırken, geleneksel şifrelemenin daha hantal anahtar dağıtım merkezleri ile karşılaştırıldığında, açık anahtarlı sistemlerin anahtar dağıtımının üzerinde kafa yorulması gerekmeyen, sıradan ve basit bir iş olduğuna dair yanlış bir anlayış vardır. Aslında, protokolün bazı biçimleri gereklidir fakat, geleneksel şifreleme yöntemlerinin ihtiyaç duyduğu merkez temsilciler ve prosedürler, açık anahtarlı şifrelemenin ihtiyaç duyduklarından daha basit daha karmaşık ya da daha etkili değildir.
Bu bölüm, açık anahtarlı şifrelemeye genel bir giriş mahiyetinde olacaktır. İlk önce, işin kavramsal çerçevesine bakmaya çalışacağız. Bu noktada açık anahtarlı kriptografi ile ilgili enteresan bir anektodu es geçmek olmaz: açık anahtarlı kriptografinin, pratik olarak uyarlanışı gösterilmeden, tekniğin mimarisi geliştirildi ve doğru kabul edilerek yayınlandı. Kimse pratiğini görmeden teorisi kabul gördü. Daha sonra, açık anahtarlı şifreleme yöntemi için, uygulanabilir olarak gösterilen en önemli şifreleme/deşifreleme algoritması olan, RSA algoritmasını inceleyeceğiz. Daha sonrada, açık anahtarlı sistemler için, anahtar dağıtımını ve anahtar dağıtım yönetimlerini inceleyeceğiz.
Açık anahtarlı kripto sistemlerinin çoğunluğu, sayılar teorisini temel almıştır. Bu bölümde verilen sonuçları algılamak için, sayılar teorisini anlamanıza yada biliyor olmanıza çok da gerek yoktur. Bununla birlikte, açık anahtarlı şifreleme algoritmaları hakkında kesin bir yargıya varmak için, sayılar teorisinin bazı kısımlarını bilmek gerekmektedir.
Açık anahtarlı şifrelemenin genel amacı, gerçekleştireceği devrim ile geleneksel şifrelemenin en büyük iki problemine çözüm sağlamaktı. Bu problemlerden ilki gizli anahtarların dağıtımıdır. Gizli anahtar derken, geleneksel kriptografi uygulamalarının (DES, IDEA, Blowfish, CAST128, RC5, ...) kullandığı anahtarları kastediyoruz.
Geleneksel şifrelemeden yararlanarak birbirlerine şifrelenmiş metinler gönderecek olan taraflar, şifreleme ve de şifreleme işlemleri için, ya bir şekilde kendilerine ulaştırılmış olan anahtarı kullanacaklar, ya da, bir anahtar dağıtım merkezinden faydalanacaklardır. Açık anahtarlı kriptografinin mucitlerinden birisi olan Whitfield Diffie (diğeri de Stanford Üniversitesinden Martin Hellman`dır), kriptografinin özü olan, iletişimde %100 güvenlik esasını hiçe sayan bir anahtar dağıtım merkezi kullanma gerekliliğini ortadan kaldırdı. Tarafların kullanacakları gizli anahtarları bir anahtar dağıtım yetkilisinden almaları, istediği taktirde üçüncü parti bir kişinin iletişimi anlaşılır kılabileceği tehlikesini barındırmakta idi.
Diffie, üzerinde düşündüğü ikinci problem olan "dijital imza" konusunun, önceki ile ilgisi olmayan başka bir konu olduğunu gördü. Eğer kriptografinin kullanımı, sadece askeri konularda değil, özel ve kâr amaçlı uygulamalarda da kullanılacak kadar yaygın olsaydı, bu durumlar için kullanılacak elektronik belge ve dokümanlarda da, kağıt dokümanlarda kullanılan kişisel imzalara gerek duyulurdu. Ve dijital imzalar sayesinde, bir mesajı kimin gönderdiği kesinlikle bilinmiş olur ve bu da herkesi memnun eden bir metot olurdu.
Diffie ve Hellman, 1976`da, her iki probleme de, daha önceki bütün kriptografik gelişimlerden ve buluşlardan farklı, radikal bir çözüm getiren hayret verici bir buluş gerçekleştirmeyi başardılar.
Az sonra, açık anahtarlı kriptografinin iskeletine göz atacağız. Daha sonra da, bu yöntemin kalbi olan şifreleme/de şifreleme algoritmalarının ihtiyaçlarını göreceğiz.
Açık anahtarlı şifreleme/deşifreleme algoritmaları, şifreleme için bir anahtara, de şifreleme içinse bu anahtarla ilişkisi olan ama bu anahtar olmayan ikinci bir anahtara ihtiyaç duyarlar. Bu durumda bir güvenlik sağlamış olur. Bu algoritmalar şu önemli karakteristiğe sahiptirler:
· Sadece kriptografik algoritma ve de şifreleme anahtarı verilmişken, bir takım hesaplamalar yolu ile şifreleme anahtarını bulmak mümkün değildir.
Bununla beraber RSA gibi bazı algoritmalar şu karakteristikleri de gösterirler:
· Her iki benzer anahtar da şifreleme ve de şifreleme için kullanılabilir. Bununla beraber, bir anahtar şifreleme için kullanılmışsa, de şifreleme için diğer anahtar kullanılmalıdır.
Şekil 1(a), açık anahtarlı şifreleme yöntemi gösterilmiştir. Başlıca adımlar şunlardır:
1. Her ağdaki her son sistem, mesaj alındığında şifreleme ve de şifreleme için kullanacak olduğu anahtar parçasını yaratır.
2. Her sistem, şifreleme anahtarını herkesçe erişilebilecek bir dosya yada yazmaç içerisine kaydederek paylaştırır. Bu anahtarın, açık olan kısmıdır (public key). Özel anahtar saklı tutulur.
3. Eğer, A, B`ye bir mesaj yollamak isterse, mesajı B`nin açık anahtarını kullanarak şifreler.
4. B, mesajı aldığında, bu mesajı kendi özel anahtarını kullanarak de şifre eder. Diğer hiçbir alıcı mesajı de şifreleyemez, çünkü mesajı de şife edecek olan özel anahtarı sadece B bilir.

| 
 | 
Bu şekilden de anlaşıldığı üzere her katılımcı, diğerlerinin açık anahtarlarına erişim hakkına sahiptir. Ve katılımcılar özel anahtarlarlarını lokal olarak yaratırlar. Bu yüzden, özel anahtarların paylaşılmasına gerek yoktur. Herhangi bir sebepten ötürü özel anahtarlar sahipleri tarafından değiştirilmek istenebilirler, bu durumda değişmiş olan yeni açık anahtar ilgili yerlere yeniden gönderilerek eskisi ile yer değiştirilir.
Tablo 1, geleneksel ve açık anahtarlı şifrelemenin farklarını açıkça göstermektedir. Geleneksel şifrelemede kullanılan anahtarı, açık anahtarlı şifrelemede kullanılan anahtarlardan ayırmak için onu gizli anahtar olarak anacağız. Açık anahtarlı şifrelemede kullanılan iki anahtarı da, genel anahtar ve özel anahtar olarak anacağız. Özel anahtar, her zaman gizli tutulacak olan anahtardır, fakat, geleneksel şifrelemedeki gizli anahtarla karışmaması için ona gizli anahtar yerine özel anahtar diyoruz.
| Geleneksel şifrelemede: | Açık anahtarlı şifrelemede: | 
| 
 Çalışması için: 
 | |
| 1. Şifreleme ve de-şifreleme için aynı algoritma aynı anahtarla birlikte kullanılır. | 1. Şifreleme ve de-şifreleme için bir algoritma ve anahtarlardan birisi kullanılır. Şifreleme için kullanılan anahtar, de-şifreleme için kullanılamaz. 
 | 
| 2. Gönderen ve alan, algoritmayı ve anahtarı paylaşmalıdır. | 2. Gönderen ve alan, ilişkili anahtarlardan birine sahip olmalıdırlar (aynı olanı değil). | 
| 
 Güvenlik için: 
 | |
| 1. Anahtar gizli tutulmalıdır. | 1. Anahtarlardan biri gizli tutulmalıdır. | 
| 2. Diğer bilgiler saklandığında, mesajı deşifre etmek imkansız olmalıdır. | 2. Diğer bilgiler saklandığında, mesajı deşifre etmek imkansız olmalıdır. 
 | 
| 3. Algoritma ve şifreli metin örnekleri bilmek, anahtarı çözmek için yetersiz olmalıdır. | 3. Algoritma, şifreli metin örnekleri bilmek ve anahtarlardan birine sahip olmak, diğer anahtarı bulmak için yetersiz olmalıdır.. | 
 Tablo 1 Geleneksel ve açık anahtarlı şifreleme
 
   
   
 
   
   
     
  
     
   

| 
 | 
Şimdi, Şekil 2 yardımıyla, açık anahtarlı
şifreleme yapısını oluşturan başlıca elementlere bakalım. A, mesaj gönderecek bir kaynak olsun. Ve göndermeyi düşündüğü
 , genel bir alfabe kullanarak oluşturduğu, M sonlu sayısında
kelimeden oluşan bir mesaj olsun. Bu X mesajı, B alıcısı için tasarlanır. B,
birbiri ile ilişkili olan bir anahtar çifti yaratır: bir genel anahtar;
, genel bir alfabe kullanarak oluşturduğu, M sonlu sayısında
kelimeden oluşan bir mesaj olsun. Bu X mesajı, B alıcısı için tasarlanır. B,
birbiri ile ilişkili olan bir anahtar çifti yaratır: bir genel anahtar;  ve bir özel anahtar
ve bir özel anahtar  .
.  , yalnız B tarafından bilinir.
, yalnız B tarafından bilinir.  ise, A tarafından
erişilebilecek olan B`nin açık anahtarı olacaktır.
 ise, A tarafından
erişilebilecek olan B`nin açık anahtarı olacaktır.
X düz metnini ve  anahtarını girdi
olarak alan A, mesajı şifreleyerek,
 anahtarını girdi
olarak alan A, mesajı şifreleyerek,  metnine dönüştürür.
 metnine dönüştürür. 

Alıcı olan B, özel anahtarın sahibi olarak, şifreli metni düz yazıya aşağıdaki fonksiyon ile çözümleyebilir.

Bir rakip, iletişimi
izleyerek şifreli metin Y`yi ele geçirirse, ve  `ye sahipse, aynı zamanda,
`ye sahipse, aynı zamanda,  ya da, X için bir
erişim hakkına sahip değilse, X ya da
 ya da, X için bir
erişim hakkına sahip değilse, X ya da  `yi elde etme girişiminde bulunacaktır. Rakibin, şifreleme ve
deşifreleme algoritmalarını bildiği varsayılır. Eğer, rakip sadece bu mesaj
ile ilgileniyorsa,
`yi elde etme girişiminde bulunacaktır. Rakibin, şifreleme ve
deşifreleme algoritmalarını bildiği varsayılır. Eğer, rakip sadece bu mesaj
ile ilgileniyorsa,  şifreli metni
üzerinde yapacağı hesaplamalarla, bir
 şifreli metni
üzerinde yapacağı hesaplamalarla, bir düz metni oluşturmaya çabalayacaktır. Bununla beraber,
rakibin teşebbüsü genellikle gelecek mesajları da okuyabilmek üzere,
tahmini
 düz metni oluşturmaya çabalayacaktır. Bununla beraber,
rakibin teşebbüsü genellikle gelecek mesajları da okuyabilmek üzere,
tahmini   üstünde hesaplamalar
yaparak
 üstünde hesaplamalar
yaparak  `yi elde etmek olur.
`yi elde etmek olur. 

| 
 | 
Her iki benzer anahtardan, yani, şifreleme için kullanılacak olan anahtar ve diğeri de deşifreleme için kullanılmak anahtardan genel olarak bahsetmiş olduk. Umarız, oldukça farklı olan bu kriptografik yapıyı açıklayabilmek için yeterli olmuştur. Şekil 2`de, güvenliğin sağlanması gösterilirken, 2 ve 3`te, açık anahtarlı kriptografinin kimlik doğrulamayı nasıl sağladığı gösterilmiştir:


Bu durumda, A, B`ye göndermek üzere bir mesaj hazırlıyor ve göndermeden önce mesajı kendi özel anahtarıyla şifreliyor. B, bu mesajı, -sadece- A`nın genel anahtarını kullanarak deşifre edebilir. Çünkü, A mesajı kendi özel anahtarı ile şifrelemiştir dolayısıyla sadece, A bu mesajı hazırlayabilir. Bu yüzden özel anahtar ile şifrelenmiş tüm mesajlar dijital imza olarak düşünülebilir. Bununla birlikte, A`nın kendi özel anahtarı ile şifrelediği mesajın, A`nın özel anahtarına sahip olmayan bir kişi tarafından değiştirilmesi imkansızdır, dolayısıyla, bu şekilde, hem bütünlük hem de kaynak doğrulama ihtiyaçları karşılanmış olur.
Önceki yapıda, tüm mesaj şifrelenmiş ve gönderici ve mesajın içeriğinin güvenliği sağlanmıştı. Fakat bu, mesajın saklanması ve pratik kullanımı esnasında sorunlara neden olacaktır. Her doküman, pratik kullanım için düz metin halinde saklanmalıdır. Fakat orijinalliğinin ispat edilmesi gereken durumlarda kullanılmak üzere, mesajın şifrelenmiş hali de ayrıca saklanmalıdır. Bu işi başarmanın daha verimli bir yolu olarak, mesajın en önemli olan bitlerinin şifrelenmesi düşünülebilir. Örneğin öyle bir bit grubu olsun ki, bu kısım mesajın tanımlayıcısı olsun ve bu belirleyici bilinmeden/değiştirilmeden dokümanda bir değişiklik yapılması mümkün olmasın. Eğer bu belirleyici, göndericinin özel anahtarı ile şifrelenmişse, bu kısım, mesajın orijinalliğini, ardışıklığını ve içeriğini güvenlik altında tutan bir imza gibi düşünülebilir. Bu belgede dijital imzanın ayrıntılarına derinlemesine girilmeyecektir. Belki ilerleyen zamanlarda, talebe göre bu konuda bilgi içeren bir kısım da belgeye eklenebilir.
Şunu vurgulamak önemlidir ki, şifreleme olayı açıklandığı kadarki hali ile gizliliği sağlamaz. Yani, mesajın değiştirilmesi engellenilmiş olsa da, bu mesajın gizlice dinleyenlerce ele geçirilmesini engelleyemez. Ortadadır ki, mesajın bir parçasının imza olacak şekilde şifrelenmiştir ve mesajın geriye kalan kısmı şifrelenmemiş şekilde gönderilmiştir. Hatta mesajın tamamının şifrelenmiş olması halinde bile, Şekil 3`te gösterildiği gibi, gizlilik mümkün değildir. Çünkü, herhangi bir izleyici, mesajı göndericinin genel anahtarı yardımıyla deşifre edebilir.
Bununla birlikte, hem kimlik doğrulama, hem de, gizlilik iki açık anahtar kullanılması ile sağlanabilir (Şekil 4):


| 
 | 
Bu durumda, bir mesajı şifrelemeye başlamadan önce, onu özel anahtarımız ile şifreleriz. Bu adım kimlik doğrulamayı sağlar. Daha sonra, bu yeni şifreli mesajı, alıcının genel anahtarı ile yeniden şifreleriz. Bu da gizliliği sağlar. Bu metodun dezavantajı iki kez şifrelenmiş olan metinin iki kez deşifrelenerek açılması esnalarında kaybedilecek fazladan zaman olarak düşünülebilir. Fakat mesaja sağladığı gizlilik ve kimlik doğrulama vazgeçilemez bir özelliktir.
Açıklamaya başlamadan önce, açık anahtarlı kripto sistemlerin bir yönünü açıklamalıyız yoksa, karışıklığa yol açmış oluruz. Açık anahtarlı sistemler karakteristik olarak, birisi gizli tutulan, diğeri ise genel kullanım için açılmış olan iki anahtarla çalışan kriptografik algoritmalar kullanırlar. Uygulamaya bağımlı olarak, gönderici, ya kendisinin özel anahtarını, ya alıcının genel anahtarını ya da ikisini birden, kimi kriptografik fonksiyonları gerçeklemek için kullanır. Geniş bir bakış açısı ile, açık anahtarlı kripto sistemlerin kullanımını üç kategoride inceleyebiliriz:
· Şifreleme/De-Şifreleme: Gönderici, bir mesajı alıcının genel anahtarı ile şifreler.
· Dijital İmza: Gönderen, mesajı kendi özel anahtarı ile imzalar. Bu imzalama, mesajın tamamını yada önemli görülen belirleyici bir kısmını şifrelemek ile yapılır.
· Anahtar Değişimi: İki taraf ortaklaşa bir oturum anahtarını değiş tokuş ederler. Bir çok farklı yöntem mümkündür. Anahtar değişimi senaryoları ilerde ayrıntıları ile ele alınacaktır.
Kimi algoritmalar, bu özelliklerden sadece bir yada iki tanesini gerçekleştirebilirken, bazıları bunların tümünü gerçekleştirebilir. Tablo 2, kimi açık anahtarlı algoritmaların bu özelliklerden hangilerini desteklediğini göstermektedir.
| 
 Algoritma 
 | 
 Şifreleme/De-şifreleme | 
 Dijital İmza 
 | 
 Anahtar Değişimi | 
| 
 RSA 
 | 
 Evet 
 | 
 Evet 
 | 
 Evet 
 | 
| 
 Diffie-Hellman | 
 Hayır 
 | 
 Hayır 
 | 
 Evet | 
| 
 DSS | 
 Hayır | 
 Evet 
 | 
 Hayır 
 | 
 Tablo 2 Açık anahtarlı kripto sistemler için
    uygulamalar
 
   
   
 
   
   
     
  
     
   
Kripto sistem, Tablo 2`de, iki benzer anahtarı temel alan kriptografik algoritmaya bağlıkları yoluyla ifade edilmiştir. Diffie ve Hellman, bu algoritmaların varlığını göstermeksizin bu sistemi varsaymışlardır. Bununla beraber, bu algoritmaların yerine getirmeleri gereken durumları şöyle ifade etmişlerdir:
1. Bir B için, anahtar parçalarını (genel anahtar ve özel anahtar) yaratmak, hesapsal olarak kolay olmalıdır.
2. Gönderenin (A olsun), mesajı göndereceği kişinin (B olsun) genel anahtarını bildiği ve şifrelenecek olan mesajı (M olsun) bildiği durumda, uygun şifreli metni yaratmak hesapsal olarak kolay olmalıdır.

3. Alıcı B`nin, özel anahtarını kullanarak, şifrelenmiş mesajı orijinal haline getirmesi hesapsal olarak kolay olmalıdır.

4. Herhangi bir rakip için, genel anahtarı bilerek, özel anahtarı bulması hesapsal olarak imkansız olmalıdır.
5. Herhangi bir rakip için, genel anahtarı, şifreli metini (C`yi) bilerek orijinal mesajı (M`yi) elde etmesi hesapsal olarak imkansız olmalıdır.
Bunlara ek olarak, yararlı olmasına rağmen gerekli olmayan altıncı bir madde ekleyebiliriz:
6. Şifreleme ve de-şifreleme fonksiyonları her iki sıra ile de uygulanabilir olmalıdır.

Bunlar gerçekleştirilmesi çok zor gerekliliklerdir bu yüzden, açık anahtarlı kriptografi fikrinin ileri sürüldüğünden bu yana geçen yıllar süresince sadece tek bir algoritma geniş bir kitle tarafından kabul edilmiştir.
Bu kadar zor gerekliliklerin istenmesinin sebeplerini açıklamadan önce en önemli noktayı, tek yönlü fonksiyonu (one-way function) açıklayalım. Söz konusu olan tek yönlü fonksiyon şöyledir: fonksiyonun bire-bir olduğu bir aralıkta, tersini hesaplamak imkansız iken, fonksiyonun kendisinin hesaplanması kolaydır.
 çok kolay,
  çok kolay,
 imkansız...
 imkansız...
Genellikle,
"kolay" dan kasıt, fonksiyonun girdi uzunluğuna bağlı olarak polinomal bir
zaman süresi içerisinde çözülebilir olmasıdır. Şöyle ki, eğer girdi uzunluğu  bit kadarsa,
fonksiyonun hesaplanması için gereken süre
 bit kadarsa,
fonksiyonun hesaplanması için gereken süre  bir sabit sayı
iken,
 bir sabit sayı
iken,  gibi bir fonksiyonla
orantılı olmalıdır. Çoğu algoritmanın, P sınıfı algoritma olduğu
söylenir. "imkansız" ise, oldukça bulanık bir durumu ifade etmek için kullanılır.
Bir problemin çözümünün olanaksız olduğundan, giriş büyüklüğüne bağlı olarak
çözüm için harcanan çabanın, polinomal zamandan daha hızlı arttığı durumda
bahsedebiliriz. Örneğin, girdi
 gibi bir fonksiyonla
orantılı olmalıdır. Çoğu algoritmanın, P sınıfı algoritma olduğu
söylenir. "imkansız" ise, oldukça bulanık bir durumu ifade etmek için kullanılır.
Bir problemin çözümünün olanaksız olduğundan, giriş büyüklüğüne bağlı olarak
çözüm için harcanan çabanın, polinomal zamandan daha hızlı arttığı durumda
bahsedebiliriz. Örneğin, girdi  bit ile
gösterilirken, fonksiyonun çözülme zamanı
 bit ile
gösterilirken, fonksiyonun çözülme zamanı  gibi bir fonksiyona
bağlı olarak artıyorsa, bu fonksiyonun çözümünün imkansız olduğunu
düşünebiliriz. Ne yazık ki, eğer bir algoritma parçası bu kompleksliği
barındırıyorsa, bu karışıklığı belirlemek zordur. Ayrıca , hesapsal
kompleksliğin geleneksel fikirleri bir algoritmanın kompleksliğini en kötü
duruma yada ortalama bir duruma odaklar. Bu oranlar kriptografi için
değersizdir. Çünkü kriptografide bir fonksiyonu tüm girilenler için tersine
çevirmek nerdeyse olanaksızdır, bu genelleme, en kötü durum yada ortalama durum
için geçerli değildir.
 gibi bir fonksiyona
bağlı olarak artıyorsa, bu fonksiyonun çözümünün imkansız olduğunu
düşünebiliriz. Ne yazık ki, eğer bir algoritma parçası bu kompleksliği
barındırıyorsa, bu karışıklığı belirlemek zordur. Ayrıca , hesapsal
kompleksliğin geleneksel fikirleri bir algoritmanın kompleksliğini en kötü
duruma yada ortalama bir duruma odaklar. Bu oranlar kriptografi için
değersizdir. Çünkü kriptografide bir fonksiyonu tüm girilenler için tersine
çevirmek nerdeyse olanaksızdır, bu genelleme, en kötü durum yada ortalama durum
için geçerli değildir.
Şimdi,
bir taraftan hesaplanması kolay, diğer bir taraftan ise belirli ek bilgiler
bilinmedikçe hesaplanması olanaksız olan tuzak kapılı tek yönlü fonksiyonun
(trap-door one-way function) açıklanmasına bakalım. Polinominal zamanda
fonksiyonun tersi ek bilgiyle hesaplanabilir. Adım-adım özetleyebiliriz: Tuzak
kapılı tek yönlü fonksiyon, tersine çevrilebilir fonksiyonların ( ) bir ailesidir. Şöyle ki;
) bir ailesidir. Şöyle ki; 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
Böylece, uygulamalı genel anahtarın yapısının gelişimi uygun bir tuzak kapılı tek yönlü fonksiyon bulunuşuna bağlıdır.
Brute-force saldırısına karşı (Brute-force saldırısı, anahtar uzayının tüm elemanlarının sırası ile algoritma içerisinde teker teker denenmesi yolu ile doğru anahtarı elde etmeye çalışmaktır), bir genel anahtarlı şifreleme yapısı geleneksel şifreleme yapıları ile aynı derecede savunmasızdır. Çözüm aynıdır: Geniş anahtar uzayı kullanmak. Bununla birlikte, hesaba katılan bir trade-off vardır. Açık anahtarlı kripto sistemler, bazı kısa, tersine dönüştürülebilir matematiksel fonksiyonların kullanımına bağlıdır. Bu fonksiyonların hesabının karışıklığı, anahtardaki bitlerin sayısıyla doğrusal olarak ölçülemeyebilir; ancak karışıklık daha hızlı artar. Anahtarın büyüklüğü, brute-force saldırısını makul olanaklılık derecesinin dışına çıkarmak için yeterince büyük olmalıdır. Aynı zamanda da pratik şifreleme ve de-şifreleme için yeterince küçük olmalıdır. Pratikte, önerilmiş olan anahtar büyüklükleri brute-force saldırısını olanaksız kılar (Elbette bu hesaplama teknolojilerindeki hızlı gelişime bağlı olarak göreceli bir durumdur). Ancak, sonuçta şifreleme ve de şifreleme hızları genel amaç kullanımı için çok yavaş olur. Gizli anahtarlı simetrik şifrelemenin açık anahtarlı şifrelemeye nazaran çok daha hızlı olmasından ötürü, açık anahtarlı şifreleme yaygın olarak anahtar yönetimi ve imza kullanımlarında sınırlandırılır.
Saldırının diğer bir şekli; özel anahtarı hesaplamanın bir yolunu bulmak için, verilen genel anahtarı kullanmaktır. Şu ana dek, bir genel anahtarlı algoritma parçacığı için bu tip bir saldırının başarılı olmasının mümkün olmadığı matematiksel olarak ispatlanmamıştır. Böylece, verilen herhangi bir algoritma (geniş çapta kullanılan RSA algoritmalarını içeren) şüphelidir. Kriptonalizin tarihi, bütünüyle farklı bir yönden bakıldığında çözümü bulunabilecek, bir yönden de çözümsüz gibi gözüken bir problemin varlığını gösterir.
Son olarak, genel anahtarlı sistemler için tuhaf bir saldırı şekli daha vardır. Özünde bu saldırı bir olası-mesaj saldırısıdır. Varsayalım ki; 56 bitlik DES anahtarıyla gönderilmek üzere oluşturulmuş bir mesaj olsun. Bir saldırgan, genel anahtarı kullanarak olası tüm anahtarları şifreleyebilir ve herhangi bir mesajı gönderilmiş şifreli metinle karşılaştırarak deşifre edebilirdi. Böylece genel anahtarlı yapının anahtar büyüklüğünün önemi kalmaz, saldırı 56 bitlik bir anahtara yapılan brute-force saldırısına dönüştürülürdü. Bu saldırı; bu gibi basit mesajlara rasgele bazı bitler eklenerek, önlenebilir.
Diffie ve Hellman tarafından hazırlanmış öncü bir makale 1976 yılında, kriptografi için yeni bir yöntem tanıttı, ve sonuçta, genel anahtarlı sistemlerin gerekliliklerini yerine getiren bir kriptografik algoritmada görüş birliğine varan kriptolojistlere karşı meydan okudu. Bu meydan okumaya karşı yanıtlardan ilki; 1977'de MIT'de Ron Rivest, Adi Shamir, ve Len Adleman (RSA) tarafından ortaya atıldı, ve ilk olarak 1978'de (A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, February 1978) basıldı. Rivest-Shamir-Adleman (RSA) yapısı; üstünlüğü kabul gördüğünden itibaren, geniş çapta tek olarak kabul edildi ve genel anahtarlı şifreleme yönteminin genel amacını yerine getirdi.
RSA
yapısı, birtakım  `ler için
`ler için  ve
 ve  arasındaki
tamsayılardan oluşan şifreli ve düz metinin içinde yer alan bir blok şifrelemedir.
Bu bölümde RSA`yı bazı detaylarla birlikte, algoritmanın açıklamasıyla
başlayarak inceleyeceğiz. Daha sonra RSA`nın hesapsal ve kripto analitik
anlamlarını incelemeye çalışacağız.
 arasındaki
tamsayılardan oluşan şifreli ve düz metinin içinde yer alan bir blok şifrelemedir.
Bu bölümde RSA`yı bazı detaylarla birlikte, algoritmanın açıklamasıyla
başlayarak inceleyeceğiz. Daha sonra RSA`nın hesapsal ve kripto analitik
anlamlarını incelemeye çalışacağız.
Rivest,
Shamir, ve Adleman tarafından bulunan yapı, destekleyici görüşlerle birlikte
ifadenin kullanımını meydana getirir. Düz metin, blokların içinde şifrelenir.
Her blok, birtakım  sayısından daha az
bir ikili değere sahiptir. Bloğun büyüklüğü,
 sayısından daha az
bir ikili değere sahiptir. Bloğun büyüklüğü,  `e eşit yada ondan daha az olmalıdır; pratikte, blok
büyüklüğü
`e eşit yada ondan daha az olmalıdır; pratikte, blok
büyüklüğü  bittir,
 bittir,  aralığında. Şifreleme
ve de şifreleme bazı düz metin bloğu
 aralığında. Şifreleme
ve de şifreleme bazı düz metin bloğu  ve şifreli metin
bloğu
 ve şifreli metin
bloğu  için şu şekildedir:
 için şu şekildedir:
              
Hem
gönderen hem de alıcı  `in değerini bilmelidir. Gönderen
`in değerini bilmelidir. Gönderen  `nin değerini bilir, ve sadece alıcı
`nin değerini bilir, ve sadece alıcı  `nin değerini bilir. Böylece;
`nin değerini bilir. Böylece;  bir genel anahtar, ve
 bir genel anahtar, ve
 bir özel anahtar olur
ve bu bir genel anahtarlı şifreleme algoritmasıdır. Genel anahtarlı şifreleme
için tatmin edici olması için, bu algoritma için aşağıdaki gereklilikler yerine
getirilmelidir:
 bir özel anahtar olur
ve bu bir genel anahtarlı şifreleme algoritmasıdır. Genel anahtarlı şifreleme
için tatmin edici olması için, bu algoritma için aşağıdaki gereklilikler yerine
getirilmelidir:
1.  olduğu koşulda,
 olduğu koşulda,  iken,
 iken,  değerlerini bulmak
mümkün olmalıdır.
 değerlerini bulmak
mümkün olmalıdır.
2.  koşulunu sağlayan tüm
 koşulunu sağlayan tüm
 değerleri için,
 değerleri için,  ve
 ve  hesaplanması nisbeten
kolay olmalıdır.
 hesaplanması nisbeten
kolay olmalıdır.
3.
Yalnız  ve
 ve  verildiğinde,
 verildiğinde,  `nin hesaplanması imkansız olmalıdır.
`nin hesaplanması imkansız olmalıdır.
Şimdi, ilk sorun üzerinde odaklanalım ve diğerlerine sonra geçelim. Aşağıdaki form için bir ilişki bulmamız gerekiyor:

Euler`in teoremine göre, verilen iki asal sayı p ve q,
ve iki tamsayı n ve m olmak üzere,  ve
 ve  olduğu durumda, keyfi
seçilmiş bir
 olduğu durumda, keyfi
seçilmiş bir  tamsayısı seçilmiş sayılar ile şöyle bir
ilişki oluşturur:
 tamsayısı seçilmiş sayılar ile şöyle bir
ilişki oluşturur:

Buradaki
 fonksiyonunun
döndürdüğü değer,
 fonksiyonunun
döndürdüğü değer,  `den küçük olan ve
`den küçük olan ve  ile aralarında asal
olan tam sayıların sayısıdır.
 ile aralarında asal
olan tam sayıların sayısıdır.  ve
 ve  asal sayı olmak üzere
 asal sayı olmak üzere
 olur (Bunun ispatı konumuzun dışındadır, bu yüzden burada yapılmayacaktır). Böylece aşağıdaki eşitlik sağlanıyorsa istenilen ilişkiye
ulaşabiliriz:
 olur (Bunun ispatı konumuzun dışındadır, bu yüzden burada yapılmayacaktır). Böylece aşağıdaki eşitlik sağlanıyorsa istenilen ilişkiye
ulaşabiliriz:

Bu durumda aşağıdaki denkliklerden söz edilebilir:

 ve
 ve  ,
,  `in çarpmaya göre tersidir. Dikkat edecek olursak, modüler
aritmetiğin kurallarına göre, bu denkliğin doğru olması yalnız
`in çarpmaya göre tersidir. Dikkat edecek olursak, modüler
aritmetiğin kurallarına göre, bu denkliğin doğru olması yalnız  `nin (ve sonucunda
`nin (ve sonucunda  `nin)
`nin)  ile aralarında asal
olması durumunda mümkündür. Bu durumda, gcd(
 ile aralarında asal
olması durumunda mümkündür. Bu durumda, gcd(  ,
,  ) = 1 demektir.
) = 1 demektir.
Şimdi, RSA yapısını açıklamaya hazırız. Yapının bileşenleri sırasıyla şöyledir (parantez içlerinde, sayıların nasıl elde edildiklerini ve genel mi yoksa gizlimi olduklarını belirtilmektedir):
 ; iki asal sayı (gizli, seçilmiş)
; iki asal sayı (gizli, seçilmiş)
 ;(genel, hesaplanmış)
;(genel, hesaplanmış)
 ; gcd(
; gcd(  ,
,  ) = 1;
) = 1;  olacak şekilde
(genel, seçilmiş)
 olacak şekilde
(genel, seçilmiş)
 ; (gizli, hesaplanmış)
; (gizli, hesaplanmış)
 çifti özel anahtarı,
 çifti özel anahtarı,  çifti ise genel
anahtarı oluşturur. Varsayalım ki, bir
 çifti ise genel
anahtarı oluşturur. Varsayalım ki, bir  kullanıcısı,
 kullanıcısı,  kullanıcısına,
 kullanıcısına,  kullanıcısının genel
anahtarını kullanarak bir
 kullanıcısının genel
anahtarını kullanarak bir  mesajını göndermek
istiyor. Bu durumda
 mesajını göndermek
istiyor. Bu durumda  ,
,  formülü yardımı ile
 formülü yardımı ile  şifreli mesajını elde
edecek ve bunu
 şifreli mesajını elde
edecek ve bunu  `ya gönderecektir.
`ya gönderecektir.  kullanıcısı bu mesajı
aldığında,
 kullanıcısı bu mesajı
aldığında,  formülü ile mesajı de
şifre edecektir.
 formülü ile mesajı de
şifre edecektir.
Bu
kıymetli algoritmanın doğrulunu özetlemek için biraz sıkıntıya girmeye değer :) Biz,  ve
 ve  `yi aşağıdaki denkliği sağlayacak şekilde seçmiştik:
`yi aşağıdaki denkliği sağlayacak şekilde seçmiştik:

Bunun sonucunda,

Bu yüzden  ,
,  `in bir formudur. Bu denkliğin Euler teoreminin bir sonucu olduğu,
iki asal sayı olan
`in bir formudur. Bu denkliğin Euler teoreminin bir sonucu olduğu,
iki asal sayı olan  ve
 ve  , birer tamsayı olan
, birer tamsayı olan  (
 ( ) ve
) ve  (
 ( ) alınarak kolaylıkla ispatlanabilir.
) alınarak kolaylıkla ispatlanabilir.

Dolayısıyla görüyoruz ki,  ;
;


| 
 | 
Şekil 5`te, RSA algoritması özetlenmiştir. Ve Şekil 6` da da bir örnek vierlmiştir ve bu örnekteki anahtarlar şu şekilde yaratılmıştır (siz de kağıt üstünde kendi seçtiğiniz sayılar ile deneyiniz):
1.    
İki
adet asal sayı seçelim,  ve
 ve 
2.    
 değerini
hesaplayalım,
 değerini
hesaplayalım, 
3.    
 değerini
hesaplayalım,
 değerini
hesaplayalım, 
4.    
Şimdi
de,  `den küçük olacak ve
`den küçük olacak ve  ile aralarında asal
olacak şekilde bir
 ile aralarında asal
olacak şekilde bir  sayısı seçelim,
burada
 sayısı seçelim,
burada  olsun…
 olsun…
5.    
Son
olarak, öyle bir  belirleyelim ki,
 belirleyelim ki,  ve
 ve  olsun. Doğru değer,
 olsun. Doğru değer,  olacaktır. Çünkü,
 olacaktır. Çünkü,  `dir.
`dir.

| 
 | 
Bu işlemler sonucunda elde ettiğimiz
değerlere göre genel anahtar  , özel anahtar da
, özel anahtar da  oldular. Bu örnek
bize, bu anahtarların
 oldular. Bu örnek
bize, bu anahtarların  düzmetni için
kullanımını gösteriyor. Şifreleme için,
 düzmetni için
kullanımını gösteriyor. Şifreleme için,  un beşinci kuvveti
alınıyor ve
 un beşinci kuvveti
alınıyor ve  sayısı elde ediliyor.
Daha sonra bu sayının
 sayısı elde ediliyor.
Daha sonra bu sayının  `a bölümünden kalan bulunuyor ve ortaya şifreli metin olan
`a bölümünden kalan bulunuyor ve ortaya şifreli metin olan  çıkıyor. Deşifreleme
işleminde de,
 çıkıyor. Deşifreleme
işleminde de,  işlemi sayesinde de
şifrelenmiş metin olarak 19 elde ediliyor.
 işlemi sayesinde de
şifrelenmiş metin olarak 19 elde ediliyor.
Şimdi, RSA`nın kullanımı için gerekli hesabın karışıklığıyla ilgili önemli noktaya geri dönüyoruz. Aslında düşünülmesi gereken iki önemli nokta vardır: anahtar üretimi, şifreleme/deşifreleme. Önce şifreleme/deşifreleme işlemlerine bakmaya çalışacak ve daha sonra anahtar üretimi konusuna döneceğiz.
RSA`da
hem şifreleme hem de deşifreleme, tamsayıların tamsayı kuvvetlerini almayı ve
mod alma işlemlerini gerektirir. Eğer ilk önce tamsayıların üslerini alıp, daha
sonra  ile indirgersek,
ara değerler devasa büyüklükte sayılar olurlar. Neyse ki bu sorunu bir nebze
azaltmak için modüler aritmetiğin şu özelliğinden yararlanabiliriz:
 ile indirgersek,
ara değerler devasa büyüklükte sayılar olurlar. Neyse ki bu sorunu bir nebze
azaltmak için modüler aritmetiğin şu özelliğinden yararlanabiliriz:

Bu sayede, ara değerleri modül  `e göre indirgeyebiliriz. Bu da hesaplamayı pratik hale getirir.
`e göre indirgeyebiliriz. Bu da hesaplamayı pratik hale getirir.
Diğer bir husus, üssün verimidir. Çünkü,
RSA ile, potansiyel olarak büyük üsler ile işlem yaparız. Verimin nekadar
artabiliceğini görmek için,  `yı
hesaplamak istediğimizi varsayalım. Dürüst bir yöntem 15 çarpım gerektirir:
`yı
hesaplamak istediğimizi varsayalım. Dürüst bir yöntem 15 çarpım gerektirir:

Bununla birlikte, aynı sonuca, her
bir kısmi sonucun karesini alarak  olacak şekilde dört
adımda da ulaşabiliriz.
 olacak şekilde dört
adımda da ulaşabiliriz.
Daha genel olarak varsayalım ki biz  değerini hesaplamak
istiyoruz ve biliyoruz ki
 değerini hesaplamak
istiyoruz ve biliyoruz ki  ve
 ve  birer pozitif tam
sayı. Eğer biz
 birer pozitif tam
sayı. Eğer biz  `i
`i  gibi ikilik sayı gibi
ifade edecek olursak:
 gibi ikilik sayı gibi
ifade edecek olursak:
 olur.
 olur.
Böylece,

olur.
     Bu sonuç sayesinde,  işlemini hesaplamak
üzere aşağıdaki algoritmayı geliştirebiliriz. Ve algoritmanın altındaki tablo
da algoritmanın çalışmasını örneklemektedir.
 işlemini hesaplamak
üzere aşağıdaki algoritmayı geliştirebiliriz. Ve algoritmanın altındaki tablo
da algoritmanın çalışmasını örneklemektedir.  değerinin aslında
gerekli olmadığını düşünebilirsiniz; gerçekten de algoritma içerisinde direk bir fonksiyonu yoktur.
Fakat son değeri üssün değerine eşit olacağından dolayı açıklayıcı bir niteliktedir.
 değerinin aslında
gerekli olmadığını düşünebilirsiniz; gerçekten de algoritma içerisinde direk bir fonksiyonu yoktur.
Fakat son değeri üssün değerine eşit olacağından dolayı açıklayıcı bir niteliktedir.
c 0; d
0; d 1
1
for i k downto 0
k downto 0
     do
c 2 x c
2 x c
          d (d x d)mod n
(d x d)mod n
if bi=1
               then  c c+1
c+1
                    d (d x a)mod n
(d x a)mod n
return d
| 
 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
| 
 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 
| 
 | 1 | 2 | 4 | 8 | 17 | 35 | 70 | 140 | 280 | 560 | 
| 
 | 7 | 49 | 157 | 526 | 160 | 241 | 298 | 166 | 67 | 1 | 
Açık anahtarlı kriptosistemin uygulamasından önce, her iki katılımcı anahtar parçalarını üretmelidir. Bu üretim işlemi aşağıdaki vazifeleri ihtiva eder:
·                  
İki asal sayı hesaplanması,
 ve
 ve 
·                  
 ya da
 ya da  `nin seçilip diğerinin
hesaplanması.
`nin seçilip diğerinin
hesaplanması.
Öncelikle,  ve
 ve  nun seçimini düşünelim. Çünkü, herhangi bir
potansiyel saldırgan
 nun seçimini düşünelim. Çünkü, herhangi bir
potansiyel saldırgan  `nun
değerini biliyor olacaktır, ayrıntılı methodlarla
`nun
değerini biliyor olacaktır, ayrıntılı methodlarla  ve
 ve  nun bulunmasını engellemek için,
 nun bulunmasını engellemek için,  ve
 ve  sayıları yeterince büyük bir seriden seçilmiş
olmalıdırlar (
 sayıları yeterince büyük bir seriden seçilmiş
olmalıdırlar ( ve
 ve  büyük sayılar olmalıdır). Diğer bir yandan,
büyük asal sayıları bulmak için kullanılan yöntem yeterince verimli olmalıdır.
 büyük sayılar olmalıdır). Diğer bir yandan,
büyük asal sayıları bulmak için kullanılan yöntem yeterince verimli olmalıdır.
Günümüzde, verimli ve büyük asal sayılar üreten kullanışlı bir teknik yoktur. Genel olarak kullanılan yöntem şöyle çalışmaktadır: istenen büyüklük aralığında rastgele bir tek sayı seçilir ve bunun asal olup olmadığını kontrol edilir. Eğer asal değilse, bu işlem asal bir sayı buluncaya kadar sürdürülür.
Asallığı kontrol eden bir çok test
geliştirilmiştir. Testlerin nerdeyse tümü yaklaşıklıktan bahseder yani, test,
verilen (yeterince büyük) bir tam sayının muhtemelen asal olup olmadığını
belirleyecektir. Bu kesinlik eksikliğine karşın, testler, sayının asal olma
olasılığının 1,00`a çok yakın olduğu durumlarda çalışabilirler.  Örnek olarak, en verimli ve popüler test
algoritmalarından birisi Miller-Rabin algoritmasıdır. Bu algoritmada ve diğer bir çok algoritmada,  sayısının asallığını kontrol etmek için,
 sayısının asallığını kontrol etmek için,  ile bir takım işlemlere sokulmak üzere
 ile bir takım işlemlere sokulmak üzere  den küçük bir rastgele
 den küçük bir rastgele  sayısı seçilir. Eğer
 sayısı seçilir. Eğer  testi geçemezse bunun anlamı
 testi geçemezse bunun anlamı  sayısının asal olmadığıdır. Eğer
 sayısının asal olmadığıdır. Eğer  testi geçerse bu durumda sayı asal olabilir,
olmayadabilir. Eğer
 testi geçerse bu durumda sayı asal olabilir,
olmayadabilir. Eğer  sayısı bu gibi çok fazla sayıda (milyonlarca..) testten
başarılı olursa,
 sayısı bu gibi çok fazla sayıda (milyonlarca..) testten
başarılı olursa,  için muhtemelen asal denilir.
 için muhtemelen asal denilir.
Özet olarak, asal sayı kontrol prosedürü aşağıdaki adımları izler:
1.    
Rastgele bir
tek tam sayı " " seçilir.
" seçilir.
2.    
 koşulunu sağlayan bir rastgele bir
 koşulunu sağlayan bir rastgele bir  sayısı seçilir.
 sayısı seçilir.
3.    
 için asallığı yaklaşık olarak test eden
Miller-Rabin gibi bir test gerçekleştirilir, eğer
 için asallığı yaklaşık olarak test eden
Miller-Rabin gibi bir test gerçekleştirilir, eğer  testi geçemezse birinci adıma geri dönülür.
 testi geçemezse birinci adıma geri dönülür.
4.    
Eğer  bir çok sayıda testi başarı ile geçmişse
 bir çok sayıda testi başarı ile geçmişse  kabul edilir yada ikinci adıma geri dönlülür.
 kabul edilir yada ikinci adıma geri dönlülür.
Bu, oldukça sıkıcı bir işlemdir fakat
biliyoruz ki, bu işlem sadece yeni bir genel ve özel anahtar ( )
gerektiğinde uygulanır.
)
gerektiğinde uygulanır.
Asal bir sayı bulunana dek geri çevrilen
sayıların sayısı önemli bir ayrıntıdır. Sayılar teoreminin bir sonucuna, asal
sayılar teorisine göre bir  asal sayısına yakın olan ilk asal sayı, bu
sayıya ortalama
 asal sayısına yakın olan ilk asal sayı, bu
sayıya ortalama  adet tam sayı kadar uzaklıktadır. Bu durumda,
bir asal sayı bulunduğunda, bir sonraki asal sayı yaklaşık olarak
 adet tam sayı kadar uzaklıktadır. Bu durumda,
bir asal sayı bulunduğunda, bir sonraki asal sayı yaklaşık olarak  tamsayı ötede olacaktır. Ve bu aralıkta
bulunan çift sayıların asal olmadığı kesin olduğundan, bir asal sayıya ulaşması
için en fazla
 tamsayı ötede olacaktır. Ve bu aralıkta
bulunan çift sayıların asal olmadığı kesin olduğundan, bir asal sayıya ulaşması
için en fazla  /2 deneme
yapması gerekecektir. Bunun anlamı şudur: örneğin 2200 sayısını
merkez alarak asal sayı aramaya başlayan bir kişinin bir asal sayıya ulaşmak
için sayı ekseninde bir yöne doğru yaklaşık ln(2200)/2=70 sayı
denemesi gerekmektedir.
/2 deneme
yapması gerekecektir. Bunun anlamı şudur: örneğin 2200 sayısını
merkez alarak asal sayı aramaya başlayan bir kişinin bir asal sayıya ulaşmak
için sayı ekseninde bir yöne doğru yaklaşık ln(2200)/2=70 sayı
denemesi gerekmektedir.  
 ve
 ve  değerlerine sahip olunmasından sonra bir
 değerlerine sahip olunmasından sonra bir  değeri seçilmesi ve
 değeri seçilmesi ve  değerinin hesaplanması ya da alternatif
olarak
 değerinin hesaplanması ya da alternatif
olarak  değeri seçilerek
 değeri seçilerek  değerinin hesaplanmasının ardından anahtar
üretme işlemi tamamlanmış olacaktır.
 değerinin hesaplanmasının ardından anahtar
üretme işlemi tamamlanmış olacaktır.  sayısını seçerken, bu sayının gcd(
 sayısını seçerken, bu sayının gcd( )=1
eşitliğini sağlaması gerektiğini biliyoruz. Daha sonra da,
)=1
eşitliğini sağlaması gerektiğini biliyoruz. Daha sonra da,  eşitliği sonucunda
 eşitliği sonucunda  değerini elde etmeliyiz. Neyseki, aynı anda
iki tam sayının en büyük ortak bölenini bulan, ve bu bölen 1 ise, bu sayılardan
birisinin tersini, diğerinin modülüne göre hesplayan tek bir algoritma var... Bu
algoritma uzatılmış Euclid algoritması olarak anılmaktadır. Prosedür, yarattığı bir seri halindeki rastgele sayıların her
birisini,
 değerini elde etmeliyiz. Neyseki, aynı anda
iki tam sayının en büyük ortak bölenini bulan, ve bu bölen 1 ise, bu sayılardan
birisinin tersini, diğerinin modülüne göre hesplayan tek bir algoritma var... Bu
algoritma uzatılmış Euclid algoritması olarak anılmaktadır. Prosedür, yarattığı bir seri halindeki rastgele sayıların her
birisini,   ile arasında asal olan bir sayı buluncaya dek
teker teker dener. Tekrar şu soruyu sorabiliriz:
 ile arasında asal olan bir sayı buluncaya dek
teker teker dener. Tekrar şu soruyu sorabiliriz:  ile aralarında asal olacak şekilde kullanışlı
bir sayı bulmak için kaç rastgele sayıyı test etmeliyiz? Şunu kolayca
gösterebiliriz ki, rastgele seçilmiş iki sayının aralarında asal olma olasılığı
0.6`dır. Bu da demek oluyor ki, aradığımız tam sayıya ulaşmak için bir kaç test
yapmamız yeterli olacak.
 ile aralarında asal olacak şekilde kullanışlı
bir sayı bulmak için kaç rastgele sayıyı test etmeliyiz? Şunu kolayca
gösterebiliriz ki, rastgele seçilmiş iki sayının aralarında asal olma olasılığı
0.6`dır. Bu da demek oluyor ki, aradığımız tam sayıya ulaşmak için bir kaç test
yapmamız yeterli olacak.
Rsa algoritmasına saldırmak için kullanılabilecek üç metod aşağıdaki gibidir:
· Brute-force: Bütün özel anahtarların denenmesi ile gerçekleştirilir.
· Matematik Ataklar: Birkaç yöntem vardır, hepsinini amacı çarpımı oluşturan iki asal sayıyı bulmaktır.
· Zaman Atakları: Deşifreleme algoritmasının çalışması esnasında geçen zamana bağlıdır.
Brute-force
yöntemine karşı RSA`nın savunması diğer diğer kripto sistemlerin çözümünden
farklı değildir, çözüm geniş anahtar uzayı kullanmaktır.  ve
 ve  `nin bit sayıları ne kadar büyük olursa o kadar
iyidir. Bununla beraber, hem anahtar üretimi hem de şifreleme/de şifreleme
işlemleri için algoritmanın içerdiği hesaplamalar kompleksleşecek, büyük
anahtarlarla çalışan sistemin de çalışma zamanından kaybı olacaktır.
`nin bit sayıları ne kadar büyük olursa o kadar
iyidir. Bununla beraber, hem anahtar üretimi hem de şifreleme/de şifreleme
işlemleri için algoritmanın içerdiği hesaplamalar kompleksleşecek, büyük
anahtarlarla çalışan sistemin de çalışma zamanından kaybı olacaktır.
Biz bu alt kısımda Brute-force`dan ziyade matematiksel ve zaman ataklar ile ilgileneceğiz.
RSA`ya gerçekleştirilebilecek matematik atak yöntemlerini üç alanda inceleyebiliriz:
·                  
 `in çarpanlarından iki tanesi, kendisini oluşturan
asal sayıların bulunması. Bu sayıların bulunmasıyla
`in çarpanlarından iki tanesi, kendisini oluşturan
asal sayıların bulunması. Bu sayıların bulunmasıyla  hesaplanabilir
ve dolayısıyla
 hesaplanabilir
ve dolayısıyla  hesaplanabilir.
 hesaplanabilir.
·                  
 `in
`in  ve
 ve  bulunmadan, doğrudan hesaplanması. Yine
buradan
 bulunmadan, doğrudan hesaplanması. Yine
buradan  hesaplanabilir.
 hesaplanabilir.
·                  
 `nin,
`nin,  hesaplanmadan hesaplanması.
 hesaplanmadan hesaplanması.
RSA`ya yönelik en çok tartışılan
kriptoanaliz yöntemi,  sayısını kendisini oluşturan iki asal
çarpanına ayırmaktır. Verilmiş bir
 sayısını kendisini oluşturan iki asal
çarpanına ayırmaktır. Verilmiş bir  için
 için  hesaplanması,
 hesaplanması,  `in
çarpanlarına ayrılması demektir. Günümüzde, verilen
`in
çarpanlarına ayrılması demektir. Günümüzde, verilen  ve
 ve  için
 için  değerini hesaplayan algoritmalar üs alma  problemi gibi zaman ile de ilgili bir
problem yaratmaktadırlar. Bu nedenle çarpanlara ayırma performansını, RSA`nın
güvenliği için bir tehdit olarak düşünebiliriz.
 değerini hesaplayan algoritmalar üs alma  problemi gibi zaman ile de ilgili bir
problem yaratmaktadırlar. Bu nedenle çarpanlara ayırma performansını, RSA`nın
güvenliği için bir tehdit olarak düşünebiliriz.
Çok büyük asal sayılardan oluşturulmuş çok
büyük bir  `i
çarpanlarına ayırmak çok zor bir işlem olacaktır; fakat bu zorluk
`i
çarpanlarına ayırmak çok zor bir işlem olacaktır; fakat bu zorluk  `in
kullanımından daha büyük bir zorluk değildir. 1977 yılında, RSA`nın üç
yaratıcısı, Scientific American okuyucularına meydan okuyarak, derginin Martin
Gardner tarafından hazırlanan "Matematik Oyunları" kısmına, deşifre edilmesi
için RSA ile şifrelenmiş bir metin koydular. Bu metni deşifre ederek getirecek
olan kişiye de $100 ödül vereceklerini, fakat bu işlemin 40 milyar yıldan uzun
süreceğini söylediler. 1994 Nisanında, internet üzerinden çalışan bir grup,
sadece 8 aylık bir çalışma ile ödülü almaya hak kazandılar. Bu meydan okumada
kullanılan genel anahtar 129 rakam yani yaklaşık 428 bitti. RSA
Laboratuvarları, 100, 110, 120 ve bu sekilde artan anahtar boyutları ile
şifrelenmiş metinler için meydan okumaları sürdürdü. En son sonuçlanan idda da
130 rakamdan oluşan anahtar ile şifrelenmiş metnin çözülmesi oldu. 3
numaralı tabloda, tarihlerine göre alınmış sonuçları listelemekte. Sarfedilen efor
kolonu MIPS birimi ile ifade ediliyor ve 1 MIPS-yılı demek, saniyede 1 milyon
işlem yapan bir işlemcinin bir yıl süre ile çalışması anlamına geliyor. Bu
durumda, yaklaşık 3x1013 adet işlem gerçekleştirilmiş oluyor. 200
Mhz.`lik bir Pentium işlemcili bir makine yaklaşık 50-MIPS` lık bir makinedir.
`in
kullanımından daha büyük bir zorluk değildir. 1977 yılında, RSA`nın üç
yaratıcısı, Scientific American okuyucularına meydan okuyarak, derginin Martin
Gardner tarafından hazırlanan "Matematik Oyunları" kısmına, deşifre edilmesi
için RSA ile şifrelenmiş bir metin koydular. Bu metni deşifre ederek getirecek
olan kişiye de $100 ödül vereceklerini, fakat bu işlemin 40 milyar yıldan uzun
süreceğini söylediler. 1994 Nisanında, internet üzerinden çalışan bir grup,
sadece 8 aylık bir çalışma ile ödülü almaya hak kazandılar. Bu meydan okumada
kullanılan genel anahtar 129 rakam yani yaklaşık 428 bitti. RSA
Laboratuvarları, 100, 110, 120 ve bu sekilde artan anahtar boyutları ile
şifrelenmiş metinler için meydan okumaları sürdürdü. En son sonuçlanan idda da
130 rakamdan oluşan anahtar ile şifrelenmiş metnin çözülmesi oldu. 3
numaralı tabloda, tarihlerine göre alınmış sonuçları listelemekte. Sarfedilen efor
kolonu MIPS birimi ile ifade ediliyor ve 1 MIPS-yılı demek, saniyede 1 milyon
işlem yapan bir işlemcinin bir yıl süre ile çalışması anlamına geliyor. Bu
durumda, yaklaşık 3x1013 adet işlem gerçekleştirilmiş oluyor. 200
Mhz.`lik bir Pentium işlemcili bir makine yaklaşık 50-MIPS` lık bir makinedir.
| Anahtarın Rakam Sayısı | Yaklaşık Bit Sayısı | Verinin Elde Edilmesi | MIPS-yılı | Algoritma | 
| 100 | 332 | Nisan 1991 | 7 | Quadratik eleme | 
| 110 | 365 | Nisan 1992 | 75 | Quadratik eleme | 
| 120 | 398 | Haziran 1993 | 830 | Quadratik eleme | 
| 129 | 428 | Nisan 1994 | 5000 | Quadratik eleme | 
| 130 | 431 | Nisan 1996 | 500 | Genelleştirilmiş sayı alanı elemesi | 
| 
 | 
Son zamanlara kadar, çarpanlara ayırma atakları quadratik eleme adı verilen bir yöntem kullanılarak yapılıyordu. RSA-130 için yapılan atakta, daha yeni bir algoritma kullanıldı: "Genelleştirilmiş sayı alanı elemesi (GNFS: Generalized Number Field Sieve)". Bu sayede, RSA-129` dan daha büyük bir sayının çarpanlarına ayrılması 10%`luk bir çaba ile gerçekleştirilebildi.
Bilgisayar teknolojisinin hızla gelişmesi ve çarpanlara ayırma algoritmalarının zamanla rafine edilerek daha kaliteli hale gelmeleri neticesinde, büyük anahtar boyutları kullanmanın verdiği gözdağı yavaş yavaş kriptoanalistler için önemsizleşiyor. Tablodan da, bir algoritma değişikliğinin ne kadar muazzam bir hız yükselişi sağladığını görebilirsiniz. Üstelik, GNFS`nin üzernde yapılacak bir rafinasyon işlemi sonucunda çok daha etkin bir algoritma ortaya çıkarılması çok mümkündür. Aslında, "Özel Sayı Alanı Elemesi (SNFS: Special Number Field Sieve)" adında bir algoritma, özelleştirilmiş şekli ile sayıların çarpanlarını GNFS`ye göre çok daha hızlı bulmaktadır. 9 numaralı şekilde, bu iki algoritmanın performans karşılaştırmasını görebilirsiniz. Şunun beklenmesi gereklidir ki, ani bir atakla SNFS kadar yada ondan daha hızlı çalışabilecek bir genel çarpanlara ayırma algoritması geliştirilebilir. Bu yüzden RSA`da kullanacağımız anahtar boyutunu seçerken çok dikkatli olmalıyız. Yakın bir gelecekte, 1024 yerine 2048 bitlik anahtarlar kullanılması çok da imkansız görünmüyor...

| 
 | 
Ek
olarak, algoritma geliştiricileri ve araştırmacılar, asal çarpanlarına kolayca
ayrılabilen  sayılarının
üretilmemesi için,
 sayılarının
üretilmemesi için,  ve
 ve  sayıları seçilirken
bazı kısıtlamaların göz önünde bulundurulması gerektiğini belirtiyor ve şunları
tavsiye ediyorlar:
 sayıları seçilirken
bazı kısıtlamaların göz önünde bulundurulması gerektiğini belirtiyor ve şunları
tavsiye ediyorlar: 
1.                
 ve
 ve  sayılarının
uzunlukları birbirinden sadece birkaç rakam farklı olmalı. Bu yüzden, hem
 sayılarının
uzunlukları birbirinden sadece birkaç rakam farklı olmalı. Bu yüzden, hem  hem de
 hem de  sayısı 1075
ile 10100 aralığından 
seçilmeli.
 sayısı 1075
ile 10100 aralığından 
seçilmeli.
2.                
Hem ( -1) hem de (
-1) hem de ( -1) büyük bir asal çarpan içermeli.
-1) büyük bir asal çarpan içermeli.
3. gcd(p-1,q-1) küçük olmalı.
Ayrıca,
[WIEN90 (Refernası kaybetmişim en kısazamanda ekleyeceğim)]`da da ispatlandığı üzere, eğer  ve
 ve  ise,
  ise,  kolaylıkla
hesaplanabilirdir.
 kolaylıkla
hesaplanabilirdir.
Eğer halen, bir kriptografik algoritmanın güvenliği konusunda emin olmanın ne kadar zor olduğu konusunda ders almamış birisi varsa, zaman atakları onun için çok çekici ve çarpıcı bir örnek olacaktır. Bir kriptografi uzmanı olan Paul Kocher, bir bilgisayarın şifreli bir metni çözerken harcadığı zaman dilimlerinden yararlanarak, o metnin oluşturulması esnasında kullanılan özel anahtarı hesaplayabileceğini kanıtladı (1996, Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems). Zaman atakları sadece RSA için değil, diğer açık anahtarlı kriptografik sistemler içinde uygulanabilir bir saldırı metodudur. Bu atak şu iki konu sebebiyle çok dikkat çekici: bu atak tamamiyle beklenmedik bir yönden geliyor ve, ikinciside bu sadece chipertext-only atağı (Yani sadece şifreli metnin üstünde, metin hakkında herhangi bir ek bilgi olmaksızın gerçekleştirilen atak; bu atak yöntemi normal koşullarda başarıya ulaşması en az umulan ataklardan birisidir).
Zaman atağı, bir hırsızın, soymak istediği bir kasanın parola kombinasyonunu tahmin etmek için, o kasayı açan bir kişinin çevirdiği her bir numaranın ne kadar süre aldığını dikkatle izlemesine oldukça benzemektedir. Bu atak yöntemini, modüler üs alma algoritmasını kullanarak açıklayabiliriz fakat, atak yöntemi belirlenmiş zamanlarda çalışmayan herhangi bir uygulamaya da adapte edilebilir. Bu algoritmada, her adımda, modüler üs alma işlemi bit-bit ve bir modüler çarpım işlemi gerçekleştiriliyor. Ayrıca, ekstra bir modüler çarpım işlemide değeri 1 olan her bit için yapılıyor.
Kocher`in de makalesinde belirttiği gibi, bu atağı anlamak
son derece kolay. Farzedin ki, hedef sistem çoğu koşulda çok hızlı, sadece bazı
girdiler için normalden biraz daha yavaş çalışan bir modüler çarpım algoritması
kullanıyor olsun. Atak, en soldaki bitten,  `dan başlayarak bit bit ilerlemeye başlasın. Farzedelim ki,
ilk
`dan başlayarak bit bit ilerlemeye başlasın. Farzedelim ki,
ilk  bit biliniyor.
Verilmiş bir şifreli metin için atağı gerçekleştiren kişi, ilk
 bit biliniyor.
Verilmiş bir şifreli metin için atağı gerçekleştiren kişi, ilk  adımı for
döngüsü ile bitirebilir. İşlemin sonradan gelen adımları bilinmeyen üs bitine
bağlıdır. Eğer bit set edilmişse, d
 adımı for
döngüsü ile bitirebilir. İşlemin sonradan gelen adımları bilinmeyen üs bitine
bağlıdır. Eğer bit set edilmişse, d (d x a) mod n işlemi çalışacaktır.
(d x a) mod n işlemi çalışacaktır.  ve
 ve  `nin bazı değerleri için modüler çarpım son derece yavaş
olacaktır ve atağı gerçekleştiren kişi bu bitlerin değerinin ne olduğunu
anlayacaktır.  Bu yüzden, eğer
deşifreleme algoritmasının çalışma zamanı dikkatle gözlenirse, bu algoritma
parçası her 1 bit için çalışma zamanını yavaşlatacaktır ve o an üzerinde
çalıştığı bitin değerinin 1 olduğu tahmin edilebilecektir. Aynı şekilde
algoritmanın anlık çalışma zamanı hızlıysa o anda üstünde çalışılan bitin
değerinin 0 olduğu anlaşılacaktır.
`nin bazı değerleri için modüler çarpım son derece yavaş
olacaktır ve atağı gerçekleştiren kişi bu bitlerin değerinin ne olduğunu
anlayacaktır.  Bu yüzden, eğer
deşifreleme algoritmasının çalışma zamanı dikkatle gözlenirse, bu algoritma
parçası her 1 bit için çalışma zamanını yavaşlatacaktır ve o an üzerinde
çalıştığı bitin değerinin 1 olduğu tahmin edilebilecektir. Aynı şekilde
algoritmanın anlık çalışma zamanı hızlıysa o anda üstünde çalışılan bitin
değerinin 0 olduğu anlaşılacaktır.
Pratikte, modüler üs alma tanımlamaları tüm algoritmanın çalışma zamanı üzerinde bu kadar büyük değişiklikler yaratmamaktadır, yinede algoritmalar içerisinde, bu atağı pratik hale getirecek yeterince materyal bulunmaktadır. Detaylar için Paul Kocher`in yukarda ismi verilmiş olan makalesini inceleyebilirsiniz.
Bununla beraber zaman atakları önemli bir tehlikedir. Atağı önlemek için çok basit önlemler kullanılabilir:
· Sabit üs alma zamanı: Tüm üs alma fonksiyonlarının çalışma zamanı eşit hale getirilebilir. Fonksiyonun çalışması erken bitse dahi, geriye bir değer döndürmesi bir miktar bekletilerek hepsinin çalışma zamanı belli bir değerde sabitlenebilir. Bu çok basit bir önlem olur fakat, performansı kötü yönde çok fazla etkileyecektir...
· Rastgele gecikme: Daha iyi bir performans, üs alma algoritmasına rastgele bekleme süresi eklenerek zaman atağını yanıltılmasıyla elde edilebilir. Kocher, bu rastgele değerlerin dikkatsizce seçilmesi durumunda, zaman atağı gerçekleştiren kişinin biraz daha fazla gayret göstererek yine başarıya ulaşmasının mümkün olacağına dikkat çekiyor.
· Körleştirmek: Üs alma işleminin gerçekleştirilmesinden önce, şifreli metin parçasını rastgele bir sayı ile çoğaltarak zaman atağını gerçekleştiren kişinin sağlıklı bir veri elde etmesi engellenebilir. RSA Data Security kuruluşunun geliştirdiği bir koruma yöntemi mevcuttur. RSA Data Security, bu atak yönteminin toplam performansa 2% ila 10%`luk bir kayıp getirdiğininde altını çizmekte...
Açık anahtarlı kriptografinin en önemli rollerinden birisi, anahtar dağıtımı problemine getirdiği yeniliktir. Açık anahtarlı şifreleme kullanmak için iki çok önemli neden vardır:
· Açık anahtarların dağıtımı.
· Gizli anahtarların dağıtımı için açık anahtarlı şifreleme kullanımı.
Sırayla bu iki konuyuda inceleyeceğiz.
Açık anahtarları dağıtmak için kullanılan birkaç teknik vardır. Nerdeyse tüm önerilmiş yöntemleri açağıdaki gibi gruplayabiliriz:
· Genel duyuru,
· Herkez tarafından erişilebilir adres rehberi,
· Açık anahtar yetkilisi,
· Açık anahtar sertifikası.
Açık anahtarlı şifrelemenin en önemli özelliği, açık anahtarın açık olmasıdır. Bu yüzden, eğer birisi RSA gibi bir açık anahtarlı şifreleme algoritmasının kullanımını tamamiyle kabul etmişse, bu kişi açık anahtarını bir başkasına gönderebilir ya da, bütün iletişim ağına duyurabilir. Örneğin, RSA algoritmasını kullanan PGP`nin (Pretty Good Privacy) popülaritesinin artması sonucu bir çok PGP kullanıcısı, herkese açık forumlara, USENET haber gruplarına ya da mail listelerine attıkları mesajların sonuna açık anahtarlarını eklemeyi benimsediler.
Bu
yöntemin çok kolay ve kullanışlı olmasına karşın, büyük bir yetersizliği
vardır: Herhangi birisi siz olduğunu idda ederek açık anahtarını kişilere
duyurabilir. Yani bir kullanıcı kendisini olmadığı halde  kullanıcısı gibi
tanıtabilir ve kendi açık anahtarını
 kullanıcısı gibi
tanıtabilir ve kendi açık anahtarını  kullanıcısının açık
anahtarıymış gibi kişilere ilan edebilir. Gerçek
 kullanıcısının açık
anahtarıymış gibi kişilere ilan edebilir. Gerçek  kullanıcısı
sahtekarlığın farkına varana kadar ya da bir başka kullanıcı onu uyarana dek,
sahte
 kullanıcısı
sahtekarlığın farkına varana kadar ya da bir başka kullanıcı onu uyarana dek,
sahte  kullanıcısı gerçek
 kullanıcısı gerçek  kullanıcısına
gönderilmek üzere şifrelenmiş bütün mesajları okuyabilir.
 kullanıcısına
gönderilmek üzere şifrelenmiş bütün mesajları okuyabilir.
Herkezce erişilebilir dinamik bir açık anahtar adres rehberinin iyi bir şekilde korunması ve organize edilmesiyle çok yüksek derecede güvenlik sağlanabilir. Adres rehberlerindeki anahtarların dağıtımı ve korunması güvenilir kimi kişi veya kuruluşların sorumluluğunda olmalıdır. Böyle bir hizmet tasarlanırken –en azından- aşağıdaki koşullar sağlanmış olunmalıdır:
1. Adres rehberinn her elemanı için bulunacak {ad, açık anahtar} bölümleri iyi korunmalıdır.
2. Her kullanıcı rehber yetkilileri ile bir açık anahtar kaydetmeli ve bu işlemi yüz yüze ya da kimlik kontrolü ile güvenli hale getirilmiş bir iletişim metodu ile yapmalıdırlar.
3. Herhangi bir üye adres rehberindeki genel anahtarını, bu anahtarla çok fazla verinin şifrelenmiş olmasından dolayı ya da bu anahtarla ilişkili olan özel anahtarın herhangi bir sebepten ötürü güvenilirliğini yitirmesinden ötürü istediği bir zaman yenisi ile değiştirebilmelidir.
4. Bu sistemin yönetimi, periyodik olarak adres rehberini güncellemeli, bir telefon rehberinde olduğu gibi isimleri ve genel anahtarlarının kopyasını saklamalı ve güncellemeleri, geniş bir kitleye ulaşabilen yayın organı (gazete gibi) yoluyla diğer kullanıcılara haber vermelidir.
5. Üyeler aynı zamanda adres rehberine elektronik yolla da ulaşabilmelidirler, bunun için de adres rehberinin yönetimi, gizlilik ve kimlik denetimi gerektiren güvenli bir iletişim metodu kullanılması zorunluluğunu yerine getirilmiş olmalıdır.
Bu yapının bireysel genel duyuru metodundan daha güvenli olduğu oldukça açıktır fakat, halen kimi savunmasız noktalar bulunmaktadır. Eğer bir saldırgan, adres rehberi yöneticisinin özel anahtarını bir şekilde ele geçirir ya da onu hesapsal metodlarla bulmayı başarırsa, kolay bir şekilde güvenlik engellerini aşarak kişilerin açık anahtarlarını istediği açık anahtarlar ile değiştirip, onlara gelecek olan mesajları okuyabilir, ve istediği kişiyi taklit ederek diğer üyelere onun adına mesaj atabilir.
Genel anahtar yönetimi için daha güçlü bir güvenlik, herkez tarafından erişilebilir adres defteri üzerinde daha sıkı bir kontrol uygulanması ile elde edilebilir. G. L. Popek ve C. S. Kline'ın 1979 yılında yayımladıkları "Encryption and Secure Computer Networks" isimli makaleleri baz alınarak oluşturulmuş tipik senaryo Şekil 12`de gösterilmiştir. Bu yapıda da, önceki yapıda olduğu gibi, bütün üyelerin açık anahtarlarının saklandığı ve dağıtımının yapıldığı dinamik bir merkezi rehberin varlığı söz konusu. Buna ek olarak, her üye yöneticiye ait olduğunu bildikleri bir açık anahtara sahipler. Şekil 12`de de numaralanmış olan aşağıdaki adımlar ile anahtar dağıtımı gerçekleşir:

| 
 | 
1.              
 kullanıcısı,
 kullanıcısı,  kullanıcısının şu
anki açık anahtarını öğrenmek istediğini ifade eden ve zaman ile imzalanmış
(timestamped) bir mesajı genel anahtar yöneticisine gönderir.
 kullanıcısının şu
anki açık anahtarını öğrenmek istediğini ifade eden ve zaman ile imzalanmış
(timestamped) bir mesajı genel anahtar yöneticisine gönderir.
2.              
Yönetici, kendi özel anahtarı olan  ile şifrelenmiş bir
mesajı
 ile şifrelenmiş bir
mesajı  kullanıcısına cevap
olarak gönderir. Bu sayede,
 kullanıcısına cevap
olarak gönderir. Bu sayede,  kullanıcısı bu mesajı
yöneticinin açık genel anahtarı ile deşifre eder ve bu mesajın yöneticiden
geldiğine emin olur. Mesaj aşağıdakileri ihtiva eder:
 kullanıcısı bu mesajı
yöneticinin açık genel anahtarı ile deşifre eder ve bu mesajın yöneticiden
geldiğine emin olur. Mesaj aşağıdakileri ihtiva eder:
·              
 kullanıcısının
 kullanıcısının  kullanıcısı için
mesaj yollayabilmesi için
 kullanıcısı için
mesaj yollayabilmesi için  kullanıcısının genel
anahtarı,
 kullanıcısının genel
anahtarı,
·              
Orijinal istek;  kullanıcısının,
yöneticiye gönderdiğini düşündüğü istek ile, yöneticinin aldığını bildirdiği
isteğin aynı olup olmadığını karşılaştırması için,
 kullanıcısının,
yöneticiye gönderdiğini düşündüğü istek ile, yöneticinin aldığını bildirdiği
isteğin aynı olup olmadığını karşılaştırması için,
·              
Orijinal zaman imzası; bu sayede  kullanıcısınınnın
gelen mesajın eski olmadığı ve dolayısıyla, gönderilmiş genel anahtarın
 kullanıcısınınnın
gelen mesajın eski olmadığı ve dolayısıyla, gönderilmiş genel anahtarın  kullanıcısı yerine
bir başkasının genel anahtarı olmadığından emin olması için.
 kullanıcısı yerine
bir başkasının genel anahtarı olmadığından emin olması için.
3.              
 kullanıcısı
 kullanıcısı  `nin genel anahtarını kullanarak, içierisinde
`nin genel anahtarını kullanarak, içierisinde  `nın tanımlayıcısı (
`nın tanımlayıcısı ( ) ve  bu iletişimin
tanımlayıcısı olan bir kelime (
) ve  bu iletişimin
tanımlayıcısı olan bir kelime ( ) içeren mesajı şifreler ve
) içeren mesajı şifreler ve  kullanıcısına gönderir.
 kullanıcısına gönderir.
4.              
4. ve 5. adımlarda,  kullanıcısı
 kullanıcısı  kullanıcısının genel
anahtarını öğrenmek üzere yöneticiye 1. adımda
 kullanıcısının genel
anahtarını öğrenmek üzere yöneticiye 1. adımda  `nın yaptığı gibi bir mesaj gönderir ve 1. ve 2. adımlardaki
iletişimin aynısı, yönetici ile
`nın yaptığı gibi bir mesaj gönderir ve 1. ve 2. adımlardaki
iletişimin aynısı, yönetici ile  arasında gerçekleşir.
 arasında gerçekleşir.
Bu noktaya gelindiğinde, genel anahtarlar  ve
 ve  `ye güvenli şekilde iletilmiştir. Ve artık bu kullanıcılar
kendi aralarında güvenli iletişime başlayabilirler. Yine de, ekstra iki adım
daha eklenebilir:
`ye güvenli şekilde iletilmiştir. Ve artık bu kullanıcılar
kendi aralarında güvenli iletişime başlayabilirler. Yine de, ekstra iki adım
daha eklenebilir:
5.              
 kullanıcısı
 kullanıcısı  `nın genel anahtarını kullanarak,
`nın genel anahtarını kullanarak,  `nın tanımlayıcı kelimesini (
`nın tanımlayıcı kelimesini ( ) ve kendi yarattığı yeni bir tanımlayıcı kelimeyi (
) ve kendi yarattığı yeni bir tanımlayıcı kelimeyi ( ) şifreler ve gönderir. Çünkü (3) mesajını sadece
) şifreler ve gönderir. Çünkü (3) mesajını sadece  deşifre edebilir, ve
 deşifre edebilir, ve  `nin
`nin  `i (6) mesajı ile döndürmesi,
`i (6) mesajı ile döndürmesi,  `nın konuştuğu kişinin umduğu
`nın konuştuğu kişinin umduğu  olduğundan emin
olmasını sağlayacaktır.
 olduğundan emin
olmasını sağlayacaktır. 
6.              
 kullanıcısı da
 kullanıcısı da  `nin genel anahtarı ile, içerisinde
`nin genel anahtarı ile, içerisinde  `nin bulunduğu mesajı şifreleyip
`nin bulunduğu mesajı şifreleyip  `ye gönderir ve böylece,
`ye gönderir ve böylece,  konuştuğu kişinin
umduğu
 konuştuğu kişinin
umduğu  olduğundan emin olur.
 olduğundan emin olur.
Görüldüğü gibi, toplam 7 mesaj gerekmektedir. Bununla beraber, ilk dört adım her mesajlaşma istendiğinde gerçekleştirilmeyebilir, çünkü lullanıcılar birbirlerinin genel anahtarlarını daha sonraki kullanımlar için saklayabilirler. Bir kullanıcı periyodik olarak, sürekli konuştuğu kişilerin genel anahtarlarının halen geçerli olduğundan emin olmak için genel anahtar isteğinde bulunmalıdır.
Şekil 12`de verilen yöntem çok çekici olmasına karşın hala bazı açık noktaları vardır. Genel anahtar yöneticisi, sistemin önemli bir dar boğazını teşkil etmektedir. Bir kullanıcı temasa geçmek istediği her kullanıcı için genel anahtarlarını istemek üzere yöneticiye başvurmalıdır. Yine öncekinde olduğu gibi, isim rehberi ve anahtarları, çalınmaya ya da müdahalelere karşı yönetici tarafından korunmaya çalışılmaktadır.
Alternatif bir yöntem, ilk kez L. M. Kohnfelder tarafından, 1978 yılında yayımlanan "A Method for Certification" isimli makalede sunulmuştur. Bu yönteme göre kullanıcılar sertifika kullanarak, bir genel anahtar yöneticisine başvurmadan güvenli bir yolla anahtarlarını değiştirebilmekte ve güvenli iletişime başlayabileceklerdir. Bir sertifika yöneticisi/yetkilisi tarafından oluşturulmuş sertifika, bir genel anahtarı ve ek bilgiyi içerir. Ve bu sertifika üzerindeki genel anahtara uygun özel anahtar ile beraber kullanıcıya verilir. Bir kullanıcı diğer bir kullanıcıya açık anahtarını, sertifikasını göndererek gösterir. Diğer kullanıcı da, bu sertifikanın bir otorite tarafından yaratılmış olduğunu doğrulayabilir. Bu yöntemin gerekliliklerini şu şekilde sıralayabiliriz:
1. Herhangi bir kullanıcı bir sertifikanın kullanıcısının adını ve açık anahtarını öğrenmek üzere okuyabilir.
2. Herhangi bir kullanıcı bu sertifikanın, sertifika yöneticileri tarafından oluşturuluş orijinal bir sertifika olduğunu kanıtlayabilir.
3. Sertifikaları sadece sertifika yöneticisi/otoritesi değiştirebilir ve yaratabilir.
Bu gereklilikler, Kohnfelder'in makalesinde geçen gereklilikler. Bu gerekliliklere 1983 yılında D. E. Denning tarafından 1983 yılındaki "Cryptography and Data Security" isimli makalesi ile şu gereklilik de eklenmiştir:
4. Herhangi bir kullanıcı bir sertifikanın geçerliliğini kanıtlayabilir.
Bir sertifika şeması Şekil 13`te gösterilmiştir. Her kullanıcı bir genel anahtara ve bir sertifikaya sahip olmak üzere sertifika yöneticisine başvurmalıdır. Başvurular yüz yüze, ya da kimlik denetimi ve gizlilik sağlanması ile güvenli hale getirilmiş bir iletişim yöntemi ile gerçekleştirilmelidir.

| 
 | 
Sertifika
yöneticisi/otoritesi, bir  kullanıcısı için
sertifikayı şu şekilde oluşturur:
 kullanıcısı için
sertifikayı şu şekilde oluşturur:

burada  , sertifika otoritesi tarafından kullanılmış olan özel
anahtardır.  Daha sonra
, sertifika otoritesi tarafından kullanılmış olan özel
anahtardır.  Daha sonra  kullanıcısının
sertifikasını gönderdiği bir kullanıcı, sertifikayı şu şekilde okur ve
doğrular:
 kullanıcısının
sertifikasını gönderdiği bir kullanıcı, sertifikayı şu şekilde okur ve
doğrular:

kullanıcı,
sertifikayı deşifre etmek için, otoritenin açık anahtarını kullanır. Çünkü
sertifika sadece otoritenin açık anahtarı kullanıldığı taktirde okunabilir hale
gelebilir; bu da sertifikanın geldiği yerin gerçekten sertifika otoritesi
tarafından oluşturulduğunu kanıtlar.  ve
 ve  , elemanları, kullanıcıya,
, elemanları, kullanıcıya,  kullanıcısının
tanımlayıcı bilgilerini ve genel anahtarını sunar. Son olarak
 kullanıcısının
tanımlayıcı bilgilerini ve genel anahtarını sunar. Son olarak  zaman pulu da,
sertifikanın son geçerli olabileceği tarihi gösterir.
 zaman pulu da,
sertifikanın son geçerli olabileceği tarihi gösterir. 
Bu koşullar altında, bir özel anahtarın tehlikeye düşmesi ile bir kredi kartının kaybedilmesi birbirine benzetilebilir. Kredi kartı kaybedildiğinde, sağlayıcısından işlemlerinin durdurulması istenir, fakat bunda geç kalındığı taktirde sorunlar yaşanabilir.
Açık anahtarlar dağıtıldığında ya da erişilebilir hale geldiğinde, iki kişi arasındaki iletişim güvenlik altına alınmış olacaktır. Buna rağmen, bazı kullanıcılar, kimi sebeplerden ötürü, gizli veri transferi için geleneksel şifreleme yöntemlerini kullanmak istiyor olabilirler. Bu durumda, geleneksel şifrelemenin gizli anahtarlarının dağıtımı için açık anahtarlı şifreleme yöntemleri çok iyi bir araç olacaklardır.
Bunun
için Şekil 14`te de gösterilmiş son derece basit bir örnek, 1979 yılında R. C. Merkle
tarafından ifade edildi. Eğer  ,
,  ile bir iletişim
içerisine girmek istiyorsa, aşağıdaki prosedür kullanılabilir:
 ile bir iletişim
içerisine girmek istiyorsa, aşağıdaki prosedür kullanılabilir:
1.               
 bir açık/özel anahtar
çifti olan
 bir açık/özel anahtar
çifti olan  `yı yaratır ve
`yı yaratır ve  kullanıcısına
 kullanıcısına  ve
 ve  `nın tanımlayıcısı olan
`nın tanımlayıcısı olan  `yı içeren bir mesaj gönderir.
`yı içeren bir mesaj gönderir.
2.               
 bir gizli
anahtar üretir
 bir gizli
anahtar üretir  , ve bunu,
, ve bunu,  kullanıcısına
 kullanıcısına  şeklinde
şifreledikten sonra gönderir.
 şeklinde
şifreledikten sonra gönderir. 
3.               
 ,
,  `yi
hesaplar ve gizli anahtarı elde eder. Yanlız
`yi
hesaplar ve gizli anahtarı elde eder. Yanlız  mesajı deşifre edebilecek ve
 mesajı deşifre edebilecek ve  gizli anahtarı sadece
 gizli anahtarı sadece  ve
 ve  tarafından bilinecektir.
 tarafından bilinecektir.
4.               
 ,
,  ve
 ve  `yı,
`yı,  `de
`de  `yı
görevleri bittiğinden dolayı yok eder.
`yı
görevleri bittiğinden dolayı yok eder.

| 
 | 
Artık  ve
 ve  geleneksel şifreleme
ve oturum anahtarı
 geleneksel şifreleme
ve oturum anahtarı  ile güvenli şekilde
iletişim kurabilirler. İletişimin sona ermesi ile beraber iki kullanıcıda
oturum anahtarını yok ederler. Bu yöntem, basitliğine karşın çok hoş bir
protokoldür. İletişimin başlamasından önce hiçbir anahtarın olmadığı gibi,
iletişimin sonunda da geriye hiçbir anahtar kalmaz. Bu sayede, anahtarların
güvenliğini tehlikeye düşürecek riskler minimuma indirgenmiş olur. Aynı zamanda
iletişim, pasif ataklara karşı da güvenlik altında gerçekleşmiş olur.
 ile güvenli şekilde
iletişim kurabilirler. İletişimin sona ermesi ile beraber iki kullanıcıda
oturum anahtarını yok ederler. Bu yöntem, basitliğine karşın çok hoş bir
protokoldür. İletişimin başlamasından önce hiçbir anahtarın olmadığı gibi,
iletişimin sonunda da geriye hiçbir anahtar kalmaz. Bu sayede, anahtarların
güvenliğini tehlikeye düşürecek riskler minimuma indirgenmiş olur. Aynı zamanda
iletişim, pasif ataklara karşı da güvenlik altında gerçekleşmiş olur. 
Fakat, bu yöntem, aktif ataklara
karşı savunmasız kalmaktadır. Eğer bir rakip  , iletişim kanalının akışına müdahale etme şansına sahipse,
bu kişi, tespit edilmesi için herhangi bir iz bırakmadan aşağıdaki şekilde
iletişimin güvenliğine gölge düşürebilir:
, iletişim kanalının akışına müdahale etme şansına sahipse,
bu kişi, tespit edilmesi için herhangi bir iz bırakmadan aşağıdaki şekilde
iletişimin güvenliğine gölge düşürebilir:
1.                
 bir açık/özel anahtar
çifti olan
 bir açık/özel anahtar
çifti olan  `yı yaratır ve
`yı yaratır ve  kullanıcısına
 kullanıcısına  ve
 ve  `nın tanımlayıcısı olan
`nın tanımlayıcısı olan  `yı içeren bir mesaj gönderir.
`yı içeren bir mesaj gönderir.
2.                
 , iletişimi durdurup, kendi özel/açık anahtar cifti olan
, iletişimi durdurup, kendi özel/açık anahtar cifti olan  `yi oluşturur ve
`yi oluşturur ve  ikilisini
 ikilisini  kullanıcısına
gönderir.
 kullanıcısına
gönderir. 
3.                
 bir gizli
anahtar üretir
 bir gizli
anahtar üretir  , ve bunu,
, ve bunu,  kullanıcısına
 kullanıcısına  şeklinde
şifreledikten sonra gönderir.
 şeklinde
şifreledikten sonra gönderir.
4.                
 , iletişimi durdurur ve
, iletişimi durdurur ve  hesaplaması
ile gizli anahtarı öğrenir.
 hesaplaması
ile gizli anahtarı öğrenir.
5.                
 kullanıcısı,
 kullanıcısı,  mesajını
 mesajını  kullanıcısına
gönderir.
 kullanıcısına
gönderir.

| 
 | 
Sonuçta şu gerçekleşmiş olur, hem  kullanıcısı, hem de
 kullanıcısı, hem de  kullanıcısı gizli
anahtarı bilirler fakat bu anahtardan
 kullanıcısı gizli
anahtarı bilirler fakat bu anahtardan  `nin de haberdar olduğunu bilmezler. Dolayısıyla,
`nin de haberdar olduğunu bilmezler. Dolayısıyla,  ve
 ve  ,
,  gizli anahtarını
kullanarak mesajlaşmaya başlarlar.
 gizli anahtarını
kullanarak mesajlaşmaya başlarlar.  `nin artık kanala aktif şekilde müdahale etmesine gerek
yoktur; basit şekilde mesaj trafiğini dinleyip, elindeki gizli anahtar
yardımıyla mesajları deşifreleyecek,
`nin artık kanala aktif şekilde müdahale etmesine gerek
yoktur; basit şekilde mesaj trafiğini dinleyip, elindeki gizli anahtar
yardımıyla mesajları deşifreleyecek,  ve
 ve  kullanıcısının bu
problemden haberi olmayacaktır. Böylece, bu basit iletişim sadece, tek
tehlikenin ağın pasif olarak dinlenilmesi olduğu ortamlarda kullanılabilir.
 kullanıcısının bu
problemden haberi olmayacaktır. Böylece, bu basit iletişim sadece, tek
tehlikenin ağın pasif olarak dinlenilmesi olduğu ortamlarda kullanılabilir.
Şekil 15, N. M. Reedham ve M. D. Shroede'in 1978 yılında yayınladıkları "Using Encryption for Authentication in Large Networks of Computers" isimli çalışmalarında
işaret edilen, hem aktif hem de pasif ataklara karşı güvenlik sağlayan
yaklaşımı ifade etmektedir. Başlamadan önce,  ve
 ve  `nin önceki kısımda açıkladığımız herhangi bir yöntem
kullanarak açık anahtarlarını birbirlerine ulaştırdıklarını varsayıyoruz. Bunun
sonrasında şu adımlar gerçekleşir:
`nin önceki kısımda açıkladığımız herhangi bir yöntem
kullanarak açık anahtarlarını birbirlerine ulaştırdıklarını varsayıyoruz. Bunun
sonrasında şu adımlar gerçekleşir: 
1.                 
 kullanıcısı,
 kullanıcısı,  `nin açık anahtarını kullanarak, içerisinde
`nin açık anahtarını kullanarak, içerisinde  `nın bir tanımlayıcısı olan
`nın bir tanımlayıcısı olan  ve bu iletişimi özel
olarak ifade etmek üzere bir nonce
 ve bu iletişimi özel
olarak ifade etmek üzere bir nonce  içeren mesajı
şifreler ve
 içeren mesajı
şifreler ve  `ye gönderir.
`ye gönderir. 
2.                 
 kullanıcısı,
 kullanıcısı,  `nın açık anahtarını kullanarak, içerisinde
`nın açık anahtarını kullanarak, içerisinde  `nın gönderdiği nonce
`nın gönderdiği nonce  ve
 ve  `nin
`nin  gibi hazırladığı yeni
bir nonce`u
 gibi hazırladığı yeni
bir nonce`u  içeren mesajı
şifreler ve
 içeren mesajı
şifreler ve  `ya gönderir. Bu şekilde
`ya gönderir. Bu şekilde  ,
,  kullanıcısının
kimliğinden emin olur çünkü birinci mesajı deşifreleyebilecek tek kişi
 kullanıcısının
kimliğinden emin olur çünkü birinci mesajı deşifreleyebilecek tek kişi  `dir.
`dir.
3.                 
 ,
,  `nin de emin olması için
`nin de emin olması için  `yi
`yi  `nin açık anahtarı ile şifreleyip kendisine gönderir.
`nin açık anahtarı ile şifreleyip kendisine gönderir.
4.                 
 bir gizli anahtar
belirler
 bir gizli anahtar
belirler  ve
 ve  şeklinde oluşturduğu
mesajı
 şeklinde oluşturduğu
mesajı  `ye gönderir. Mesajın,
`ye gönderir. Mesajın,  `nin açık anahtarı ile şifrelenmesi, bu mesajı sadece
`nin açık anahtarı ile şifrelenmesi, bu mesajı sadece  `nin okuyabileceğini,
`nin okuyabileceğini,  `nın özel anahtarı ile şifrelenmiş olması da bu mesajın
sadece
`nın özel anahtarı ile şifrelenmiş olması da bu mesajın
sadece  tarafından
gönderilebileceğini garantiler.
 tarafından
gönderilebileceğini garantiler.
Dikkat etiyseniz, bu yöntemin ilk üç adımı, Şekil 12`de gösterilen yöntemin son üç adımıyla aynıdır. Sonuç olarak, bu yöntem gizli anahtarların dağıtımı esnasında hem güvenliği hemde kimlik doğrulamayı sağlar.
Gizli anahtarların açık anahtarlı şifreleme yapılarından yararlanılarak dağıtılmasının bir diğer yolu da, halen IBM mainframe`leri üzerinde kullanılan hibrit yapısıdır. Bu yöntem, tüm kullanıcı oturumlarında kullanılacak gizli oturum anahtarlarını bir asıl anahtar ile şifreleyerek dağıtacak olan bir anahtar dağıtım merkezi (KDC: Key Distribution Center) kullanır ve bu merkez gizli asıl anahtarları tüm kullanıcılara paylaştırır. Asıl anahtarların dağıtımı için de açık anahtarlı bir yöntem kullanılır. Aşağıdaki açıklama, bu üç seviyeli yöntemin kullanımını açıklamaktadır.
· Performans: Sık sıkanahtar anahtar değiştiren mesajlaşmadan ziyade özellikle işlem yapma amaçlı bir çok uygulama vardur. Oturum anahtarlarının açık anahtarlı şifreleme yöntemi ile dağıtılması, açık anahtarlı şifreleme ve deşifreleme esnasında hesaplamaların oldukça karmaşık olmasından dolayı sistemin büyük ölçüde performans kaybetmesine neden olmaktadır. Bir üç seviye hiyerarşisi ile, açık anahtarlı şifreleme sadece, aradasırada güncellenmesi gereken asıl anahtar (master key)`ın kullanıcılara dağıtılması esnasında gerçekleşir.
· Geriye doğru uyumluluk: Hibrit yöntemi kolay bir şekilde mevcut olan KDC (anahtar dağıtım merkezi) üzerine inşa edilebilir.
Bir açık anahtar katmanının eklenmesi, güvenlik ve asıl anahtarların dağıtımı esnasında yüksek verim sağlar. Bu yöntem, bir KDC`nin bir çok kullanıcıya anahtar dağıttığı durum için büyük bir avantaj getirecektir.
İnsanlığa ilk duyurulan açık anahtar algoritması, Diffie ve Hellman`ın açık anahtarlı kriptografi olarak tanımladıkları 1976 yılında yayımlanmış "New Directions in Cryptography" isimli makalelerinde yer aldı ve bu algoritma kriptografik sisteme örnek olarak Diffie-Hellman Key Exchange idi. Bir çok ticari uygulama bu anahtar değişimini kullandı.
Algoritmanın amacı, iki kullanıcının bir anahtarı güvenli şekilde birbirlerine iletmeleri ve daha sonrasında da bu anahtar yardımı ile şifreli mesajları birbirlerine gönderebilmelerini sağlamaktı. Algoritma anahtar değişimi ile sınırlıdır.
Diffie-Hellman algoritması
efektifliğifliğini, ayrık logaritmik ifadelerin hesaplanmasının zorluğundan
almaktadır. Kısaca, ayrık logaritmayı şu şekilde tanımlayabiliriz: Önce, bir
asal sayı olan  `nin öyle bir pirimitiv kökünü seçeriz ki, bu sayının
kuvvetleri 1`den
`nin öyle bir pirimitiv kökünü seçeriz ki, bu sayının
kuvvetleri 1`den  `e kadar olan tüm tam sayıları yaratabilir.Eğer
`e kadar olan tüm tam sayıları yaratabilir.Eğer  , asal sayı olan
, asal sayı olan  `nin pirimitiv kökü ise, bu durumda sayılar
`nin pirimitiv kökü ise, bu durumda sayılar

sayıları
birbirinden farklı, ve  `den
`den  `e kadar olan tam sayıları bir permütasyonla oluştururlar.
`e kadar olan tam sayıları bir permütasyonla oluştururlar.
Herhangi bir tamsayı  ve asal sayı olan
 ve asal sayı olan  `nin bir pirimitiv kökü olan
`nin bir pirimitiv kökü olan  için, aşağıdaki
eşitliği sağlayacak bir tane ve sadece bir tane olan
 için, aşağıdaki
eşitliği sağlayacak bir tane ve sadece bir tane olan  üssü bulunabilir:
 üssü bulunabilir:
 
     koşulunu sağlayan.
 koşulunu sağlayan.
 üssü,
 üssü,  merkezindeki
 merkezindeki  `nin, ayrık logaritması ya da indexi olarak adlandırılır ve inda.b(b)
notasyonu ile ifade edilir.
`nin, ayrık logaritması ya da indexi olarak adlandırılır ve inda.b(b)
notasyonu ile ifade edilir.
 
| 
 | 
Bu altyapıyıda anladıktan sonra,
Şekil 16`da ifade edilmiş olan Diffie-Hellman anahtar değişimini
açıklayabiliriz. Bu yöntemde, herkezce bilinen iki sayı vardır: bir asal sayı
olan  ve bu sayının
pirimitiv kökü olan
 ve bu sayının
pirimitiv kökü olan  . Diyelim ki bir anahtarı değiştirmek isteyen
. Diyelim ki bir anahtarı değiştirmek isteyen  ve
 ve  adında iki kullanıcı
var.
 adında iki kullanıcı
var.  kullanıcısı
 kullanıcısı  olacak şekilde
rastgele bir
 olacak şekilde
rastgele bir  tamsayısı seçer ve,
 tamsayısı seçer ve,  değerini hesaplar.
Benzer şekilde
 değerini hesaplar.
Benzer şekilde  kullanıcısı diğer
kullanıcan bağımsız şekilde
 kullanıcısı diğer
kullanıcan bağımsız şekilde  olacak şekilde bir
olacak şekilde bir  tamsayısı seçer ve o
da,
 tamsayısı seçer ve o
da,  değerini hesaplar.
Her iki kullanıcıda
 değerini hesaplar.
Her iki kullanıcıda  değerini özel olarak
saklar ve
 değerini özel olarak
saklar ve  değerini diğer taraf
ile paylaşır.
 değerini diğer taraf
ile paylaşır.  kullanıcısı anahtarı
 kullanıcısı anahtarı  ,
,  kullanıcısı da,
 kullanıcısı da,  şeklinde hesaplarlar.
Bu iki hesaplamanın sonucunun birbiri ile aşağıdaki modüler aritmetik kuralları
ile ispatlanabilir:
 şeklinde hesaplarlar.
Bu iki hesaplamanın sonucunun birbiri ile aşağıdaki modüler aritmetik kuralları
ile ispatlanabilir:

Bu sayede, iki tarafta bir gizli
anahtarı değişmiş olur. Ayrıca,  ve
 ve  `nin gizli olmasından dolayı, herhangi bir saldırgan çalışmak
için sadece şu değerleri bilir:
`nin gizli olmasından dolayı, herhangi bir saldırgan çalışmak
için sadece şu değerleri bilir:  . Örneğin bir saldırganın
. Örneğin bir saldırganın  kullanıcısına ait
olan gizli anahtarı bulmak için aşağıdaki hesaplamayı yapması gerekir:
 kullanıcısına ait
olan gizli anahtarı bulmak için aşağıdaki hesaplamayı yapması gerekir:
 inda,q(
inda,q( )
)
Bu
hesaplamanın başarısı sonrasında saldırgan gizli anahtarı  kullanıcısının
hesapladığı gibi hesaplayabilecektir.
 kullanıcısının
hesapladığı gibi hesaplayabilecektir.
Burada, [SEBE89 (Referansı kaybetmişim, en kısa zamanda ekleyeceğim)] çalışmasından
alınmış bir örnek var. Anahtar değişimi için asal sayı olan  ve pirimitiv kökü
olarakta
 ve pirimitiv kökü
olarakta  alınmış.
 alınmış. ve
 ve  kullanıcısı da gizli
anahtarlarını
 kullanıcısı da gizli
anahtarlarını  ve
 ve  olarak seçmişler.
İkisi de açık anahtarlarını şu şekilde hesaplarlar:
 olarak seçmişler.
İkisi de açık anahtarlarını şu şekilde hesaplarlar:

Açık anahtarlarını değiştikten sonra, gizli anahtarlarını da şu şekilde hesaplarlar:

{50,44} bilgisine sahip olan bir saldırgan, 75 değerini kolayca hesaplayamayacaktır. Ve bu hesapsal zorluk seçilen sayıların büyüklüğü ile orantılı olarak artacaktır.
Şekil 17, Diffie-Hellman
hesaplamasını basit şekilde ifade etmektedir. Diffie-Hellman algoritmasının LAN
(yerel network) kullanıcıları arasında kullanımı için bir diğer örnekte şu
şekilde verilebilir: Diyelim ki bu ağ altında çalışan her kullanıcı dayanıklı
ve uzun birer  ve buna bağlı genel
bir
 ve buna bağlı genel
bir  hesaplamış olsunlar.
Kişilerin açık anahtarları ve herkezce bilinen
 hesaplamış olsunlar.
Kişilerin açık anahtarları ve herkezce bilinen  ve
 ve  değerleri herkezin
erişebileceği merkezi bir rehberde tutulduğu taktirde, herhangi bir anda bir
 değerleri herkezin
erişebileceği merkezi bir rehberde tutulduğu taktirde, herhangi bir anda bir  kullanıcısı
mesajlaşmak istediği bir
 kullanıcısı
mesajlaşmak istediği bir  kullanıcısının açık değerine
ulaşabilecek ve onun için şifrelediği mesajı kendisine gönderebilecektir. Eğer
merkezi rehber güvenilir ise, bu iletişim gizliliği ve kimlik denetimini
sağlamış olacaktır. Tüm bunlara rağmen bu teknik, aktif tekrarlama gibi
ataklara karşı korumasız kalmaktadır.
 kullanıcısının açık değerine
ulaşabilecek ve onun için şifrelediği mesajı kendisine gönderebilecektir. Eğer
merkezi rehber güvenilir ise, bu iletişim gizliliği ve kimlik denetimini
sağlamış olacaktır. Tüm bunlara rağmen bu teknik, aktif tekrarlama gibi
ataklara karşı korumasız kalmaktadır.

| 
 | 
Açık anahtarlı kriptografi kullanan standartların ve ürünlerin hemen hemen hepsi, şifreleme ve dijital imza için RSA kullanmaktadır. Daha önceki bölümlerde de gördüğümüz gibi RSA`nın güvenli kullanımı için, çalışılan bit uzunlukları zaman içerisinde büyümüş ve dolayısıyla RSA kullanan uygulamalar üzerine büyük bir hesapsal ağırlık getirmiştir. Özellikle büyük sayıların transferini güvenlik içinde gerçekleştirmesi gereken ticari siteler bundan çok fazla etkilenmişlerdir. Son zamanlarda, RSA`ya karşı rakip olarak geliştirilmiş bir sistem ortaya atıldı: Eliptik Eğri Kriptografisi (ECC). ECC, şimdiden açık anahtarlı kriptografi için öngörülmüş IEEE P1363 standartlarını yerine getiriyor.
ECC`nin RSA`ya karşı en büyük avantajı, daha küçük bitler kullanılarak yapılan işlemlerin RSA gibi yüksek güvenlik sağlayabilmesi, bunun sayesinde kullanıcıların şifreleme ve deşifreleme esnasında hesaplamalar için harcadıkları efor azalıyor. Diğer bir taraftan da, hernekadar ECC`nin teorisi kısa bir süre önce ortaya atıldıysa da, ECC kullanan ürünler kısa süre içerisinde kendisini göstermeye başladı ve bu ürünler üzerinde yapılan güvenlik testleri ECC`nin henüz RSA`nın sağladığı kadar yüksek bir güvenlik sağlayamadığını gösterdi.
ECC`nin matematiksel teorisinin açıklanması RSA ya da Diffie-Hellman teorilerinin açıklanmasından daha zordur ve, tam matematiksel açıklaması bu yazıda verilmeyecektir; bu kısım ECC ve eliptik kriptografi üstüne küçükte olsa bir altyapı oluşturmak üzere hazırlanmıştır.

| 
 | 
Eliptik eğriler elips değildirler [:)]. Bu şekilde adlandırılmalarının sebebi, bir elipsin çemberinin hesaplanması için kullanınan kübik denkliklere benzer ifadeler ile gösterilmeleridir. Genel olarak, eliptik eğriler için kübik denklemler aşağıdaki formdadır:

bu
denklemdeki  ve
 ve  sayıları reel
sayılardır ve bazı basit koşulları sağlarlar. Ayrıca, eliptik eğrinin
tanımlamasında, daha sonra daha ayrıntılı şekilde inceleyeceğimiz, sonsuzluk
yada sıfır nokta adı verilen bir
 sayıları reel
sayılardır ve bazı basit koşulları sağlarlar. Ayrıca, eliptik eğrinin
tanımlamasında, daha sonra daha ayrıntılı şekilde inceleyeceğimiz, sonsuzluk
yada sıfır nokta adı verilen bir  notasyonu vardır. En
büyük dereceli üs 3 olduğundan dolayı bu tip denklemler kübik olarak
adlandırılırlar. Şekil 18 iki eliptik eğri örneği göstermektedir. Gördüğünüz
gibi formüller bazen garip görünüşlü eliğptik eğriler doğurmaktadırları...
 notasyonu vardır. En
büyük dereceli üs 3 olduğundan dolayı bu tip denklemler kübik olarak
adlandırılırlar. Şekil 18 iki eliptik eğri örneği göstermektedir. Gördüğünüz
gibi formüller bazen garip görünüşlü eliğptik eğriler doğurmaktadırları...
Eğer bir eliptik eğrinin 3
noktası düz bir çizgi üzerinde bulunuyorsa, bunlar  olarak özetlenir. Bu
açıklamadan yola çıkarak, bir eliptik eğri için şu kuralları tanımlayabiliriz:
 olarak özetlenir. Bu
açıklamadan yola çıkarak, bir eliptik eğri için şu kuralları tanımlayabiliriz:
1.               
Elptik eğri üzerindeki herhangi bir  noktası için,
 noktası için,  olur.
 olur.
2.               
Bir dikey çizgi, aynı  değeri için eliptik
eğriyi
 değeri için eliptik
eğriyi  ve
 ve  gibi iki noktasında
kesiyorsa, Bu çizgi aynı zamanda eliptik eğriyi sonsuzluk noktasında da
kesiyordur. Bu yüzden,
 gibi iki noktasında
kesiyorsa, Bu çizgi aynı zamanda eliptik eğriyi sonsuzluk noktasında da
kesiyordur. Bu yüzden,  ve
 ve  olur. Böylece bir
noktanın negatifi,
 olur. Böylece bir
noktanın negatifi,  ekseni üzerinde aynı
değeri alacak şekilde bir noktadır ve bu noktanın
 ekseni üzerinde aynı
değeri alacak şekilde bir noktadır ve bu noktanın  ekseni üzerindeki
değeri ilk noktanın negatiflisidir. Bunu Şekil 18`de de görebilirsiniz.
 ekseni üzerindeki
değeri ilk noktanın negatiflisidir. Bunu Şekil 18`de de görebilirsiniz.
3.               
  koodrinatı farklı olan
 koodrinatı farklı olan  ve
 ve  noktası seçip bu iki noktadan geçen düz bir
çizgi çizdiğimizde kesişimin üçüncü noktası olan
 noktası seçip bu iki noktadan geçen düz bir
çizgi çizdiğimizde kesişimin üçüncü noktası olan  `i buluruz.
Ve cok kolay bir şekilde görülebilir ki,
`i buluruz.
Ve cok kolay bir şekilde görülebilir ki,  noktası sadece bir tanedir (eğer çizdiğimiz
doğru,
 noktası sadece bir tanedir (eğer çizdiğimiz
doğru,  veya
 veya  noktalarından
birisinden teğet geçiyorsa bu durumda
noktalarından
birisinden teğet geçiyorsa bu durumda  veya
 veya  alırız). Bu durumda
 alırız). Bu durumda  ve dolayısıyla
 ve dolayısıyla  olacaktır. 18 numaralı şekli inceleyiniz.
 olacaktır. 18 numaralı şekli inceleyiniz.
4.               
Bir  noktasını çift katlı yapmak için, bir teğet
çizgisi çizip eğriyi kestiği diğer noktayı buluruz. Eğer bu noktaya
 noktasını çift katlı yapmak için, bir teğet
çizgisi çizip eğriyi kestiği diğer noktayı buluruz. Eğer bu noktaya  diyecek olursak
 diyecek olursak  eşitliği sağlanır.
 eşitliği sağlanır.
ECC için, eliptik eğrilerin, "sonlu alanlardaki
eliptik eğriler" olarak tanımlanan bir formu ile ilgileneceğiz. Bu şu şekilde
gösterilir:  bir asal sayı olsun ve
 bir asal sayı olsun ve  ve
ve  ,
,  `den küçük,
negatif olmayan iki tam sayı olsun:
`den küçük,
negatif olmayan iki tam sayı olsun:

Bu durumda,  ,
,  `nin
`nin  `den küçük negatif olmayan tam sayılar olduğu durum için,
`den küçük negatif olmayan tam sayılar olduğu durum için,  sonsuz noktası ile
beraber şu eşitliği ifade eder:
 sonsuz noktası ile
beraber şu eşitliği ifade eder: 
 (1)
                                (1)
Örneğin,  ve eliptik eğrimiz de
 ve eliptik eğrimiz de
 olsun. Bu durumda,
 olsun. Bu durumda,  olur. Bu durumda, 4 x 13 + 27 x 12
(mod 23) = 8
 olur. Bu durumda, 4 x 13 + 27 x 12
(mod 23) = 8  0, bizim
eliptik grubumuzun mod 23`e göre durumunu gösterir.
0, bizim
eliptik grubumuzun mod 23`e göre durumunu gösterir.
Önceki paragrafta gösterilen eşitlik, 6
şeklindeki ikinci grafik ile aynıdır. Eliptik grup için sadece (mod p`den
dolayı), (0, 0)-(p, p) aralığında olan pozitif tamsayılar ile denklem
oluştururuz. Tablo 4`te, E23(1, 1) için  dışındaki noktaları listenmiştir. Genel
olarak liste aşağıdaki yolla oluşturulmuştur:
 dışındaki noktaları listenmiştir. Genel
olarak liste aşağıdaki yolla oluşturulmuştur:
1.              
 koşulunu sağlayan her
 koşulunu sağlayan her  değeri için
 değeri için  denklemi hesaplanmıştır.
 denklemi hesaplanmıştır.
2.              
Önceki
adımın her sonucu için, sonucun  `ye göre
çift katlı kökü olup olmadığına bakılır, eğer yoksa  bu
`ye göre
çift katlı kökü olup olmadığına bakılır, eğer yoksa  bu  değeri için,
 değeri için,  `nin bir
değeri yoktur. Aksi taktirde, çift katlı kök koşulunu sağlayan iki adet
`nin bir
değeri yoktur. Aksi taktirde, çift katlı kök koşulunu sağlayan iki adet  vardır (
 vardır ( `nin 0
olduğu durum haricinde). Bu (x,y) değerleri
`nin 0
olduğu durum haricinde). Bu (x,y) değerleri  `nin
noktalarıdır.
`nin
noktalarıdır.
Tablo 4 - E23(1, 1) Eliptik eğrisi için noktalar.
| (0, 1) | (6, 4) | (12, 19) | 
| (0, 22) | (6, 19) | (13, 7) | 
| (1, 7) | (7, 11) | (13, 16) | 
| (1, 16) | (7, 12) | (17, 3) | 
| (3, 10) | (9, 7) | (17, 20) | 
| (3, 13) | (9, 16) | (18, 3) | 
| (4, 0) | (11, 3) | (18, 20) | 
| (5, 4) | (11, 20) | (19, 5) | 
| (5, 19) | (12, 4) | (19, 18) | 
 için bahsedilmiş kurallar, Şekil 18`deki
geometrik şekil ile uyuşmaktadır. Kurallar, her
 için bahsedilmiş kurallar, Şekil 18`deki
geometrik şekil ile uyuşmaktadır. Kurallar, her  olacak şekilde alınan noktalar için aşağıdaki
gibi gösterilebilir:
 olacak şekilde alınan noktalar için aşağıdaki
gibi gösterilebilir:
1.                
 .
.
2.                
Eğer 
 ise,
 ise,  olur.
 olur.  noktası,
 noktası,  `nin negatifidir ve
`nin negatifidir ve  olarak gösterilir.
Diyelim ki,
 olarak gösterilir.
Diyelim ki,  Şekil 18b şeklinde
gösterilen
 Şekil 18b şeklinde
gösterilen  eliptik eğrisi
üzerinde bir nokta. Örneğin,
E23(1, 1)` de
 eliptik eğrisi
üzerinde bir nokta. Örneğin,
E23(1, 1)` de  alalım. Bu durumda
 alalım. Bu durumda  olacaktır. Fakat –7 mod 23 e göre 16
ettiğinden dolayı, bizim
 olacaktır. Fakat –7 mod 23 e göre 16
ettiğinden dolayı, bizim  noktamız aslında, yine E23(1,
1)`de yer alan (13,16) noktasıdır.
 noktamız aslında, yine E23(1,
1)`de yer alan (13,16) noktasıdır.
3.                
Eğer  ve
 ve  ise ve
 ise ve  ise, bu durumda,
 ise, bu durumda,  şu kuralla hesaplanır:
 şu kuralla hesaplanır:


 için koşul,
 için koşul,

ECC`deki toplama işlemi ile RSA`daki modüler çarpım işlemi ve çoklu toplama işlemi ile de, RSA`daki modüler üs alma işlemi birbirlerine çok benzemektedir. Eliptik eğriler kullanan bir kriptografik sistem oluşturabilmek için, bir sayıyı iki asal çarpanına ayırmak ya da ayrık logaritma almak gibi zor bir problem bulmamız gerekmektedir.
Diyelim ki,  ve
 ve  iken,
 iken,  olsun.
 olsun.  ve
 ve  verildiğinde
 verildiğinde  değerini hesaplamak nispeten kolay olduğu
halde,
 değerini hesaplamak nispeten kolay olduğu
halde,  ve
 ve  verildiğinde
 verildiğinde  değerini hesaplamak gerçekten çok zordur.
 değerini hesaplamak gerçekten çok zordur.
Bu kısımda, ECC`ye lezzetini veren iki yöntemi inceleyeceğiz.
Eliptik eğriler kullanılarak anahtar değişimi
aşağıdaki şekilde yapılabilir. Önce  olacak şekilde bir
 olacak şekilde bir  asal sayısı ve 1 denklemindeki eliptik eğri
parametreleri olan
 asal sayısı ve 1 denklemindeki eliptik eğri
parametreleri olan  ve
 ve  seçilsin. Bu, eliptik noktalar grubu olan
 seçilsin. Bu, eliptik noktalar grubu olan  `yi
oluşturdu. Sonrasında
`yi
oluşturdu. Sonrasında  içerisinden, başlangıç noktası (generator
point) olacak olan
 içerisinden, başlangıç noktası (generator
point) olacak olan  seçilsin.
 seçilsin.  `nin serçilmesindeki en önemli kriter,
`nin serçilmesindeki en önemli kriter,  eşitliğini sağlayan
en küçük
 eşitliğini sağlayan
en küçük  değerinin çok bir
büyük bir asal sayı olması gerekliliğidir. Artık
 değerinin çok bir
büyük bir asal sayı olması gerekliliğidir. Artık  ve
 ve  , kriptosistemin tüm katılımcılarca bilinecek parametreleri
oldular.
, kriptosistemin tüm katılımcılarca bilinecek parametreleri
oldular.
Bir  ve
 ve  kullanıcısı
arasındaki anahtar değişimi aşşağıdaki gibi gerçekleşir:
 kullanıcısı
arasındaki anahtar değişimi aşşağıdaki gibi gerçekleşir:
1.               
 ,
,  `den küçük bir
`den küçük bir  tamsayısı seçer. Bu
 tamsayısı seçer. Bu  `nın özel anahtarıdır. Daha sonra
`nın özel anahtarıdır. Daha sonra  ,
,  hesabıyla
 hesabıyla  `nin bir noktası olan kendi açık anahtarını oluşturur.
`nin bir noktası olan kendi açık anahtarını oluşturur.
2.               
 `de aynı metodla kendi açık anahtarı
`de aynı metodla kendi açık anahtarı  `yi oluşturur.
`yi oluşturur.
3.               
 gizli anahtarı
 gizli anahtarı  ile,
 ile,  `de gizli anahtarı
`de gizli anahtarı  ile elde eder.
 ile elde eder.
Üçüncü aşamadaki iki hesaplamanın sonucuda aynıdır. Çünkü,
 eşitliği mevcuttur.
 eşitliği mevcuttur.
Bu yönteme bir atak gerçekleştirmek isteyen
saldırgan, verilmiş  ve
 ve  değerlerinden yola
çıkara
 değerlerinden yola
çıkara  değerini hesaplamak
isteyecektir ve bu çok zordur.
 değerini hesaplamak
isteyecektir ve bu çok zordur.
Bu konuda bir örnek verelim:  olarak alalım
 olarak alalım  , eliptik eğri
, eliptik eğri  ve
 ve  olsun. Hesapladığımız
taktirde görürüz ki,
 olsun. Hesapladığımız
taktirde görürüz ki,  olacaktır.
 olacaktır.  `nın özel anahtarı
`nın özel anahtarı  ve bu durumda bu
kullanıcının genel anahtarı
 ve bu durumda bu
kullanıcının genel anahtarı  .
.   `nin özel anahtarı
`nin özel anahtarı  ve bu durumda bu
kullanıcının genel anahtarı
 ve bu durumda bu
kullanıcının genel anahtarı  . Bu koşullar altında paylaşılmış gizli anahtar
. Bu koşullar altında paylaşılmış gizli anahtar  olur.
 olur.
Görüldüğü gibi, anahtar iki parçadan oluşuyor.
Eğer bu anahtar geleneksel şifreleme için bir oturum anahtarı olarak
kullanılacaksa, sadece bir sayının yaratılması gerekir. Basit olarak sadece  koordinatını ya da
 koordinatını ya da  koordinatını anahtar
olarak kullanabiliriz.
 koordinatını anahtar
olarak kullanabiliriz.
Literatürde, eliptik eğriler yardımıyla
şifreleme/deşifreleme yapan bir çok yöntem bulunmaktadır. Biz burada elbette en basitini inceleyeceğiz. Bu
sistem içerisindeki ilk görev, plaintext mesaj olan  `yi, bir
x-y koordinı ile belirlenmiş
`yi, bir
x-y koordinı ile belirlenmiş  noktası şeklinde göndermek üzere encode
etmektir. Bu
 noktası şeklinde göndermek üzere encode
etmektir. Bu  noktası bir chipertext gibi şifrelenecek daha
sonrasında da deşifre edilecektir. Bir mesajı x ya da sadece y koordinat noktası
olarak basitçe encode edemeyiz çünkü, 
tüm olası noktalar
 noktası bir chipertext gibi şifrelenecek daha
sonrasında da deşifre edilecektir. Bir mesajı x ya da sadece y koordinat noktası
olarak basitçe encode edemeyiz çünkü, 
tüm olası noktalar  içinde bulunmayabilir. Elbette bu encode
işlemi içinde bir çok yöntem mevcut fakat burada bu yöntemlerden
bahsetmeyeceğiz.
 içinde bulunmayabilir. Elbette bu encode
işlemi içinde bir çok yöntem mevcut fakat burada bu yöntemlerden
bahsetmeyeceğiz.
Anahtar değişimi sisteminde olduğu gibi şifreleme
/ deşifreleme sistemi de parametre olarak bir  noktası ve bir
 noktası ve bir
 eliptik
grubuna ihtiyaç duyar. Her bir kullanıcı, bir
 eliptik
grubuna ihtiyaç duyar. Her bir kullanıcı, bir  özel anahtarı seçer ve
 özel anahtarı seçer ve  ile bir açık anahtar üretir.
 ile bir açık anahtar üretir.
 gibi bir mesajı şifrelemek ve bir
 gibi bir mesajı şifrelemek ve bir  kullanıcısına göndermek isteyen bir
 kullanıcısına göndermek isteyen bir  kullanıcısı, rastgele pozitif bir
 kullanıcısı, rastgele pozitif bir  tam sayısı seçer ve
 tam sayısı seçer ve  chipertextinin noktalarını aşağıdaki şekilde
elde eder:
 chipertextinin noktalarını aşağıdaki şekilde
elde eder:

 kullanıcısının
şifreleme esnasında
 kullanıcısının
şifreleme esnasında  `nin açık anahtarı olan
`nin açık anahtarı olan  `den yararlandığına dikkat ediniz.
`den yararlandığına dikkat ediniz.   aşağıdaki şekilde
mesajı deşifre eder:
 aşağıdaki şekilde
mesajı deşifre eder:

 ,
,  mesajını, ona
 mesajını, ona  ekleyerek maskeledi.
 ekleyerek maskeledi.  değerini bilmeyen
kimse
 değerini bilmeyen
kimse  `nın uyguladığı maskeyi kaldıramaz. Bunun yanında
`nın uyguladığı maskeyi kaldıramaz. Bunun yanında  ,
,  özel anahtarını bilen
bir kişinin maskeyi kaldırabilmesi için bir ipucu bırakmaktadır.
 özel anahtarını bilen
bir kişinin maskeyi kaldırabilmesi için bir ipucu bırakmaktadır.
ECC`nin güvenliği,  ve
 ve  verildiğinde
 verildiğinde  değerini elde etmenin
zorluğuna bağlıdır. Bu durum, eliptik eğri logaritması problemi olarak
adlandırılır. Eliptik eğri logaritması alan bilinen en hızlı teknik Pollard rho
(rho=eşkenar dörtgen) yöntemidir. Tablo 5`te, eliptik eğri metodu ile RSA`daki
tamsayının iki asal çarpanına generalized number field sieve yöntemi ile
ayrılması esnasında gereken hesapsal efor karşılaştırılmıştır. Tablodan da anlaşılacağı
üzere, RSA`nın sağladığı direnci ECC, çok daha düşük anahtar boyutları ile
sağlamakadır. Bu yüzden ECC, düşük anahtar boyutu ile sağladığı yüksek
güvenlik sayesinde RSA`ya karşı büyük bir hesapsal üstünlük sağlamaktadır.
 değerini elde etmenin
zorluğuna bağlıdır. Bu durum, eliptik eğri logaritması problemi olarak
adlandırılır. Eliptik eğri logaritması alan bilinen en hızlı teknik Pollard rho
(rho=eşkenar dörtgen) yöntemidir. Tablo 5`te, eliptik eğri metodu ile RSA`daki
tamsayının iki asal çarpanına generalized number field sieve yöntemi ile
ayrılması esnasında gereken hesapsal efor karşılaştırılmıştır. Tablodan da anlaşılacağı
üzere, RSA`nın sağladığı direnci ECC, çok daha düşük anahtar boyutları ile
sağlamakadır. Bu yüzden ECC, düşük anahtar boyutu ile sağladığı yüksek
güvenlik sayesinde RSA`ya karşı büyük bir hesapsal üstünlük sağlamaktadır.

| 
 |