Açık Anahtarlı Şifreleme, GPG Public Key ve Private Key Nedir?

İçerik Tablosu

  1. Simetrik Şifreleme
  2. GPG Nedir?
  3. Public Key (Açık anahtar)
  4. Private Key (Gizli anahtar)

Simetrik Şifreleme

Açık anahtarlı şifrelemeye geçmeden önce basit, güvenliği daha az olan simetrik şifrelemenin mantığına değinelim.

Kriptoloji ile ilgilenen herkes sezar şifreleme yöntemini duymuştur. Hikayesine burada değinmmeyeceğiz ancak nasıl işlediğini bilmenizde fayda var. Elinizde bir alfabe ve şifrelenmesi gereken bir metin olduğunu düşünün. Şifrelenmesi gereken metnin her harfi için alfabedeki konumundan 3 ilerisi ya da duruma göre 3 gerisi seçilir ve şifreli metin bu şekilde oluşturulur. Bu metni deşifre etmek için ise şifrelerken yapılan işlemin tersi uygulanır. Yani şifrelerken alfabedeki konumdan 3 ileri gidildi ise deşifre ederken de alfabeden 3 geri konuma gidilir. İşte simetrik kavramı da buradan gelmektedir.

Asimetrik şifreleme işleminde ise böyle bir durum söz konusu değildir. Eğer derin matematiğine bakarsak aslında yine bir simetri, yapılan işlemin tersini alma görürüz. Fakat bu öyle basit değildir. Hatta bilgisayar kullanmadan çözülmesi imkansızdır.

GPG Nedir?

Açık anahtarlı şifreleme işlemini yapabilmek için birtakım yazılımlar kullanıyoruz. Bunlardan en yaygın olarak kullanılanı GPG (GNU Privacy Guard) ismiyle bilinen araçtır. Ansayfasına buradan bakabilirsiniz. GPG hemen her GNU Linux dağıtımıyla yüklü gelmektedir. Ancak Windows sistemlerde kullanmak için resmi sayfasından indirme yapmanız gerekmekte.

Public Key (Açık anahtar)

GPG ile anahtar oluşturulduğunda ortaya biri açık anahtar ve diğeri gizli anahtar olmak üzere iki anahtar çıkar. Bunlardan ‘açık’ diye tabir edileni diğer insanlarla paylaşabileceğiniz, ‘umumi’ olarak da bilinen anahtardır. Bu anahtar sayesinde insanlar, size göndermek istedikleri mesajaları yalnızca sizin deşifre edebileceğiniz biçimde şifreleyebilirler. Hatta kendileri bile bu mesajı deşifre edemezler. ‘Public Key’ ile şifrelenmiş bir metni ancak aynı çiftin ‘Private Key’ olarak bilinen gizli anahtarı çözebilir.

Private Key (Gizli anahtar)

GPG ile anahtar oluşturulduğunda ortaya iki anahtar çıktığından söz ettik. Bunlardan birisi yalnızca sizin elinizde olması gereken, halka açık olmayan anahtardır. ‘Private Key’, ‘hususi anahtar’, ‘gizli anahtar’ biçimlerinde söylenirler. Private Key, kendi anahtar çifti olan Public Key ile şifrelenmiş metni deşifre edebilir. Unutmayın, her anahtar çifti yalnızca kendi eşinin şifresini çözebilir. Bu anahtarlar birbirnin tam zıttıdır, açık anahtar ile şifrelenmiş metni gizli anahtar çözebildiği gibi gizli anahtar ile şifrelenmiş metni de açık anahtar çözebilir.



Şimdi düşünelim. Açık anahtarı herkesle paylaşabileceğimizden söz ettik ve gizli anahtarımız ile şifrelediğimiz metni bu açık anahtarın çözebildiğini söyledik. Eğer açık anahtarı herkesle paylaşıyorsak bu işin gizliliği nerede kaldı? Sonuçta şifrelediğim metni eline geçiren herkes deşifre edebilir olacak. İşte böyle bir durumdan kaçınmak için tek başına bir anahtar çifti yerine iletişim kuran iki tarafında anahtar çifti kullanılır. Açıklayalım.

İletişim kuracak iki kişi olsun, bunlar A ve B kişileri. A ve B Public Key’lerini birbirlerine veriyor. Private Key’ler ise kimse ile paylaşılmıyor. Hatta A ve B Public Key’lerini isterlerse herkese verebilirler. A kişisi, B kişisine gizli bir mesaj yollamak istiyor. Bu durumda önce mesajı kendi Private Key’i ile şifreliyor. Ortaya çıkan şifreli metni de B kişisinin Public Key’ini kullanarak tekrar şifreliyor. Yani toplamda iki aşamadan geçmiş oluyor. B kişisi haricinde bu mesajı kimse okuyamaz oldu. Çünkü metnin deşifre edilebilmesinin önünde B kişisinin Private Key’i var. Önce onunla deşifre edilmesi ve ardından A kişisinin Public Key’i ile yeniden deşifre edilmesi gerekmekte. Bu sebeple bu iki kişi arasındaki iletişim tamamen gizli kalmış oluyor.

Kimi uygulamalarda uçtan uca şifreleme şeklinde ifadeler görürüz. İşte bahsedilen şey bu şifreleme yöntemidir. Uçtan uca, yani A kişisinden B kişisine kadar kimse bu metni deşifre edemez.