Skip to content

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 (0 ve 1'ler) üzerinde işlem yapar. Mesaj uzunluğunun n bit olduğunu varsayarsak, 5 bileşenli kriptosistem anatomisi şu şekilde tanımlanır:

  • Açık Metin (P): Uzunluğu n olan tüm olası bit dizilerinin kümesi: {0,1}n
  • Şifreli Metin (C): Uzunluğu n olan tüm olası bit dizilerinin kümesi: {0,1}n
  • Anahtar Uzayı (K): Uzunluğu n olan tüm olası bit dizilerinin kümesi: {0,1}n
  • Şifreleme Fonksiyonu (E): Açık metin vektörü (x) ile anahtar vektörünün (K) karşılıklı olarak XOR'lanmasıdır:eK(x)xK(mod2)
  • Deşifreleme Fonksiyonu (D): Şifreli metnin (y), aynı anahtar (K) ile tekrar XOR'lanmasıdır (XOR işleminin nilpotent, yani kendisinin tersi olma özelliği gereği):dK(y)yK(mod2)

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:

P(xy)=P(x)

Yani; şifreli metni (y) ele geçiren bir düşmanın, orijinal mesajın (x) ne olduğuna dair yapacağı olasılık hesabı, şifreli metni hiç görmeden yapacağı tahminle birebir aynı olmalıdır. Şifreli metin, orijinal metin hakkında sıfır bilgi verir.

İspat (One-Time Pad İçin)

One-Time Pad bu şartı sağlar çünkü her x açık metni ve her y şifreli metni için, xK=y eşitliğini sağlayan benzersiz ve tek bir K anahtarı mutlaka vardır. Anahtar tamamen rastgele seçildiği için, şifreli metnin altından "SALDIR" kelimesinin çıkma ihtimali ile "BEKLE" kelimesinin çıkma ihtimali matematiksel olarak tamamen eşittir. Düşman sonsuz işlem gücüne sahip olsa bile doğru mesajı bulamaz, çünkü ortada analiz edilecek istatistiksel bir iz yoktur.

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:

  1. Tam Rastgelelik (True Randomness): Anahtar (K), 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.
  2. Uzunluk Şartı: Anahtarın uzunluğu, şifrelenecek açık metnin uzunluğuna eşit veya ondan daha büyük olmalıdır (|K||x|).
  3. 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ı K anahtarı ile iki farklı mesaj (x1 ve x2) şifrelenirse, düşman bu durumu matematiksel olarak nasıl istismar eder?

💡 Çözümü Göster / Gizle

Aynı K anahtarı kullanıldığında üretilen şifreli metinler şunlardır:

y1=x1Ky2=x2K

Düşman hattı dinleyip bu iki şifreli metni ele geçirir ve bunları birbiriyle XOR'larsa (y1y2), XOR işleminin özellikleri gereği (değişme ve birleşme özellikleri ile KK=0 kuralı) aradaki anahtarlar birbirini yok eder:

y1y2=(x1K)(x2K)=x1x2(KK)=x1x20=x1x2

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.

Akademik amaçlarla tasarlanmış açık kaynaklı eğitim arşivi. Bu sitedeki tüm ders notları ve içerikler CC BY-NC-SA 4.0 Lisansı ile korunmaktadır.