Afin Şifresi
E(x) = (ax + b) mod 26 ile kodlayın ve çözün. a ve b'yi girin; araç a'nın geri alınabildiğini denetler, modüler tersini bulur ve her harfin işlemini adım adım gösterir; anahtarı bilmiyorsanız çözme modu 312 anahtarın tümünü dener ve sonuçları ne kadar İngilizceye benzediklerine göre sıralar.
26 ile ortak çarpanı olmamalı — aşağıdaki 12 değerden birini seçin.
Herhangi bir tam sayı; mod 26 alınır.
Bu anahtar için işlem
Şifreleme: E(x) = (5x + 8) mod 26
Çözme: D(y) = 21(y − 8) mod 26
5 × 21 = 105, bu da 26'nın bir katından 1 fazla olduğundan 21, 5 sayısının tersidir.
Her geçerli a ve tersi
| a | 1 | 3 | 5 | 7 | 9 | 11 | 15 | 17 | 19 | 21 | 23 | 25 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| a⁻¹ | 1 | 9 | 21 | 15 | 3 | 19 | 7 | 23 | 11 | 5 | 17 | 25 |
Harf harf — ilk 12 harf
| Harf | x | a·x + b | mod 26 | Sonuç |
|---|---|---|---|---|
| A | 0 | 8 | 8 | I |
| F | 5 | 33 | 7 | H |
| F | 5 | 33 | 7 | H |
| I | 8 | 48 | 22 | W |
| N | 13 | 73 | 21 | V |
| E | 4 | 28 | 2 | C |
| C | 2 | 18 | 18 | S |
| I | 8 | 48 | 22 | W |
| P | 15 | 83 | 5 | F |
| H | 7 | 43 | 17 | R |
| E | 4 | 28 | 2 | C |
| R | 17 | 93 | 15 | P |
Afin Şifresi Nasıl Kullanılır
- 1. Bir mod seçin ve metninizi girin. Şifrele, düz metni şifreli metne çevirir; Çöz bunu tersine çevirir.
- 2. Anahtarı ayarlayın. Çarpan a'yı ve kaydırma b'yi girin. a, alanların altında listelenen 12 değerden biri olmalıdır — kullanmak için birine tıklayın. b herhangi bir tam sayı olabilir; mod 26 alınır.
- 3. İşlemi okuyun. Sonucun altındaki panel, anahtarınız için her iki formülü, a'nın tersini ve her harfin aritmetiğini verir.
- 4. Anahtar yok mu? Hepsini deneyin. Çöz modunda 312 anahtarın hepsini deneyin seçeneğini işaretleyin. Sonuçlar, harf sayımlarının İngilizceye ne kadar yakın olduğuna göre sıralanır ve Bu anahtarı kullan bunlardan herhangi birini yükler.
Afin Şifresi Formülü
Harfleri sıfırdan numaralandırın: A = 0, B = 1 … Z = 25. Bir x harfini şifrelemek için onu a ile çarpın, b ekleyin ve 26'ya bölündüğünde kalanı tutun: E(x) = (a·x + b) mod 26. Bir y harfinin şifresini çözmek için bu adımları ters sırayla geri alın — b'yi çıkarın, ardından a'nın modüler tersi olan a⁻¹ ile çarpın: D(y) = a⁻¹·(y − b) mod 26. Ters, a ile çarpıldığında kalanı 1 bırakan sayıdır. a = 5 için bu 21'dir, çünkü 5 × 21 = 105 = 4 × 26 + 1.
Neden yalnızca 12 a değeri işe yarar
a ile çarpma hiçbir zaman iki harfi aynı yere göndermemelidir; aksi halde çözmenin iki yanıtı olurdu. Bu, a'nın 26 = 2 × 13 ile ortak bir çarpanı olduğunda gerçekleşir. Örneğin a = 2 ile A (0) ve N (13) ikisi de b'ye düşer, çünkü 2 × 13 = 26, bu da mod 26'da 0'dır. Bu yüzden a tek olmalı ve 13 olmamalıdır; geriye aşağıdaki on iki sayı kalır — tam olarak mod 26'da tersi olanlar. b için 26 seçenekle bu, 12 × 26 = 312 anahtar eder; bunlardan biri (a = 1, b = 0) hiçbir şeyi değiştirmez.
| a | 1 | 3 | 5 | 7 | 9 | 11 | 15 | 17 | 19 | 21 | 23 | 25 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| a⁻¹ | 1 | 9 | 21 | 15 | 3 | 19 | 7 | 23 | 11 | 5 | 17 | 25 |
Çalışılmış Örnek: a = 5, b = 8
a = 5 ve b = 8 ile AFFINE CIPHER, IHHWVC SWFRCP olarak şifrelenir — aracın örneği. AFFINE'in harfleri adım adım:
| Harf | x | 5x + 8 | mod 26 | Sonuç |
|---|---|---|---|---|
| A | 0 | 8 | 8 | I |
| F | 5 | 33 | 7 | H |
| I | 8 | 48 | 22 | W |
| N | 13 | 73 | 21 | V |
| E | 4 | 28 | 2 | C |
Çözmek için araç a⁻¹ = 21 ile çarpar. I (8), 21 × (8 − 8) = 0 olur, bu A'dır; H (7), 21 × (7 − 8) = −21 olur, bu mod 26'da 5'tir, yani F. Bu adımda negatif değerler normaldir — mod 26 yalnızca sayı 0 ile 25 arasına gelene kadar 26 eklemek veya çıkarmak demektir.
İki tanıdık şifre aslında kılık değiştirmiş afin şifreleridir. a = 1 ile formül x + b olur, yani b kadar bir Sezar kaydırması; a = 25 ve b = 25 ile ise Atbash şifresi elde edilir; yani alfabe tersten okunur.
Bir Afin Şifresi Nasıl Kırılır
Gerçekten bir şeyi değiştiren yalnızca 311 anahtar olduğundan en kaba saldırı hepsini denemektir; kaba kuvvet seçeneği bunu saniyenin çok küçük bir kesrinde yapar. Zor kısım yanıtı tanımaktır; bu yüzden araç her sonucu, harf sayımlarının tipik İngilizceyle ki-kare karşılaştırmasıyla sıralar. Bir cümlede veya daha uzun metinde doğru anahtar en üste çıkar; kısa bir ifadede çıkmayabilir — yalnızca IHHWVC SWFRCP için gerçek anahtar (5, 8) dördüncü sıradadır — bu yüzden ilk satıra güvenmek yerine listeyi aşağı doğru okuyun.
Kriptanalistler cebirle daha iyisini yapabilir. Afin şifresi tek alfabeli bir yerine koyma şifresidir — her harf her zaman aynı harfe dönüşür — bu yüzden sıklık analizi hangi şifre harflerinin E ve T'yi temsil ettiğini önerir ve bu tür iki tahmin iki denklem verir. Yukarıdaki anahtarda E (4), C (2) olur ve T (19), Z (25) olur; yani 4a + b ≡ 2 ve 19a + b ≡ 25 (mod 26). İkincisinden birincisini çıkarmak 15a ≡ 23 verir; 15'in tersi olan 7 ile çarpmak a ≡ 161 ≡ 5 verir ve ardından b ≡ 2 − 20 ≡ 8 olur. Bilinen düz metinden iki harf, tüm anahtarı ortaya çıkarır.
Sık sorulan sorular
- Afin şifresi nedir?
- Her harfin x sayısını (a·x + b) mod 26'ya çeviren bir yerine koyma şifresidir; yani her harf a ile çarpılır ve ardından b kadar kaydırılır. Anahtar (a, b) çiftidir. Belirli bir harf her zaman aynı şifre harfine dönüştüğü için tek alfabelidir — Sezar şifresinin daha güçlü görünen bir akrabası olup kırılması daha zor değildir.
- a neden 26 ile aralarında asal olmalı?
- Çözme, a'nın mod 26'daki tersiyle çarpar ve bu ters yalnızca a ile 26'nın ortak çarpanı olmadığında vardır. Ortak bir çarpanları varsa iki farklı harf aynı harfe şifrelenir ve mesaj kesinlikle geri okunamaz. Bu, her çift sayıyı ve 13'ü eler; geriye 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 ve 25 kalır.
- a'nın modüler tersini nasıl bulurum?
- a ile çarpıldığında 26'ya bölündüğünde kalanı 1 bırakan 1 ile 25 arasındaki sayıyı bulun. a = 7 için bu 15'tir, çünkü 7 × 15 = 105 = 4 × 26 + 1. Yalnızca on iki durum olduğundan bunları yukarıdaki tablodan okumak en hızlısıdır; büyük modüller için genişletilmiş Öklid algoritması tersi doğrudan bulur.
- Afin şifresinin kaç anahtarı var?
- 312 — a için on iki seçenek çarpı b için 26 seçenek. Bunlardan biri, a = 1 ve b = 0, metni değiştirmeden bırakır; yani 311'i gerçekten şifreler. Bu, her anahtarı bir öğleden sonra elle ve bilgisayarla bir anda denemeye yetecek kadar azdır.
- Sezar şifresi bir tür afin şifresi midir?
- Evet. a = 1 almak formülü x + b'ye çevirir, bu da b kadar bir Sezar kaydırmasıdır; ROT13, a = 1, b = 13'tür. Atbash da afindir, a = 25 ve b = 25 ile. Her ikisi de kaba kuvvetin denediği 312 anahtarın arasındadır.
- Afin şifresi güvenli mi?
- Hayır. Kaba kuvvete, sıklık analizine ve yukarıdaki cebirin gösterdiği gibi bilinen düz metinden yalnızca iki harfe yenilir. Modüler aritmetik için mükemmel bir alıştırmadır, ancak önemli olan her şey için modern şifreleme gerekir.