Bu bölümde ve sonraki derslerde, metin dosyalarını, e-postaları şifrelemek ve şifrelerini çözmek için Pjp'yi
nasıl kullanacağınızı göstereceğim ve ayrıca dosyaların, e-postaların ve benzerlerinin bütünlüğünü imzalamak ve doğrulamak için de kullanacağız.
Bu şekilde güvenli bir şekilde iletişim kurabileceğiz çünkü gönderilecek ve alınacak her şey şifrelenecek
ve gönderilen verilerin bütünlüğünü doğrulayabileceğiz.
Böylece gönderdiğimiz her şeyi imzalayabileceğiz ve alıcı da bu verilerin gerçekten bizden gönderildiğini
ve üzerinde oynanmadığını doğrulayabilecek.
Şimdi, şifreleme ve bütünlüğü doğrulamak için BGP'yi kullanmamızın nedeni, bunun zaman
testine dayanan ve henüz kırılmamış çok güçlü bir şifreleme olmasıdır.
Hatta sızdırılan raporlara göre, devlet kurumları bile henüz bunu kıramamış gibi görünüyor.
Yani PJP oldukça iyi şifreleme anlamına gelse de bu çok çok güçlü bir şifrelemedir.
Bu ifade aslında alaycıdır çünkü bu çok güçlü ve kuvvetli bir şifrelemedir.
Şimdi, bu derste size Pjp'nin genel olarak nasıl çalıştığını açıklamak istiyorum.
Sonraki derslerde ise bunu her türlü veriyi şifrelemek için nasıl kullanabileceğimizi ve bütünlüğü imzalamak ve doğrulamak
için nasıl kullanabileceğimizi göreceğiz.
Şimdi Pjp bir açık anahtar veya bir asimetrik şifrelemedir.
Bunun nasıl çalıştığını anlamak için önce diğer geleneksel şifreleme türü olan simetrik şifrelemeye
bir göz atalım.
David ve John adında iki kişinin olduğu bir örnek verelim.
Nasıl iletişim kuracaklarını unutacağız.
David'in John'a bir mesaj göndermek istediğini varsayacağız.
Ve bu mesajın içeriği gizli mesajdır.
Şimdi, David mesajını bu mesajı kesebilecek ya da okuyabilecek herhangi birinden korumak
istiyorsa, bu mesajı şifrelemek için bir şifreleme anahtarı kullanabilir ve bu da mesajı anlamsız hale
getirecektir.
Daha sonra bu mesajı e-posta, posta veya kısa mesaj olarak göndermek suretiyle herhangi bir yöntem kullanarak
John'a gönderebilir.
Gerçekten önemli değil.
Ve eğer bu mesaj ele geçirilirse, mesajın içeriği anlamsız olacaktır.
Yani bunu ele geçiren kişi için faydalı olmayacaktır.
John mesajı alacak.
Mesajı açacak.
Mesaj yine de anlamsız olacaktır.
Ve sonra John aynı şifreleme anahtarını kullanarak bu mesajın şifresini çözecek ve gizli mesaj olan içeriğini
ortaya çıkaracaktır.
Çok, çok basit.
Temel olarak, David mesajı şifrelemek için bir anahtar kullanır.
John şifresini çözmek için aynı anahtarı kullanır ve bu şekilde her ikisi de mesajı okuyabilir.
Ancak anahtara sahip olmayan hiç kimse mesajı okuyamayacaktır.
Yani Davut ve Yuhanna tarafından aynı anahtar kullanılır.
Bu nedenle, bu simetrik şifreleme olarak bilinir.
Şimdi, muhtemelen şimdiye kadar tahmin etmişsinizdir.
Bu anahtarın özel olması gerekir.
Bu yüzden gizli anahtar olarak bilinir, çünkü bu anahtarı ele geçirmeyi başaran herhangi biri, David'in John'a gönderdiği
herhangi bir mesajın şifresini çözebilir ve bunun tersi de geçerlidir.
Şu ana kadar söylediğimiz her şeye dayanarak, gizli anahtarın mesajların şifresini çözmek için kullanılabileceğini görebiliriz.
Bu nedenle sır olarak saklanmalıdır.
Ancak David bir şekilde bunu John ve David'in iletişim kurmak istediği diğer herkesle paylaşmak zorundadır.
Bu nedenle, bu simetrik şifrelemede büyük bir kusurdur çünkü anahtarın gizli olması gerekir, ancak aynı zamanda paylaşılması
gerekir ve daha fazla kişiyle paylaşılması saldırı yüzeyini artırır, gerçek anahtarın paylaşılması
sorunundan bahsetmeye bile gerek yok.
Bunu nasıl paylaşacağız?
Ayrı bir mesaj olarak mı göndereceğiz?
Ya bu mesaj ele geçirilirse?
Ya internet üzerinden bir şeyler gönderiyorsak ve verilerimizin kaç atlamayla geçebileceğini biliyorsak?
Bu ele geçirilebilir, okunabilir ve ardından iletişimimizin geri kalanının şifresi çözülebilir.
Bu, daha güvenli bir şifreleme bulmak için ana teşvikti ve asimetrik veya açık anahtar şifrelemenin
geldiği yer burasıdır.
Şimdi Davut'un Yuhanna'ya bir mesaj göndermek istemesine geri dönelim.
Mesajın içeriği ise gizli mesaj ve asimetrik şifrelemedir.
Mesajı şifrelemek için bir anahtar kullanılır.
Mesaj havada gönderilir ve ardından mesajın şifresini çözmek için başka bir anahtar kullanılır.
Gördüğünüz gibi bu şifrelemede iki farklı anahtar kullanılır ve bu nedenle asimetrik şifreleme olarak adlandırılır.
Şimdi bu iki anahtar bir anahtar çifti olarak adlandırılır.
Matematiksel olarak ilişkilidirler.
Biri mesajı şifrelemek için, diğeri ise şifreyi çözmek için kullanılır.
Bu nedenle, şifre çözme anahtarı asla paylaşılmaz ve bu yüzden daha güvenlidir.
Şimdi şifre çözme anahtarı hiç paylaşılmıyorsa, bu nasıl çalışacak diye düşünüyorsunuz.
Peki, geri dönelim ve bunun nasıl çalışacağına daha yakından bakalım.
David yine Yuhanna'ya bir mesaj göndermek ister.
Mesajın içeriği gizli mesajdır.
Ancak bu mesajı göndermeden ve şifrelemeden önce John bir anahtar çifti, bir açık anahtar ve bir özel anahtar
oluşturacaktır.
Dediğim gibi, bu anahtarlar matematiksel olarak birbirine bağlıdır ve John açık anahtarı David'e, mesajı
gönderecek kişiye gönderecektir.
Böylece açık anahtar herhangi biriyle paylaşılabilir.
Aslında bunu internette, önemli dizinlerde herkese açık hale getirebilirsiniz.
Gerçekten önemli değil çünkü özel anahtarı belirlemek için kullanılamaz.
Bu nedenle, açık anahtarı paylaşmak tamamen güvenlidir.
Böylece David açık anahtarı alır.
Mesajı şifrelemek için açık anahtarı kullanır.
Mesaj herhangi bir yöntem kullanılarak gönderilir.
Gerçekten önemli değil.
Ve ele geçirilse bile, anlamsız olacak.
John mesajı alacak.
Mesajı açacak.
Mesaj hala anlamsız olacaktır, ancak bu mesajın şifresini çözmek için özel anahtarı kullanacaktır.
Bu şekilde gizli mesajın içeriğini öğrenecektir.
Ve gördüğünüz gibi, özel anahtar asla paylaşılmadı.
John özel anahtarı oluşturdu ve John özel anahtarı sakladı.
Paylaşılan tek şey, özel anahtarı belirlemek için kullanılamayan ve mesajın şifresini çözmek
için kullanılamayan açık anahtardır.
Yalnızca mesajı şifrelemek için kullanılabilir.
Yani iletişimin sonunda David, John'un açık anahtarına sahip olacak ve John da onların özel anahtarını
elinde tutacak.
Dolayısıyla artık David her zaman John'a mesaj gönderebilir ve John da kendi özel anahtarını kullanarak
bu mesajların şifresini çözebilir.
Sadece bu da değil, David John'un açık anahtarıyla bir şey şifrelediğinde, John dışında kimsenin bu mesajın
şifresini çözemeyeceğinden emin olabilir, çünkü özel anahtara sahip olan tek kişi John'dur
ve onun özel anahtarı asla paylaşılmamalıdır.
Eğer John ne yaptığını biliyorsa, çünkü bunu paylaşmanın bir anlamı yoktur, 100 kişinin ona mesaj göndermesini
istese bile, tek yapması gereken özel anahtarını değil açık anahtarını paylaşmaktır.
Şimdi, eğer Yuhanna David'e bir şey göndermek isteseydi, aynı şey ters yönde de yapılabilirdi.
Böylece David bir anahtar çifti oluşturacaktır.
John'a açık anahtarını gönderecek ve ardından John mesajları şifrelemek için David'in açık anahtarını kullanacaktır.
David bunları aldığında, şifrelerini çözmek için kendi özel anahtarını kullanacaktır.
Yani fikir çok ama çok basit.
Genel anahtarınızı paylaşırsınız, bu nedenle özel anahtarı belirlemek için kullanılamayacağı ve mesajların şifresini
çözmek için kullanılamayacağı için tamamen güvenli olan genel adı verilir.
Yani açık anahtarı paylaşırsınız ve size bir mesaj göndermek isteyen herhangi biri, bu mesajı kendi açık
anahtarınızla şifreler ve bu şekilde bu mesajın şifresini çözebilecek tek kişi siz olursunuz.
Aynı şey başka bir mesaj göndermek istediğinizde de geçerlidir.
Örneğin, bana bir mesaj göndermek istiyorsanız, tek yapmanız gereken bu mesajı benim açık anahtarımla
şifrelemektir.
Ve bu şekilde, özel anahtarımı kimseyle paylaşmadığım için, mesajı okuyabilecek tek kişi ben olacağım.
Yani bu mesajı her yere koyabilirsiniz.
Herkese açık olarak paylaşabilirsiniz ve yine de güvenli olacaktır çünkü bu mesajı benden başka kimse okuyamayacaktır.