Tek Kullanımlık Şifre (XOR) Aracı

Mesaj ve anahtar girin, şifreleme ya da çözme modunu seçin; araç ikisini XOR ile birleştirir.

Nasıl hesaplanır?

Araç baytlar üzerinde çalışır. Şifrelemede mesajın her baytını anahtarın karşılık gelen baytıyla XOR'lar: Ci = Pi ⊕ Ki mod uzunluk. Anahtar mesajdan kısaysa tekrarlanır. Her sonuç baytı iki büyük harfli hex rakamı olarak yazılır. Çözmek için hex metni yapıştırın (boşluklar yok sayılır, rakam sayısı çift olmalıdır); araç her baytı aynı anahtarla XOR'layıp metni verir. XOR kendi kendini geri aldığı için aynı anahtar orijinali getirir. ASCII dışındaki karakterler birden çok bayt tuttuğundan bayt sayısı karakter sayısından büyük olabilir. Çözmede yanlış anahtar anlamsız ya da yazdırılamayan karakterler üretir; boş mesaj veya anahtar sonuç vermez.

Örnek hesaplama

HELLO mesajını, mesajla aynı uzunlukta olan XMCKL anahtarıyla şifreleyelim. Hex olarak H E L L O harfleri 48 45 4C 4C 4F, anahtar harfleri X M C K L ise 58 4D 43 4B 4C'dir. Çift çift XOR: 48 ⊕ 58 = 10, 45 ⊕ 4D = 08, 4C ⊕ 43 = 0F, 4C ⊕ 4B = 07, 4F ⊕ 4C = 03. Çıktı 10080F0703 ve bayt sayısı 5'tir. Aynı anahtarla ve bu hex ile çözme moduna geçilirse HELLO geri gelir.

Bu örneği dene →

Sık yapılan hatalar

  • Çıktının kırılamaz olduğunu sanmak. Yalnızca anahtar rastgele, mesaj kadar uzun ve bir daha kullanılmıyorsa gerçek bir tek kullanımlık şifredir; kısa, tekrarlanan ya da bir kelime gibi tahmin edilebilir anahtar kırılabilir.
  • Aynı anahtarı iki mesajda kullanmak. İki şifreli metni XOR'lamak anahtarı götürür ve açık metinler arasındaki ilişkiyi ortaya çıkarır.
  • Çözme modunda sıradan metin yapıştırmak. Çözme yalnızca hex rakamı bekler; düz kelimeler ya da tek sayıda rakam sonuç vermez.
  • Çözerken farklı bir anahtar kullanmak veya bir karakteri değiştirmek. Tek bir yanlış anahtar baytı ilgili çıktı baytını bozar ve metin karmakarışık çıkar.
  • Karakter sayısıyla bayt sayısını karıştırmak. ü gibi aksanlı bir harf iki bayt tutar; bayt uzunluğu ve hex çıktı beklenenden uzun olur.

Bu hesaplama hakkında

Gilbert Vernam tarafından formülleştirilen tek kullanımlık şifre (one-time pad), her açık metin baytını eşit uzunlukta bir anahtar baytıyla XOR işlemiyle birleştirerek teorik olarak mükemmel gizlilik sağlar — XOR, aynı anahtarın iki kez uygulanmasıyla orijinal veriye geri dönülen tersine çevrilebilir bir bit işlemidir (P ⊕ K = C, ardından C ⊕ K = P). Mükemmel gizlilik yalnızca anahtar gerçekten rastgeleyse, tam olarak mesaj kadar uzunsa ve asla tekrar kullanılmıyorsa geçerlidir; pratikte bu araçta olduğu gibi kısa ve tekrarlanan bir anahtarla aynı matematik, gerçek bir kırılamaz şifre değil, basit ve kırılabilir bir akış şifresi (stream cipher) üretir.

Bu araç bir mesajı, mesaj uzunluğuna eşitlenene kadar tekrarlanan bir anahtarla XOR'layarak metni hex'e şifreler veya hex'i metne geri çözer. Kriptografi öğrencileri, XOR tabanlı şifrelemenin mekaniğini birebir görmek için; CTF (Capture the Flag) katılımcıları ve güvenlik öğrenenleri ise XOR şifreli görevleri hızlıca elle kodlamak veya çözmek için bu aracı kullanır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Şifrelerken işe yarayan bir ayrıntı: mesajdaki bir bayt, anahtardaki karşılığına eşitse çıktı baytı 00 olur, çünkü bir değerin kendisiyle XOR işlemi sıfır verir. Onaltılık çıktıda uzun 00 dizileri görüyorsanız anahtar o noktalarda düz metni tekrarlıyor demektir; bu da anahtarın çok kısa ya da tahmin edilebilir olduğunu gösterir. Bu aracı ders ödevleri için mi yoksa bulmaca yarışmaları için mi kullanıyorsunuz, hangi anahtar uzunluklarını deniyorsunuz?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar