7 Kriptosistemin Formal Tanımı
Matematiksel şifreleme algoritmalarına (Sezar, Affine, Hill vb.) geçmeden önce, bir şifreleme sisteminin evrensel anatomisini tanımlamamız gerekir. Tüm modern ve klasik kriptosistemler matematiksel olarak beş bileşenli bir yapı ile ifade edilir.
Tanım 7.1 (Kriptosistem (Şifreleme Sistemi)) Bir kriptosistem, aşağıdaki koşulları sağlayan bir \((\mathcal{P}, \mathcal{C}, \mathcal{K}, \mathcal{E}, \mathcal{D})\) beşlisidir:
- \(\mathcal{P}\) (Plaintext): Açık metinlerin (şifrelenmemiş orijinal mesajların) oluşturduğu sonlu küme.
- \(\mathcal{C}\) (Ciphertext): Şifreli (kapalı) metinlerin oluşturduğu sonlu küme.
- \(\mathcal{K}\) (Key Space): Anahtar uzayı; kullanılabilecek olası tüm anahtarların oluşturduğu sonlu küme.
- \(\mathcal{E}\) (Encryption): Şifreleme (kapama) fonksiyonları kümesi.
- \(\mathcal{D}\) (Decryption): Deşifreleme (açma) fonksiyonları kümesi.
7.1 Fonksiyonların Çalışma Prensibi
Her \(k \in \mathcal{K}\) anahtarı için, bir şifreleme kuralı \(e_k \in \mathcal{E}\) ve buna karşılık gelen bir deşifreleme kuralı \(d_k \in \mathcal{D}\) tanımlanır:
\[e_k: \mathcal{P} \to \mathcal{C}\] \[d_k: \mathcal{C} \to \mathcal{P}\]
Sistemin tutarlı olabilmesi için, seçilen her bir \(k \in \mathcal{K}\) anahtarı ve her bir \(x \in \mathcal{P}\) açık metin parçası için, şifrelenmiş metnin tekrar geri açılabileceğini garanti eden şu koşul sağlanmalıdır:
\[(d_k \circ e_k)(x) = d_k\big(e_k(x)\big) = x, \quad \forall x \in \mathcal{P}\]
Şifreleme fonksiyonu \(e_k\), matematiksel olarak kesinlikle birebir olmalıdır.
Eğer fonksiyon birebir olmazsa ve farklı iki açık metin (\(x_1 \neq x_2\)) aynı şifreli metne dönüşürse: \[e_k(x_1) = e_k(x_2)\] şifreyi çözen kişi, elindeki şifreli metni deşifre ettiğinde orijinal metnin \(x_1\) mi yoksa \(x_2\) mi olduğunu bilemez. Benzersiz bir çözüm elde edilebilmesi için birebirlik şarttır.
7.2 Kümelerin Somutlaştırılması: Alfabe ve Mod 26
Matematiksel şifreleme fonksiyonlarının harfler üzerinde işlem yapabilmesi için harfleri sayılara dönüştürmemiz gerekir. Bu notlardaki tüm klasik algoritmalarda uluslararası standart olan 26 harfli İngiliz alfabesi kullanılır. Türkçeye özgü karakterler (ç, ğ, ı, ö, ş, ü) alfabe boyutunu değiştirip modüler aritmetiği ve standart ASCII tablolarını bozduğu için denklemlere dâhil edilmez.
Bu bağlamda, açık metin (\(\mathcal{P}\)) ve şifreli metin (\(\mathcal{C}\)) kümelerimiz \(\mathbb{Z}_{26}\) olarak tanımlanır:
\[\mathcal{P} = \mathcal{C} = \mathbb{Z}_{26} = \{0, 1, 2, \dots, 25\}\]
Harf–Sayı Dönüşüm Tablosu
İşlemlerde sıfırdan başlama (0-index) kuralı geçerlidir: A harfi \(0\), Z harfi ise \(25\) değerini alır.
| Harf | Değer | Harf | Değer |
|---|---|---|---|
| A | \(0\) | N | \(13\) |
| B | \(1\) | O | \(14\) |
| C | \(2\) | P | \(15\) |
| D | \(3\) | Q | \(16\) |
| E | \(4\) | R | \(17\) |
| F | \(5\) | S | \(18\) |
| G | \(6\) | T | \(19\) |
| H | \(7\) | U | \(20\) |
| I | \(8\) | V | \(21\) |
| J | \(9\) | W | \(22\) |
| K | \(10\) | X | \(23\) |
| L | \(11\) | Y | \(24\) |
| M | \(12\) | Z | \(25\) |
Klasik şifreleme algoritmalarının tamamında (Sezar, Affine, Vigenère, Hill) matematiksel işlemler Tablo 7.1 referans alınarak ve sonuçlar her zaman mod 26’ya göre hesaplanarak yürütülecektir. Bir işlem sonucu negatif çıkarsa veya \(25\)’i geçerse, sonucun mod \(26\)’daki denki bulunarak tabloya geri dönülür.