Ana içeriğe atla

Kriptoloji Serisi - 1: Temel Kriptoloji Terminolojisi ve Kitap Tavsiyeleri


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)



  • Wade Trappe, Lawrence Washington - Introduction to Cryptography with Coding Theory (Pearson Education)



Umarım faydalı olmuştur. Bir sonraki yazıda görüşmek üzere!

Bu blogdaki popüler yayınlar

MATEMATİK OLİMPİYATLARINA HAZIRLIK: SAYILAR TEORİSİ DERS VİDEOLARI

Matematik Olimpiyatları için Sayılar Teorisi video eğitimine hoş geldiniz! Bu eğitim serisi Prof. Dr. Mustafa Özdemir tarafından yazılmış Matematik Olimpiyatlarına Hazırlık 3 - Sayılar Teorisi kitabından olimpiyatlara ilk adımı birlikte atabilmemiz için özenle seçtiğim çeşitli ülkelerin olimpiyat sorularının çözümlerini içermektedir. Sayılar teorisini 8 başlıkta ele alıyoruz: Bölünebilme Asal Sayılar ve Çarpım Fonksiyonları En Büyük Ortak Bölen ve En Küçük Ortak Kat Modüler Aritmetik Modüler Aritmetiğin Özel Teoremleri: Fermat, Euler, Wilson ve Çin Kalan Teoremleri Denklikler Tam Sayılarda Denklem Çözümleri Tam Değer Fonksiyon Bu videolar özellikle TÜBİTAK, AÜMO gibi matematik olimpiyatlarına yönelik olsa da matematik bölümü öğrencileri de bu videolardan elbette yararlanabilir.   Eğer bu videoların hepsini doğru bir şekilde bitirirseniz, Matematik olimpiyatlarının sistemini ve bu sistemin günümüz matematik eğitimine göre farklarını görecek, gerçek matematiği yapabilmenin tadını çıkar

PYTHON PROGRAMLAMAYA ÇOK HIZLI BİR GİRİŞ

Python Kodlama Platformları OnlineGDB:  https://www.onlinegdb.com/ Google Colab:  https://colab.research.google.com/ Eğer bilgisayarınıza yazılım kurmak isterseniz: PyCharm:  https://www.jetbrains.com/pycharm/download/  (OnlineGDB alternatifi) Anaconda:  https://www.anaconda.com/products/distribution  (Google Colab alternatifi) Ücretsiz Python Eğitimleri (Sertifikalı) BTK Akademi Eğitimleri: https://www.btkakademi.gov.tr/portal/course/sifirdan-ileri-seviye-python-programlama-5877 https://www.btkakademi.gov.tr/portal/course/veri-bilimi-icin-python-ve-tensorflow-11705 Turkcell Geleceği Yazanlar Eğitimleri: https://gelecegiyazanlar.turkcell.com.tr/konu/egitim/python-programlama-101/pythona-giris https://gelecegiyazanlar.turkcell.com.tr/konu/ileri-python Global AI Hub Eğitimi: https://globalaihub.com/courses/introduction-to-python-turkish/ Diğer Bağlantılar Python Türkçe Dokümantasyon:  https://docs.python.org/tr/3/index.html ChatGPT:  https://chat.openai.com/chat/