Vernam şifreleme algoritması, 1917 yılında Gilbert Vernam tarafından geliştirilmiştir. Bu algoritma, "one-time pad" (tek kullanımlık şifreleme) yöntemiyle bilinir ve kriptografide mükemmel güvenlik sağlayan nadir yöntemlerden biridir. Vernam şifrelemesi, metni ve anahtarı ikili (binary) formata dönüştürerek XOR işlemi uygular.
1. Vernam Algoritmasının Temel İlkeleri
-
Anahtar: Anahtar, metinle aynı uzunlukta olmalı ve tamamen rastgele seçilmelidir. Anahtarın rastgeleliği ve tek kullanımlık olması, şifrelemenin güvenliğini sağlar.
-
XOR İşlemi: Vernam algoritması, metin ve anahtar arasında bit düzeyinde XOR (özel veya) işlemi uygular. XOR işlemi, şifreleme ve deşifreleme için aynıdır.
2. Şifreleme Adımları
-
Metin ve Anahtarın İkili Formata Dönüştürülmesi:
-
Metin ve anahtar, ASCII veya Unicode değerlerine dönüştürülür.
-
Bu değerler, ikili (binary) formata çevrilir.
-
-
XOR İşlemi Uygulanması:
-
Metin ve anahtarın ikili değerleri arasında bit düzeyinde XOR işlemi yapılır.
-
XOR işlemi sonucu elde edilen ikili değer, şifrelenmiş metni oluşturur.
-
Örnek Şifreleme:
-
Metin: "HELLO"
-
Anahtar: "MONEY" (Metinle aynı uzunlukta rastgele bir anahtar)
Adım adım şifreleme:
-
Metin ve anahtarın ASCII değerleri:
-
H (72), E (69), L (76), L (76), O (79)
-
M (77), O (79), N (78), E (69), Y (89)
-
-
ASCII değerlerinin ikili karşılıkları:
-
H: 01001000, E: 01000101, L: 01001100, L: 01001100, O: 01001111
-
M: 01001101, O: 01001111, N: 01001110, E: 01000101, Y: 01011001
-
-
XOR işlemi:
-
H (01001000) XOR M (01001101) = 00000101 (5)
-
E (01000101) XOR O (01001111) = 00001010 (10)
-
L (01001100) XOR N (01001110) = 00000010 (2)
-
L (01001100) XOR E (01000101) = 00001001 (9)
-
O (01001111) XOR Y (01011001) = 00010110 (22)
-
-
Şifrelenmiş metin (ASCII değerleri): 5, 10, 2, 9, 22
3. Deşifreleme Adımları
Deşifreleme, şifreleme ile aynı adımları takip eder. Şifrelenmiş metin ve anahtar arasında XOR işlemi uygulanarak orijinal metin elde edilir.
Örnek Deşifreleme:
-
Şifrelenmiş metin: 5, 10, 2, 9, 22
-
Anahtar: M (77), O (79), N (78), E (69), Y (89)
-
XOR işlemi:
-
5 (00000101) XOR M (01001101) = 01001000 (72 → H)
-
10 (00001010) XOR O (01001111) = 01000101 (69 → E)
-
2 (00000010) XOR N (01001110) = 01001100 (76 → L)
-
9 (00001001) XOR E (01000101) = 01001100 (76 → L)
-
22 (00010110) XOR Y (01011001) = 01001111 (79 → O)
-
-
Deşifrelenmiş metin: HELLO
Sonuç
Vernam şifreleme algoritması, teorik olarak kırılamaz bir şifreleme yöntemidir. Ancak, anahtarın rastgele olması, metinle aynı uzunlukta olması ve yalnızca bir kez kullanılması gerekliliği, pratikte kullanımını sınırlar. Bu nedenle, genellikle yüksek güvenlik gerektiren durumlarda (örneğin, askeri iletişim) tercih edilir.
Kaynakça
-
Shannon, C. E. (1949). Communication Theory of Secrecy Systems. Bell System Technical Journal.
-
Stallings, W. (2017). Cryptography and Network Security: Principles and Practice. Pearson.
-
Singh, S. (1999). The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography. Anchor Books.