PGP, yerine koyma ve kaydırma olarak çevirme çalıştığımız her iki kriptografik yöntemi de kullanan Halka Açık Anahtarla Şifreleme (Public Key Encryption ) sistemidir. Hatırlanacağı üzere DES ve IDEA gibi yöntemlerde şifrelemeye/deşifrelemeye esas olan anahtarın/anahtarların güvenli birn şekilde alıcı ve verici arasında değiş tokuşu sözkonusu idi.
Halka Açık Anahtar sisteminin en büyük avantajı, anahtarların alıcı ve verici arasında değiş tokuşu için güvenli bir kanala ihtiyaç duymamasıdır. Bununla birlikte, bir kez kapatılan veya şifrelenen dosya, ancak ve ancak alıcısının özel anahtarı ile açılabilmekte veya deşifre edilebilmektedir. "Halka açık anahtar"ı herkesin bilmesinde sakınca olmadığı gibi, herkeste bulunmasında yarar da bulunmaktadır. "Kişiye özel anahtar"ın ise kesinlikle gizli tutulması zorunludur. Bu iki anahtar üretilirken, halka açık anahtardan yararlanılarak kişiye özel anahtarın belirlenmesine olanak vermemek esas alınmıştır.
PGP ile mail alışverişini gösteren bu grafik, karmaşık gibi görünse de,
Windows 95 için geliştirilen PGP'nin son versiyonu bizden sadece alıcıyı
seçmemizi ve şifremizi girmemizi istiyor. Bütün bu işlemler, tamamen otomatik
olarak çok hızlı bir şekilde arka planda gerçekleşiyor
Biz Ahmet ve Mehmet örneğini verdik. Grafik PGP'nin homepage'inden
alındığı için onlar da Alice ve Bob isimlerini kullanmayı uygun görmüşler
PGP'nin İç Dünyası
Şifreleme programları, şifrenin başkası tarafından "kırılamaması" halinde bir anlam ifade edeceğinden PGP bu amaçla IDEA ve RSA yöntemlerini aynı anda karşılıklı olarak kullanmaktadır.
PGP, halka açık anahtarın üretilmesi amacıyla RSA algoritmasından yararlanıyor. RSA ile asimetrik şifreleme her ne kadar güvenli ise de, çok zaman almaktadır. Dijital imza ile oluşturulan kontrol verileri RSA ile şifrelenmektedir. Böyle güvenlik sağlanmış hem de zamandan kazanılmış olunuyor. Bütün metnin RSA ile şifrelenmesi çok zaman alacağından PGP bu amaçla IDEA yöntemini kullanıyor. IDEA ile şifreleme, aynı anahtarın birden fazla kullanılmaması halinde güvenlidir.
İşte bu nedenle PGP, bu zayıf olan bu noktayı ortadan kaldırmak için herbir e-mailin şifrelenmesi sırasında apayrı tek bir defalık (session key) üretmektedir. Şifreleme işlemi sırasında bütün açık metin sıkıştırılıyor ve bir defalık anahtarla IDEA yöntemine göre şifreleniyor. Bir defalık anahtar tekrar kullanılmadığından bu yol oldukça güvenlidir. Fakat alıcının maili deşifre edebilmesi için bu bir defalık anahtarın kendisine iletilmesi gerekmektedir. Bu nedenle bir defalık anahtar RSA yöntemiyle alıcının halka açık anahtarı birlikte kullanılarak şifreleniyor ve IDEA yöntemiyle şifrelenmiş olan metne ekleniyor. Alıcıda ise PGP, RSA yöntemiyle oluşturulmuş kişiye özel anahtar ile bir defalık anahtar deşifre edilmekte ve sonra bu anahtarla metin deşifre edilmekte ve sonuçta metindeki sıkıştırma kaldırılmaktadır.
Doğal olarak bir çok kullanıcıya oldukça karmaşık
gelebilecek bütün bu işlemlerin PGP tarafından tamamen otomatik olarak
arka planda gerçekleştirildiğini ve kullanıcının sıkıştırma, bir defalık
anahtar vs ile tek tek uğraşmasına gerek kalmadığını tekrar belirtmekte
yarar var.