Merhaba değerli e-bergi okurları. Bu yazıda sizlerle, tarihin ilk kriptoloji tekniklerinden olan Sezar şifrelemesi ile onun gelişmiş versiyonu olan Vigenere şifreleme yöntemini Türk alfabesinden örneklerle yakından inceleyeceğiz.

Matematiksel fonksiyonların herhangi bir alfabeye uyarlanmasıyla kriptoloji algoritmaları oluşur. Kriptografi tarihinin ilk yıllarından beri kullanılan en temel algoritmaları yer değiştirme ve harf değiştirme olarak bilinir. Bu fikirlerin en ünlü ve basit örneği ise Julius Ceasar'ın devlet yazışmalarında kullandığı Sezar şifresidir. Bu şifrelemede harf kaydırma yöntemiyle her harfin yerine, o harften birkaç sonraki harf yazılarak kelime şifrelenmiş olur.

Örnek: Elimizde şifrelemek istediğimiz “BERGİ” gibi bir kelime olsun. Klasik 3 harf atlamalı Sezar şifrelemesini kullanarak B harfinin yerine D, E yerine Ğ getirip diğer harfleri de aynı şekilde kaydırırsak “DĞTIL” şifrelenmiş kelimesi ortaya çıkar.

Tek harf atlamalı sezar şifreleme anahtarı

Sezar şifrelemesi daha önce de söylendiği gibi basit bir şifreleme yöntemidir. Basitliğinin kaynağı ise şifre çözme yönteminin gizli olmaması ve şifreleme yaparken tek alfabeli yer değiştirme algoritmasının kullanılmasıdır. Bütün bunlar birleşince Sezar şifresi kaba kuvvet (brute-force) saldırısıyla çok kolay bir biçimde çözülebilir. Bu yöntemle şifrelenen bir kelimeyi bulmak için en fazla alfabedeki harf sayısı kadar deneme yapmak yeterlidir. Uzun metinlerde kullanılan bu tür basit algoritmaları kırmak için diğer bir yöntem ise frekans analizi denilen, şifreli metinde en çok tekrar eden harfleri, yazıldığı dilin en çok kullanılan harfleriyle eşleştirmektir.

Örnek: En basit haliyle anlatacak olursak, Latin harfleriyle yazılmış şifreli düz bir metinde en çok kullanılan harfin L olduğunu varsayarsak, o dildeki en çok kullanılan harflerle (örn. E, A harfleri) teker teker eşleştirilmesi sayesinde kaç harf atlayarak şifrenin oluşturulduğu bulunabilir. Kaba kuvvetten daha etkili bir yöntem olduğunu söylersek yanlış olmaz.

Vigenere Şifreleme

Frekans analizi ve kaba kuvvetin biraz da olsun önüne geçmek isteyen ama algoritmanın basitliğinden de ödün vermek istemeyenler için Sezar şifrelemesinin üst modeli olan Vigenere şifreleme yöntemini takdim ediyorum sizlere. Bu şifreleme Fransız kriptograf Blaise de Vigenere'e atfedilen bir yöntemdir. Bunun gibi birden fazla şifreleme alfabesi kullanan şifreler, çoklu alfabeli (Polyalphabetic) şifreleme yöntemi olarak adlandırılır. Bu tür yöntemler frekans analizi gibi deşifre tekniklerine karşı dirençli olmakla birlikte Vigenere şifresi uzun yıllar boyu Le Chiffre Undechiffrable (kırılamaz şifre) olarak anılmıştır. Yaklaşık 200 sene sonra, 1854 yılında İngiliz kriptograf Charles Babbage tarafından kırılmıştır. Vigenere şifrelemesinin Sezar şifrelemeden en büyük farkı çoklu alfabe kullanarak şifrelemenin yapılmasıdır. Arkasında yatan mantık ise Sezar şifrelemeyle aynıdır: Belirli bir anahtara göre şifrelenmek istenen kelimedeki harfleri kaydırmak. Peki nedir bu çoklu alfabe muhabbeti? Öncelikle kelimemizi şifrelemek için herhangi bir uzunlukta anahtar kelime seçiyoruz. Ve artık elimizde şifrelemek için anahtardaki farklı harf sayısı kadar alfabe var. Seçilen anahtara göre her harf kelime içindeki sırasına göre anahtar kelimedeki harfle başlayan yeni bir alfabe oluşturularak sırayla kaydırma yapılır. Lafı fazla dolandırmadan örneğe geçelim.

Örnek: “BERGİ” kelimesi şifrelemek istediğimiz kelime olsun. Anahtar kelimeyi ise “CCLUB” olarak seçelim. B harfine karşılık olarak anahtar kelimedeki herhangi bir harfi seçebiliriz ancak anlam kolaylığı için iki kelimede de aynı sıradaki harflerden gidelim.

B -> C * C harfinin alfabedeki sırası (3) kadar B harfini kaydırıyoruz. [B >> D]

E -> C * C harfinin alfabedeki sırası (3) kadar E harfini kaydırıyoruz. [E >> Ğ]

R -> L *L harfinin alfabedeki sırası (15) kadar R harfini kaydırıyoruz. [R >> F]

G -> U * U harfinin alfabedeki sırası (25) kadar G harfini kaydırıyoruz. [G >> Ç]

İ -> B * B harfinin alfabedeki sırası (2) kadar İ harfini kaydırıyoruz. [İ >> K]

Bergi kelimesinin cclub anahtar kelimesi kullanılarak Vigenere şifreleme yöntemindeki karşılığı “dğfçk” gibi bir sözcükmüş.

Örnek: Şifrelenecek kelime => “BERMEK” || Anahtar sözcük => “CENG”

B E R M E K

C E N G C E

Şifreli kelime => “DİĞTĞP”

Görüldüğü üzere “bermek”teki iki adet e harfi farklı harflerle yer değiştirmiştir. Ayrıca alakasız iki harf de aynı harfle temsil edilerek frekans analizi yöntemi etkisiz hale getirilmiştir.

Vigenere tablosu (sütunların her biri başka alfabeleri temsil ediyor)

Madem deşifre edilmesi bu kadar zor Vigener şifresini Babbage nasıl kırdı? Bu sorunun cevabı başlı başına bir yazı konusu olsa da şunu söyleyebiliriz: Mr.Babbage tekrar eden söz öbeklerine ve aralarındaki mesafeye bakarak anahtar kelimenin uzunluğunu bulmaya çalışarak işe başlamış. Kim bilir belki bir sonraki yazıda bunu tartışırız. Sağlıcakla kalın...