Vigenère Şifresi
Vigenère şifresi, birden çok şifre alfabesi kullanan ünlü bir şifredir; bu sayede klasik frekans analizine karşı çok daha dayanıklıdır.
Şifrelemenin ve Şifre Çözmenin Prensibi
Şifreleme adımlarını Sezar şifresi üzerinden açıklayabiliriz. Vigenère şifresinin anahtarı, İngiliz alfabesinin harflerinden, yani a—z harflerinden oluşan herhangi bir sözcüktür. Örneğin anahtar “bcf” sözcüğü olabilir. Şifreleme şöyle yapılır: açık metni yazarız ve hemen altına, açık metinle aynı uzunlukta olana kadar tekrar edeceğimiz anahtarı yazarız. Açık metin “iyiaksamlar” için (Türkçe harfleri kullanmadığımız için “iyi akşamlar” yerine böyle yazıyoruz) tablo şöyle görünür:
| Açık metin: | i | y | i | a | k | s | a | m | l | a | r |
| Anahtar: | b | c | f | b | c | f | b | c | f | b | c |
Şimdi açık metindeki bütün harfleri, aynı sütundaki anahtarla Sezar şifresini kullanarak şifreleriz. Sezar şifresi bir kaydırma şifresidir; anahtar, açık metnin harfini “a” harfinden başlayarak kaç harf kaydıracağımızı belirtir. Örneğin “b” harfi, alfabede bir harf “sağa” kaydırmak demektir. “d” harfi ise üç harf sağa kaydırmak demektir. “merhaba” sözcüğünü Sezar şifresiyle ve “b” anahtarıyla “nfsibcb” metnine şifreleriz.
Sezar şifresinde bütün metni tek bir harfle şifrelerken, Vigenère şifresinde genellikle birden çok harfle şifreleriz. “iyiaksamlar” metnini “bcf” anahtarıyla şifrelemek şöyle sonuçlanır:
| Açık metin: | i | y | i | a | k | s | a | m | l | a | r |
| Anahtar: | b | c | f | b | c | f | b | c | f | b | c |
| Şifreli metin: | j | a | n | b | m | x | b | o | q | b | t |
İlk harf olan “i” harfini “b” anahtarıyla, yani bir harflik kaydırmayla şifreledik; bu yüzden sonuç “j” harfi oldu. “y” harfini “c” anahtarıyla, yani iki harflik kaydırmayla şifreledik; sonuç “a” harfi oldu. Böyle devam eder.
Şifreyi tamamen aynı şekilde çözeriz; yalnızca harfleri “sağa” kaydırmak yerine “sola” kaydırırız.
Vigenère Şifresi İçin Çevrimiçi Şifreleme ve Şifre Çözme Aracı
Vigenère Karesi
Şifrelemenin ve şifre çözmenin bütün adımları, şifreleme sırasında kullanabileceğimiz bir yardımcı olan Vigenère karesi üzerinde de açıklanabilir. Vigenère karesi 26 satırlı ve 26 sütunlu bir tablodur. Her satırda alfabe yazılıdır ve her satırda alfabe bir önceki satıra göre bir harf kaydırılmıştır:
Böyle bir Vigenère karesi elimizdeyse şifreleme şöyle yapılır: açık metinden bir harf alırız ve bu harfle başlayan satırı buluruz. Sonra anahtardan bir harf alırız ve sütunu buluruz. Şifreli metnin harfi, ilgili satır ile sütunun kesiştiği yerdeki harftir.
Önceki örnekte “iyiaksamlar” metnini “bcf” anahtarıyla şifrelemiştik. Yani “i” ile başlayan satırı ve “b” ile başlayan sütunu buluruz. Bu satırla sütunun kesiştiği yerde “j” harfi vardır; bu, şifreli metnin sonuç harfidir.
Şifreyi çözerken tersine ilerleriz. Örneğin “j” harfini “b” anahtarıyla çözmek istersek “b” sütununu buluruz, onun içinde “j” harfini içeren satırı buluruz ve bu satırın başındaki harf açık metnin harfidir.
Vigenère Şifresinin Asıl Gücü
Vigenère şifresi kendi döneminde neden bu kadar güçlüydü? Çünkü klasik frekans analizini ciddi biçimde zorlaştırıyordu. Örneğin Sezar şifresinde açık metindeki iki aynı harf, şifreli metinde de aynı harfe şifrelenir. Vigenère şifresinde ise bu geçerli değildir; en azından her zaman geçerli değildir.
“tamam tamam tamam” metnini “stan” anahtarıyla şifrelersek “ltmne mazsf tnetm” şifreli metnini elde ederiz. Açık metin aynı sözcüğü üç kez içermesine rağmen, ortaya çıkan şifreli metinde her sözcüğün tamamen farklı göründüğünü görürüz.
Anahtar Seçimi
Vigenère şifresinin güvenliğini anahtar seçimi çok büyük ölçüde etkiler. Sezar şifresinde “a” dışında hangi harfi seçtiğimizin önemi yoktu, ama Vigenère şifresinde farklı anahtarlar şifrenin güvenliğini farklı ölçüde etkiler.
- Yalnızca tek harften oluşan anahtar, Vigenère şifresini yeniden Sezar şifresine indirger.
- Aynı harfin tekrarından oluşan bir anahtar, örneğin “mmm”, yine Sezar şifresine yol açar.
- Kısa bir anahtarla şifrelenmiş metni çözmek çok kolaydır.
- Çok kısa olmayan bir anahtarla (yaklaşık elli karakter) şifrelenmiş yeterince uzun bir şifreli metni çözmek de çok kolaydır. Bilgisayarda bu saniyeler sürer.
- Tamamen rastgele olan ve metnin kendisi kadar uzun bir anahtarla şifrelenmiş metni çözmek imkânsızdır.