25/02/2024
Herkese merhaba!
Serinin ilk yazısında temel kriptoloji terminolojisini tanıtacağım. Ayrıca literatürü kolaylıkla takip edebilmeniz adına kavramları İngilizceleriyle birlikte vereceğim. Yazının sonunda bazı kitap tavsiyelerim bulunmaktadır. Faydalı olmasını dilerim.
İsterseniz kriptoloji hakkında hazırlamış olduğum yoğun içerikli videoyu da izleyebilirsiniz:
https://www.youtube.com/watch?v=_Xc84ISoG1w
Hazırsanız başlayalım!
Kriptoloji (Cryptology): Matematiğin gizli yazılar veya şifreli belgeler ile ilgilenen alt dalıdır (kısaca şifrelerin bilimi diyebiliriz). İki alt başlık altında incelenmektedir:
- Kriptografi (Cryptography): Verilerin güvenli bir şekilde şifrelenmesi ile ilgilenir ve bu amaca yönelik çözümler önerir.
- Kriptanaliz (Cryptanalysis): Şifreli verilerin çözülmesi, kırılması ve önerilen çözümlerin güvenlik analizi ile ilgilenir.
Not 1: Kriptoloji kelimesinin yerine kriptografi kelimesinin kullanılabildiğini görebilirsiniz. Doğru kullanıma dikkat ediniz.
Not 2: Kriptoloji, hatta özellikle "kripto" kelimesini duyunca aklınıza ilk gelen kripto paralar oluyorsa bu normaldir. Şüphesiz bu alanın meşhur olmasında kripto paraların emeği büyük. Ancak yine de hatırlamakta fayda var, kripto paralar gücünü kriptolojiden almaktadır. https://www.cryptoisnotcryptocurrency.com sitesinin de söylediği üzere:
KRİPTO, KRİPTO PARA DEMEK DEĞİLDİR ಠ_ಠ
KRİPTOGRAFİYİ İFADE EDER
Not 3: Başlangıç aşamasında sade bir giriş olması açısından kriptolojinin yalnızca "güvenli/şifreli iletişim (secure/encrypted communication)" yönünü ele almayı tercih edeceğiz.
Kriptoloji Uygulamaları: Günümüzde kriptoloji, şifreli iletişimden çok daha fazlasıdır ve şifreli iletişim dışında da birçok farklı uygulaması bulunmaktadır. Ancak bu uygulamaları ve detaylarını gelecekteki yazılarda ele almak daha uygun olacaktır. Bazı uygulamalar aşağıda verilmiştir:
- Dijital İmzalar (Digital Signatures)
- Kimlik Belirleme (Identification)
- Anahtar Kurulumu (Key Establishment)
- Sır Paylaşımı (Secret Sharing)
- Güvenlik Protokolleri (Security Protocols)
- Dijital Para (Digital Currency)
Temel Şifreli İletişim Akışı Şeması: Aşağıdaki kavramları öğrenip şemayı anlamaya çalışınız.
- Gönderici (Sender): Şifreli veriyi gönderen taraftır.
- Alıcı (Receiver): Şifreli veriyi alan taraftır.
- Şifreleme (Encryption): Bir veriyi anlaşılması zor bir forma çevirme işlemidir.
- Şifre Çözme/Deşifreleme (Decryption): Şifreleme işlemi sonucunda elde edilen verinin tekrar eski ve anlaşılır haline çevrilmesi işlemidir.
- Kriptosistem/Şifre (Cryptosystem/Cipher): Şifreleme ve şifre çözme işlemlerinde kullanılan algoritma veya algoritmalar bütünüdür.
- Düz Metin (Plaintext): Şifreleme işlemi uygulanan veya şifre çözme işlemi sonucu elde edilen veridir.
- Şifreli Metin (Ciphertext): Şifreleme işlemi sonucu elde edilen veya şifre çözme işlemi uygulanan veridir.
- Anahtar (Key): Şifreleme ve şifre çözme işlemlerinde kullanılan sembol veya semboller dizisidir.
Bir Şifreli İletişim Örneği:
- Ön anlaşma süreci: Alice ile Bob, şifreli iletişimi afin (affine) şifreleme algoritması altında K=(27,26) anahtarını kullanarak gerçekleştirmek üzere anlaşmışlardır. (Not: Afin şifreleme yönteminin detaylarını şu an için es geçip olaya sadece girdi-çıktı anlayışı ile yaklaşacağız. Sonraki yazılarda -afin şifreleme de dahil olmak üzere- bazı şifreleme algoritmalarını matematiksel detaylarıyla birlikte ele alacağız.)
- Şifreleme işlemi: Alice, Bob'a "UMS OTUZ BEŞ" düz metnini şifreleyip göndermek istesin. Alice, düz metni afin şifreleme yöntemi altında K=(27,26) anahtarı ile şifrelediğinde "GÜK SHGZ UNİ" şifreli metnini elde etmiş ve ardından Bob'a bu şifreli metni iletmiştir.
- Şifre çözme işlemi: Bob, Alice'ten "GÜK SHGZ UNİ" şifreli metnini almıştır. Bob, K=(27,26) anahtarını kullanarak şifre çözme işlemini yapar ve "UMS OTUZ BEŞ" düz metnine ulaşır. Böylece şifreli iletişim gerçekleşmiş olur.
Özetle,
- Düz Metin: "UMS OTUZ BEŞ"
- Kriptosistem/Şifre: Afin Şifreleme
- Anahtar: (27,26)
- Şifreli Metin: "GÜK SHGZ UNİ"
Not: Şifre ve şifreli metin kavramları arasındaki farka dikkat ediniz.
Şimdilik terminolojiyi tanımak adına bu kapalı örnek yeterli olacaktır, ancak bu terminolojiyi hep kullanacağımızı belirtmek isterim. Ele alacağımız açık örneklerle bu kavramlar çok daha net anlaşılacaktır.
Kriptoloji Öğrenmek İçin Bazı Kitap Tavsiyeleri: Burada önerdiğim kitaplar dışındaki kitapları da araştırabilirsiniz. İşte benim tavsiyelerim (benim açımdan bu kitaplar kriptoloji alanında ilk üç sıradadır):
- Prof. Dr. Gülçin Çivi Bilir - Caesar'ın Anahtarı: Geçmişten Günümüze Klasik Şifreleme Yöntemleri (İTÜ Yayınevi)
- Bu kitabın yeri, 2 yıl süren yazım sürecine matematik bölümünden sınıf arkadaşım İlayda Altınkol ile yoğun çalışmalar yaparak katkı sağlamış olmamız (mizanpaj, grafik tasarım, olimpiyat düzeyinde soru yazımı vb.) açısından bende apayrıdır. Bir araştırma kitabı niteliği taşımakla birlikte 40 klasik şifreleme algoritmasını matematiksel detaylarıyla içeren oldukça kapsamlı ve edebi yönü güçlü bir kitaptır. Bu açıdan kitabın bu alandaki önemli bir boşluğu kapattığını düşünüyorum.
- Kitap hakkında detaylı bilgi: https://ituyayinevi.itu.edu.tr/yayinlar/caesarinanahtari
- Tanıtım videosu: https://www.youtube.com/watch?v=v2D7TUQ102w
- Simon Singh - Şifre Kitabı: Antik Mısır'dan Kuantum Bilgisayarlara Gizlilik Bilimi (Buzdağı Yayınevi)
- Verdiği tarihsel bilgiler ile roman tadında okunabilecek kıymetli bir kitap olduğunu düşünüyorum. Bu eşsiz kitabın Türkçe çevirisinin bulunması da gerçekten çok güzel.
- Kitap hakkında detaylı bilgi: https://buzdagiyayinevi.com/sifre-kitabi-antik-misirdan-kuantum-bilgisayarlara-gizlilik-bilimi/
- Wade Trappe, Lawrence Washington - Introduction to Cryptography with Coding Theory (Pearson Education)
- İngilizce yazılmış, ancak benim yoğun ve sürekli bir şekilde çalıştığım mükemmel bir kitap. Klasikten moderne matematiksel detaylarıyla birçok algoritmayı ele almakla birlikte kodlama teorisini de içeriyor. Anlatım tarzını çok başarılı buluyorum.
- Kitap hakkında detaylı bilgi: https://www.pearson.com/en-us/subject-catalog/p/introduction-to-cryptography-with-coding-theory/P200000006384/9780135260166
Umarım faydalı olmuştur. Bir sonraki yazıda görüşmek üzere!