Loading AI tools
tek tek semboller veya sabit boyutlu bloklar yerine anlamsal belirteçler üzerinde çalışan şifre Vikipedi'den, özgür ansiklopediden
Kriptolojide kod, anlam düzeyinde çalışan bir mesajı şifrelemek için kullanılan bir yöntemdir; yani, kelimeler veya ifadeler başka bir şeye dönüştürülür. Bir kod "change" kelimesini "CVGDK" ya da "cocktail lounge" kelimesine dönüştürebilir. ABD Ulusal Güvenlik Ajansı bir kodu şöyle tanımlamıştır: "Açık metin öğelerinin esas olarak sözcükler, ifadeler veya cümleler olduğu ve kod eşdeğerlerinin ("kod grupları" olarak adlandırılır) tipik olarak aynı uzunlukta anlamsız kombinasyonlardaki harflerden veya rakamlardan (veya her ikisinden) oluştuğu bir ikame şifre sistemi (kriptosistem)dir."[1]:Vol I, p. 12 İfadeleri veya kelimeleri şifrelemek ve şifrelerini çözmek için bir kod kitabı (İngilizce: codebook) gereklidir.
Buna karşın, şifreler mesajları tek tek harfler veya küçük harf grupları, hatta modern şifrelerde tek tek bitler düzeyinde şifreler. Mesajlar önce bir kod, sonra da bir şifre ile dönüştürülebilir.[2] Bu tür çoklu şifreleme veya "süper şifreleme" kriptanalizi daha zor hale getirmeyi amaçlar.
Kodlar ve şifreler arasındaki bir başka karşılaştırma da bir kodun tipik olarak bir harfi veya harf gruplarını matematik kullanmadan doğrudan temsil etmesidir. Bu nedenle sayılar şu üç değeri temsil edecek şekilde yapılandırılır: 1001 = A, 1002 = B, 1003 = C, ... . Bu durumda ortaya çıkan mesaj ABC'yi iletmek için 1001 1002 1003 şeklinde olacaktır. Ancak şifreler, harfleri veya harf gruplarını temsil etmek için matematiksel bir formül kullanır. Örneğin, A = 1, B = 2, C = 3, ... . Böylece ABC mesajı her harfin değerinin 13 ile çarpılmasıyla elde edilir. O halde ABC mesajı 13 26 39 olacaktır.
Kodların kriptanalize yatkınlık ve hantal kod kitabını yönetmenin zorluğu gibi çeşitli dezavantajları vardır, bu nedenle şifreler artık modern kriptografide baskın tekniktir.
Bunun aksine, kodlar temsili olduklarından, tek tek kod kitabı öğelerinin matematiksel analizine açık değildirler. Örnekte, 13 26 39 mesajı her bir sayının 13'e bölünmesi ve ardından alfabetik olarak sıralanmasıyla kırılabilir. Bununla birlikte, kod kitabı kriptanalizinin odak noktası, frekans analizi kullanılarak düz metin mesajları içindeki aynı harf sıklığıyla eşleşen bireysel kod öğelerinin karşılaştırmalı sıklığıdır. Yukarıdaki örnekte, 1001, 1002, 1003 kod grubu birden fazla kez ortaya çıkabilir ve bu sıklık ABC'nin düz metin mesajlarında ortaya çıkma sayısıyla eşleşebilir.
(Geçmişte veya teknik olmayan bağlamlarda, "kod" ve "şifre" genellikle herhangi bir şifreleme biçimine atıfta bulunmak için kullanılır).
Kodlar, karşılık gelen düz metinleriyle birlikte listelenen kod gruplarının sözlükleri olan "kod kitapları" (fiziksel veya kavramsal) tarafından tanımlanır. Kodlar başlangıçta kod gruplarını kod tasarlayana veya kodlayıcıya kolaylık sağlamak için 'düz metin sırasına' göre atamıştır. Örneğin, sayısal kod grupları kullanan bir kodda, "a" ile başlayan bir düz metin kelimesi düşük değerli bir gruba sahip olurken, "z" ile başlayan bir kelime yüksek değerli bir gruba sahip olurdu. Aynı kod kitabı, bir düz metin mesajını kodlanmış bir mesaja veya "kod metnine" "kodlamak" ve bir kod metnini tekrar düz metin mesajına "çözmek" için kullanılabilir.
Kod kırıcılar için hayatı daha da zorlaştırmak amacıyla kod kırıcılar, kod grupları ile eşleşen düz metnin sıralaması arasında tahmin edilebilir bir ilişki olmayan kodlar tasarladılar. Pratikte bu, biri kodlama için kod gruplarını bulmak, diğeri de kod çözme için düz metni bulmak üzere kod gruplarına bakmak için iki kod kitabına ihtiyaç duyulduğu anlamına geliyordu. Bu tür "iki parçalı" kodlar geliştirmek için daha fazla çaba ve dağıtmak (ve değiştirildiklerinde güvenli bir şekilde atmak) için iki kat daha fazla çaba gerektiriyordu, ancak kırılmaları daha zordu. Ocak 1917'deki Zimmermann Telgrafı, 10.000'den fazla cümle ve tek tek kelime içeren Alman diplomatik "0075" iki parçalı kod sistemini kullanmıştır.[3]
Tek kullanımlık kod (İngilizce: one-time code), basit bir mesajı iletmek için yalnızca bir kez kullanılması amaçlanan önceden düzenlenmiş bir kelime, ifade veya semboldür, genellikle bir planı yürütme veya iptal etme ya da başarılı veya başarısız olduğunu onaylama sinyalidir. Tek seferlik kodlar genellikle masum bir konuşma gibi görünen bir konuşmaya dahil edilmek üzere tasarlanır. Düzgün bir şekilde yapıldıklarında tespit edilmeleri neredeyse imkansızdır, ancak zaten şüphe uyandıran birinin iletişimini izleyen eğitimli bir analist "Bertha Teyze doğuma girdi" gibi bir yorumun uğursuz bir anlamı olduğunu fark edebilir. Tek seferlik kodların ünlü örnekleri şunlardır:
Bazen mesajlar önceden düzenlenmez ve sadece alıcılar tarafından bilinmesi umulan ortak bilgilere dayanır. Buna bir örnek, Sovyet başbakanı Joseph Stalin ile görüşmek üzere Potsdam Konferansı'nda bulunan ABD Başkanı Harry Truman'a gönderilen ve Truman'ı atom bombasının ilk başarılı testi hakkında bilgilendiren telgraftır.
Ayrıca bakınız; Tek kullanımlık şifre, bu makale ile ilgisi olmayan bir şifreleme algoritması
Bir ahmak kodu (İngilizce: "idiot code"), onu kullanan taraflarca oluşturulan bir koddur. Bu tür bir iletişim, orduların sahada kullandığı el işaretlerine benzer.
Örnek olarak: 'Gündüz' ve 'gece' kelimelerinin kullanıldığı her cümle 'saldırı' anlamına gelir. Aşağıdaki cümlede belirtilen yer, saldırı yapılacak yeri belirtir.
Terimin ilk kullanımlarından biri Robert A. Heinlein tarafından yazılan Friday (1982) adlı bilimkurgu kitabındaki bir karakter olan George Perrault tarafından yapılmış gibi görünmektedir:
Terörizm uzmanı Magnus Ranstorp, Amerika Birleşik Devletleri'ne 11 Eylül saldırılarını gerçekleştiren kişilerin planlarını tartışmak için basit e-posta ve "ahmak kodu" olarak adlandırdığı bir kod kullandıklarını söyledi.[5]
Bir monoalfabetik yerine koyma şifresi, çözmek kolay olsa da, basit bir kodu çözmek bile zordur. Şifreli bir mesajın şifresini çözmek biraz yabancı dilde yazılmış bir belgeyi tercüme etmeye benzer; bu görev temelde kod grupları ve bunların temsil ettiği açık metin sözcüklerinden oluşan bir "sözlük" oluşturmaktan ibarettir.
Basit bir kodun zayıflık noktalarından biri, İngilizcedeki "the" veya "a" gibi bazı kelimelerin diğerlerinden daha yaygın olduğu gerçeğidir. Telgraf mesajlarında "STOP" (yani cümle ya da paragraf sonu) kod grubu genellikle çok yaygındır. Bu, anlamları olmasa da cümleler açısından mesajın yapısını tanımlamaya yardımcı olur ve bu kriptanalitik olarak yararlıdır.
Aynı kodla şifrelenmiş birçok kodeks toplayarak ve daha sonra diğer kaynaklardan gelen bilgileri kullanarak bir koda karşı daha fazla ilerleme kaydedilebilir
Örneğin, neredeyse sadece belirli bir ordudan gelen mesajlarda bulunan ve başka hiçbir yerde bulunmayan belirli bir kod grubu pekala o ordunun komutanını gösteriyor olabilir. Belirli bir yere yapılan bir saldırıdan önceki mesajlarda görülen bir kod grubu pekala o yeri temsil ediyor olabilir.
Hatılatıcılar, kod gruplarının tanımları için anında bir hediye olabilir. Kod grupları belirlendikçe, bağlamdan ve eğitimli tahminlerden ortaya çıkan daha fazla kod grubu ile kademeli olarak kritik bir kütle oluşturabilirler. Tek parçalı kodlar, iki parçalı kodlara göre bu tür eğitimli tahminlere karşı daha savunmasızdır, çünkü tek parçalı bir kodun "26839" kod numarasının "buldozer" anlamına geldiği belirlenirse, daha düşük kod numarası olan "17598" muhtemelen "a" veya "b" ile başlayan bir düz metin kelimesini temsil edecektir. En azından basit tek parçalı kodlar için.
Örneğin bir düşmana karşı belirli bir zamanda ve yerde bir baskın düzenlemek ve ardından baskından sonra gönderilen kod mesajlarını incelemek suretiyle kodlanmış bir mesaja "ekim" veya bilgi "tohumlama" için çeşitli hileler kullanılabilir. Kodlama hataları bir kodun içine özellikle faydalı bir parmak izidir; insanlar güvenilir bir şekilde hata yaparlar, bazen de feci hatalar. Veri yerleştirmek ve hatalardan faydalanmak şifrelere karşı da işe yarar.
Yeni bir kod oluşturmak, yeni bir dil inşa etmek ve bunun için bir sözlük yazmak gibidir; bilgisayarlardan önce bu özellikle büyük bir işti. Bir kod ele geçirilirse, tüm görevin baştan yapılması gerekir ve bu da hem kriptograflar hem de kod kullanıcıları için çok fazla iş anlamına gelir. Pratikte, kodlar yaygın olarak kullanıldığında, kod kırıcıları hayal kırıklığına uğratmak ve çalınan veya kopyalanan kod kitaplarının kullanım ömrünü sınırlamak için genellikle periyodik olarak değiştirilirlerdi.
Kodlar oluşturulduktan sonra, kod kitabı dağıtımı lojistik açıdan hantaldır ve kodun ele geçirilme olasılığını artırır. "İkisi ölmüşse üç kişi bir sırrı saklayabilir" (Benjamin Franklin - Wikiquote) diye bir söz vardır ve biraz abartılı olsa da, bir sır birkaç kişi arasında paylaşılırsa saklanması zorlaşır. Kodlar sadece birkaç dikkatli kişi tarafından kullanılıyorsa makul ölçüde güvenli olduğu düşünülebilir, ancak tüm ordular aynı kod kitabını kullanıyorsa, güvenlik çok daha zor hale gelir.
Buna karşılık, şifrelerin güvenliği genellikle şifre anahtarlarının korunmasına bağlıdır. Şifre anahtarları çalınabilir ve insanlar bunlara ihanet edebilir, ancak değiştirilmeleri ve dağıtılmaları çok daha kolaydır.
Kriptanalizin zorluğunu artırmak için bir mesajı önce kodladıktan sonra şifrelemek yaygındı. Sayısal bir kodda bu genellikle bir "katkı maddesi" ile yapılırdı - basitçe kod gruplarına modulo 10 ile basamak basamak eklenen uzun bir anahtar sayı. Kod kitaplarının aksine, katkı maddeleri sık sık değiştirilirdi. Ünlü Japon Donanma kodu, JN-25, bu tasarıma sahipti.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.