One-Time Pad (OTP) ve Vernam Şifresi
Kriptografi tarihindeki tüm algoritmalar (Sezar, Vigenère, Enigma, hatta günümüzdeki RSA ve AES) yeterli zaman ve işlem gücü verildiğinde teorik olarak kırılabilir. Kırılamayacağı matematiksel olarak ispatlanmış, evrendeki tek şifreleme sistemi One-Time Pad (Tek Kullanımlık Şerit) algoritmasıdır.
Temeli 1917'de Gilbert Vernam'ın icat ettiği ikili (binary) toplama işlemine (XOR) dayanır.
Tanım: One-Time Pad (Vernam Şifresi) Kriptosistemi
Modern One-Time Pad, alfabe harfleri yerine doğrudan bit dizileri (
- Açık Metin (
): Uzunluğu olan tüm olası bit dizilerinin kümesi: - Şifreli Metin (
): Uzunluğu olan tüm olası bit dizilerinin kümesi: - Anahtar Uzayı (
): Uzunluğu olan tüm olası bit dizilerinin kümesi: - Şifreleme Fonksiyonu (
): Açık metin vektörü ( ) ile anahtar vektörünün ( ) karşılıklı olarak XOR'lanmasıdır: - Deşifreleme Fonksiyonu (
): Şifreli metnin ( ), aynı anahtar ( ) ile tekrar XOR'lanmasıdır (XOR işleminin nilpotent, yani kendisinin tersi olma özelliği gereği):
Teorem: Shannon'un Kusursuz Gizlilik (Perfect Secrecy) İlkesi
Claude Shannon, 1949 yılında bir sistemin "Kusursuz Gizliliğe" sahip olabilmesi için şu şartı sağlaması gerektiğini matematiksel olarak ispatlamıştır:
Yani; şifreli metni (
İspat (One-Time Pad İçin)
One-Time Pad bu şartı sağlar çünkü her
One-Time Pad'in 3 Altın Kuralı
Bu sistemin kusursuz olabilmesi için aşağıdaki 3 kuralın istisnasız uygulanması gerekir. Biri bile ihlal edilirse sistem çöker:
- Tam Rastgelelik (True Randomness): Anahtar (
), hiçbir algoritmik kurala bağlı olmayan, evrendeki fiziksel olaylardan (örneğin radyoaktif bozunma veya atmosferik gürültü) elde edilmiş tam rastgele bitlerden oluşmalıdır. Bilgisayarların ürettiği Sözde Rastgele (Pseudo-Random) sayılar kesinlikle kullanılamaz. - Uzunluk Şartı: Anahtarın uzunluğu, şifrelenecek açık metnin uzunluğuna eşit veya ondan daha büyük olmalıdır (
). - Tek Kullanımlık (Never Reuse): Bir anahtar şeridi, sadece bir mesaj için kullanılmalı ve ardından fiziksel/dijital olarak imha edilmelidir.
Örnek: İki Kez Kullanılan Şerit (Two-Time Pad) Zafiyeti
Eğer 3. kural ihlal edilip aynı
💡 Çözümü Göster / Gizle
Aynı
Düşman hattı dinleyip bu iki şifreli metni ele geçirir ve bunları birbiriyle XOR'larsa (
Sonuç: Düşmanın elinde artık anahtardan tamamen arındırılmış, doğrudan orijinal iki mesajın birbirine XOR'lanmış hali vardır! Doğal dil analizleriyle bu iki metin dakikalar içinde birbirinden ayrıştırılıp okunabilir. (Tarihteki ünlü Venona Projesi'nde Sovyet şifrelerinin kırılma sebebi tam olarak bu tembelliktir).
Madem Kusursuz, Neden Her Yerde Kullanmıyoruz? (Anahtar Dağıtım Problemi)
Öğrencilerin aklına gelen ilk soru şudur: "Eğer One-Time Pad kırılamıyorsa, neden WhatsApp, bankalar veya ordular sürekli AES veya RSA gibi kırılabilecek algoritmalar kullanıyor?"
Cevap, kriptografinin en büyük açmazı olan Anahtar Dağıtım Probleminde (Key Distribution Problem) gizlidir.
One-Time Pad'in 2. kuralı, anahtarın en az mesaj kadar uzun olmasını emreder. Eğer arkadaşınıza 10 GB'lık bir video dosyasını OTP ile şifreleyerek göndermek isterseniz, ona öncesinde tamamen rastgele oluşturulmuş 10 GB'lık bir anahtar dosyasını fiziksel ve mutlak güvenli yollarla (örneğin içi dolu bir flash belleği kuryeyle vererek) ulaştırmanız gerekir.
Paradoks şudur: Eğer 10 GB'lık bir veriyi düşmanların eline geçmeden arkadaşınıza ulaştırabilecek kadar güvenli bir kurye/kanal ağınız varsa, neden o kanaldan 10 GB'lık anahtarı göndermek yerine doğrudan şifrelemek istediğiniz 10 GB'lık videoyu göndermiyorsunuz?
İşte bu pratik imkansızlık yüzünden One-Time Pad gündelik hayatta kullanılamaz; sadece "Kırmızı Telefon" (Soğuk Savaş dönemindeki Moskova-Washington hattı) gibi çok yüksek güvenlikli, düşük veri boyutlu askeri ve diplomatik haberleşmelerde kullanılabilmiştir.