Skip to content

Affine (Afin) Şifreleme

Sezar şifrelemesi, harfleri sadece sabit bir miktar kaydırarak (toplama işlemiyle) gizler. Affine (Afin) şifreleme ise bu mantığı bir adım ileri taşıyarak, modüler aritmetik üzerinde hem çarpma hem de toplama işlemini aynı anda kullanan doğrusal (lineer) bir yerine koyma algoritmasıdır.

Klasik cebirdeki y=ax+b doğru denkleminin, alfabe (mod 26) üzerine inşa edilmiş halidir.

Sistemin Formal Tanımı

Afin şifrelemesinde anahtarımız (k) artık tek boyutlu bir skaler değil, k=(a,b) şeklinde tanımlanan sıralı bir sayı ikilisidir. Sistemi 5 bileşenli yapıya uyarlarsak:

Tanım: Afin Şifrelemesinin Matematiksel Modeli

  • Açık Metin (P): Z26={0,1,2,,25}
  • Şifreli Metin (C): Z26={0,1,2,,25}
  • Anahtar Uzayı (K): k=(a,b) formunda olmak üzere; a,bZ26 ve gcd(a,26)=1 koşulunu sağlayan tüm sıralı ikililerin kümesi.
  • Şifreleme Fonksiyonu (E): Her k=(a,b)K ve xP için şifreleme işlemi:ek(x)ax+b(mod26)
  • Deşifreleme Fonksiyonu (D): Her k=(a,b)K ve yC için açma işlemi; fonksiyonun tersinin alınmasıyla bulunur. Burada a1, a'nın mod 26'ya göre çarpımsal tersidir:dk(y)a1(yb)(mod26)

⚠️ Anahtar Seçme Koşulları ve Birebirlik (Injective) Şartı

Afin şifrelemesinde b (kaydırma) değeri için Z26 içindeki tüm sayılar seçilebilir. Ancak a (çarpan) değeri rastgele seçilemez!

Şifreleme fonksiyonunun çözülebilmesi için mutlaka birebir (1-1) olması gerekir. Eğer a sayısı 26 ile aralarında asal değilse (yani gcd(a,26)1), fonksiyon birebirliğini kaybeder.

Örnek bir felaket senaryosu: Diyelim ki kuralı ihlal edip gcd(2,26)1 olmasına rağmen k=(2,3) seçtik. Denklemimiz: ek(x)2x+3(mod26)

  • A harfi (0) şifrelendiğinde: 20+33D
  • N harfi (13) şifrelendiğinde: 213+3=293(mod26)D

Gördüğünüz gibi hem A hem de N harfi aynı şifreli harfe (D) dönüştü. Mesajı alan kişi D harfini deşifre etmek istediğinde orijinal harfin A mı yoksa N mi olduğunu asla bilemez. Sistem çöker.

📌 Toplam Anahtar Uzayı ve Euler'in Phi (Totient) Fonksiyonu

Afin şifrelemesinde a değerleri için m ile aralarında asal olan sayıların adedini bulmamız gerekir. Kriptografide bu değer Euler'in Phi Fonksiyonu (ϕ) ile hesaplanır. b değeri için ise modül (m) kadar seçenek vardır.

Bu nedenle Afin kriptosisteminin toplam anahtar uzayı şu formülle ifade edilir:

|K|=ϕ(m)m

İngilizce alfabe (m=26) için hesaplarsak, 26 ile aralarında asal olan sayıların adedi:

ϕ(26)=ϕ(2)ϕ(13)=(21)(131)=12

Geçerli olan bu 12 çarpan şunlardır: {1,3,5,7,9,11,15,17,19,21,23,25}. a için 12, b için 26 seçenek olduğundan toplam anahtar uzayı:

|K|=1226=312

Sezar'ın 25'lik anahtar uzayına göre daha geniş görünse de, |K|=312 modern bilgisayarlar için kaba kuvvet (brute force) saldırılarıyla saniyeler içinde kırılabilir.

📝 Çözümlü Uygulamalar

Aşağıdaki örneklerde işlemleri Harf - Sayı Dönüşüm Tablosunu kullanarak yapınız.

Örnek: Açık metni "MATH" olan bir mesajı, k=(5,8) anahtarını kullanarak Afin şifrelemesi ile şifreleyiniz.

💡 Çözümü Göster / Gizle

Çözüm: Şifreleme kuralımız: ek(x)5x+8(mod26)

Harfleri tablodan sayıya çevirip denklemde yerine koyalım:

  1. M 12512+8=6816(mod26)Q
  2. A 050+8=8I
  3. T 19519+8=10325(mod26)Z
  4. H 757+8=4317(mod26)R

Sonuç: MATH kelimesi QIZR olarak şifrelenir.

Örnek: k=(7,2) anahtarı ile şifrelenmiş olan "QCF" kapalı metnini deşifre ediniz.

💡 Çözümü Göster / Gizle

Çözüm: Deşifreleme formülümüz: dk(y)a1(yb)(mod26)

Öncelikle a=7 sayısının mod 26'daki çarpımsal tersini (71) bulmalıyız. Yani öyle bir sayı bulmalıyız ki 7x1(mod26) olsun. 715=105=426+1 olduğundan, 7115(mod26) bulunur.

Yeni deşifreleme denklemimiz: dk(y)15(y2)(mod26)

  1. Q 1615(162)=1514=2102(mod26)C
  2. C 215(22)=0A
  3. F 515(52)=153=4519(mod26)T

Sonuç: Şifreli QCF metninin açık hali CAT kelimesidir.

Örnek: Düşmandan ele geçirilen "AGIY" şifreli metninin, orijinalinde "OKAY" kelimesi olduğu bilinmektedir. Kullanılan (a,b) Afin anahtarını bulunuz.

💡 Çözümü Göster / Gizle

Çözüm:ek(x)ax+b(mod26) olduğunu biliyoruz. İlk iki harf üzerinden iki bilinmeyenli bir denklem sistemi kurarak sistemi çözebiliriz.

O (14) A (0):

14a+b0(mod26)--- (Denklem 1)

K (10) G (6):

10a+b6(mod26)--- (Denklem 2)

Denklem 1'den Denklem 2'yi taraf tarafa çıkaralım (b'leri yok etmek için):

(14a+b)(10a+b)06(mod26)4a620(mod26)

Kritik Aşama: Mod 26'da 4a20 denklemini çözerken direkt 4'e bölemeyiz. gcd(4,26)=2 olduğu için bu denklemin iki farklı kökü vardır:

  1. a5(mod26)
  2. a5+13=18(mod26)

Ancak Afin kuralları gereği gcd(a,26)=1 olmak zorundadır. gcd(18,26)1 olduğu için a=18 değeri geçersizdir. Demek ki a=5 olmalıdır.

Bulduğumuz a=5 değerini Denklem 1'de yerine koyalım:

145+b0(mod26)70+b0(mod26)18+b0(mod26)b188(mod26)

Sonuç: Düşmanın kullandığı anahtar k=(5,8) ikilisidir. (Örnek 1'deki anahtarı bulmuş olduk!)

🕹️ İnteraktif Afin Hesaplayıcı

ek(x)ax+b(mod26) denkleminin pratikte nasıl çalıştığını aşağıdaki araçla test edebilirsiniz.

Dikkat ederseniz, fonksiyonun 1-1 (birebir) olma şartını korumak için "Çarpan (a)" menüsünde yalnızca 26 ile aralarında asal olan o 12 geçerli anahtar yer almaktadır. Yanlarında modüler terslerinin de (a1) hesaplandığını görebilirsiniz.

Canlı Afin Hesaplayıcı

Sonuç
QIZR

Akademik amaçlarla tasarlanmış açık kaynaklı eğitim arşivi. Bu sitedeki tüm ders notları ve içerikler CC BY-NC-SA 4.0 Lisansı ile korunmaktadır.