Skip to content

Vigenère Şifreleme

Monoalfabetik şifrelerin (Sezar, Afin) en zayıf noktası, dildeki harf frekanslarını (örneğin İngilizcedeki 'E' harfinin diğerlerinden çok daha sık geçmesini) aynen korumasıdır. 16. yüzyılda Giovan Battista Bellaso tarafından tasarlanan ve Blaise de Vigenère'in adıyla anılan bu sistem, Polialfabetik (Çoklu Alfabe) yapısıyla bu istatistiksel zafiyeti çözer.

Temelde sistem, tek bir sabit kaydırma yerine, bir anahtar kelime kullanarak mesajdaki her harf için farklı ve döngüsel bir Sezar kaydırması uygular.

Tanım: Vigenère Şifreleme Sistemi

Vigenère şifrelemesinde işlemler, n uzunluğundaki açık metin vektörleri ile m uzunluğundaki anahtar vektörleri (kelimeleri) arasında gerçekleşir. Sistemi vektör uzayları üzerinden tanımlarsak:

  • Açık Metin (P): Elemanları Z26'dan alınan n boyutlu vektörlerin kümesi:x=(x0,x1,,xn1)(Z26)n
  • Şifreli Metin (C): Elemanları Z26'dan alınan n boyutlu vektörlerin kümesi:y=(y0,y1,,yn1)(Z26)n
  • Anahtar Uzayı (K): Elemanları Z26'dan alınan m uzunluğundaki vektörlerden (kelimelerden) oluşan küme:K=(k0,k1,,km1)(Z26)m
  • Şifreleme Fonksiyonu (E): xP vektörünün her bir i. elemanı (xi), anahtar vektörünün döngüsel olarak sıraya denk gelen elemanı ile toplanır:eK(xi)xi+ki(modm)(mod26)
  • Deşifreleme Fonksiyonu (D): yC şifreli vektörünün her bir i. elemanından (yi), anahtar vektöründeki ilgili eleman çıkarılır:dK(yi)yiki(modm)(mod26)

📌 Anahtar Uzayı ve Kasiski İncelemesi

Vigenère şifrelemesinin anahtar uzayı, kullanılan anahtar kelimenin uzunluğuna (m) doğrudan bağlıdır. Anahtardaki her bir harf için 26 farklı seçenek olduğundan, toplam uzay şu formülle ifade edilir:

|K|=26m

Örneğin, sadece 5 harfli bir anahtar kelime (m=5) kullanılıyorsa:

|K|=265=11.881.376

Bu devasa anahtar uzayı, o dönemki Kaba Kuvvet (Brute Force) saldırılarını imkansız kılmıştır. Sistem 300 yıl boyunca kırılamamış, ancak 1863'te Friedrich Kasiski'nin şifreli metindeki tekrar eden hece aralıklarını ölçerek anahtar uzunluğunu (m) tespit etmesiyle (Kasiski İncelemesi) sistemin zafiyeti ortaya çıkmıştır.

Çözümlü Uygulamalar

Aşağıdaki örneklerde işlemleri yaparken Harf - Sayı Dönüşüm Tablosunu kullanınız. Matematiksel hataya düşmemek için açık metnin altına anahtar kelimeyi döngüsel olarak harf harf yazmak en pratik yoldur.

Örnek: Açık metni "MATH" olan bir mesajı, K="KEY" anahtarı kullanarak Vigenère şifrelemesi ile şifreleyiniz.

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

Çözüm:

Açık metnimiz 4 harfli, anahtar kelimemiz ise 3 harfli (m=3). Öncelikle anahtar kelimeyi, açık metnin boyuna ulaşana kadar yan yana tekrar ederek genişletiriz (Padding):

  • Açık Metin: M A T H
  • Anahtar: K E Y K

Şimdi şifreleme formülüne (eK(xi)xi+ki(mod26)) göre her harfi alt alta toplayalım:

  1. M (12) + K (10) 12+10=22 W
  2. A (0) + E (4) 0+4=4 E
  3. T (19) + Y (24) 19+24=4317(mod26) R
  4. H (7) + K (10) 7+10=17 R

Sonuç: MATH kelimesi Vigenère ile WERR olarak şifrelenir.

Dikkat Edin: Açık metinde hiç tekrar eden harf olmamasına rağmen, şifreli metinde iki tane yan yana 'R' harfi oluştu. İşte frekans analizini çökerten Polialfabetik özellik tam olarak budur.

Örnek: K="KEY" anahtarı ile şifrelenmiş olan "WERR" kapalı metnini deşifre ediniz.

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

Çözüm:

Deşifreleme kuralımız: dK(yi)yiki(mod26)

Yine anahtar kelimeyi mesaj boyuna kadar tekrar ettiriyoruz.

  • Şifreli Metin: W E R R
  • Anahtar: K E Y K

Alt alta çıkarma işlemlerini yapalım:

  1. W (22) - K (10) 2210=12 M
  2. E (4) - E (4) 44=0 A
  3. R (17) - Y (24) 1724=7Negatif sonucu mod 26'da pozitife çevirelim: 77+26=19(mod26) T
  4. R (17) - K (10) 1710=7 H

Sonuç: Çıkarma işlemi ve modüler aritmetik bizi orijinal MATH mesajına kusursuzca geri götürdü.

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.