29 Haziran 2009 Pazartesi

Vigenere şifresi nedir?

Kriptografi ile ilgil olan arkadaşların zaten bildiği bir metod olan Vigenere şifreleme yönteminden bahsetmek istiyorum. Bu makalem Kriptografi ile yeni ilgilenmeye başlayan (gerçi ilk olarak Sezar şifreleme yönetmi gösterilir ama biz ters yapalım :)) arkadaşlar için kullanışlı bir örnek olabilir. (Yada benim gibi arada git gel bir Kriptografi merakınız varsa iştahınızı kabartabilecek bir makale yazabilirim umarım)

İlk olarak 1553 yılında Giovan Batista Belasa tanıtılmış 16. yüzyılın sonlarında Blaise De Vigenere bu yöntemi düzenleyip kullanmıştır ve bu yöntemin adı “Vigenere şifresi” olarak kalmıştır.



Yukarıdaki tablo Vigenere tablosu olarak adlandırılır. Genel olarak basit şifreleme metodları alfabedeki harflere çeşitli fonksiyonlar uygulanalarak şifrelenmiş metinler elde edilir. Yukarıdaki tabloda da gözünüze çarpmıştır ki satır ve sütunlarda alfabe 1 er satır kayarak eklenmiştir.

Şimdi bu anlattıklarımızı örneklerle pekiştirelim:



Vigenere şifreleme yönteminde 2 method kullanılır:
1) Keyword
2) Priming Key (Başlangıç anahtarı)

Öncelikle bir başlangıç anahtarı belirleyelim ve elimizdeki düz metinin harflerini tek tek başlangıç anahtarı ile kesiştirelim. Kesişim harfi harfin şifrelenmiş şeklidir.

Bir diğer method ise düz metindeki harfi şifrelemek için bir başlangıç anahtarı kullanıyoruz. Düz metinin ilk harfi ile başlangıç anahtarını kesiştiriyoruz. Ardından diğer harfi şifrelemek için düz metinin ilk harfini anahtar olarak kullanıyoruz. Böylece tüm metin şifrelenmiş oluyor.

Şimdi yukarıdaki tablo ile basit bir şifreleme örneği yapalım.



Düz Metin: D E F T E R
B. anahtarı: B D E F T E
Şifreli Metin: E H J Y X V

Görüldüğü üzere B başlangıç anahtarı olarak kabul edilmiştir. D ile B'nin kesişimi E şifreli metinin ilk harfidir. Düz metinin 2. hafrini şifrelemek için düz metinin ilk harfi kullanılmıştır.


Umarım biraz olsun şifreleme konusunda iştahınızı kabartabilmişimdir. Bu arada ufak şifreleme işlemleriniz için bu metodu kullanabilirsiniz. Yakında şireleme ile ilgili ufak bir c programı yazmayı planlıyorum. En azından mantığı kavramamız açısından.

Herkese kolay gelsin.

Hiç yorum yok:

Yorum Gönder