UTILS.
100% w przeglądarce
✖️

Szyfr afiniczny — koder / dekoder

Szyfr monoalfabetyczny oparty na E(x)=(a·x+b) mod 26, z walidacją klucza (gcd(a,26)=1) i dekodowaniem przez odwrotność modularną. Koduj lub dekoduj litery natychmiast.

Klucz a musi być względnie pierwszy z 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 lub 25.

— wynik pojawi się tutaj —

O tym narzędziu

Koder / dekoder szyfru afinicznego to darmowe narzędzie działające w przeglądarce, obsługujące szyfr monoalfabetyczny zbudowany na arytmetyce modularnej. Litery A–Z są ponumerowane 0–25 i każda jest przekształcana funkcją liniową E(x) = (a·x + b) mod 26, gdzie a i b to dwie wartości klucza. Dekodowanie odwraca to działanie wzorem D(y) = a⁻¹·(y − b) mod 26, gdzie a⁻¹ jest odwrotnością multiplikatywną modularną liczby a modulo 26.

Aby szyfr był odwracalny, mnożnik a musi być względnie pierwszy z 26 — to znaczy gcd(a, 26) = 1. Dwanaście dopuszczalnych wartości to 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 i 25; każda inna wartość odwzorowywałaby dwie różne litery na ten sam wynik i nie da się jej odkodować, więc narzędzie ją odrzuca z czytelnym komunikatem. Klucz addytywny b może być dowolną wartością 0–25. Wszystko jest obliczane lokalnie w Twojej przeglądarce, więc nic z tego, co wpiszesz, nie opuszcza Twojego urządzenia.

Wielkość liter jest zachowywana, a znaki niebędące literami przechodzą bez zmian. Szyfr afiniczny uogólnia prostsze szyfry klasyczne: ustawienie a = 1 redukuje go do przesunięcia Cezara o b, a a = 25, b = 25 odtwarza szyfr Atbash. Jest podstawą kursów matematyki dyskretnej i teorii liczb, ponieważ czyni idee względnej pierwszości i odwrotności modularnych konkretnymi, i regularnie pojawia się w łamigłówkach CTF oraz narzędziach takich jak CyberChef.

Najczęściej zadawane pytania

Jaki jest wzór szyfru afinicznego?
Kodowanie to E(x) = (a·x + b) mod 26, a dekodowanie to D(y) = a⁻¹·(y − b) mod 26, przy literach ponumerowanych 0–25. Tutaj a⁻¹ to odwrotność multiplikatywna modularna liczby a modulo 26.
Które wartości a są dozwolone?
Tylko wartości względnie pierwsze z 26, tj. gcd(a, 26) = 1: czyli 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 lub 25. Inne wartości czynią szyfr nieodwracalnym, więc narzędzie je odrzuca.
Jak przebiega dekodowanie?
Potrzebna jest odwrotność modularna a⁻¹ liczby a modulo 26, czyli liczba, dla której a·a⁻¹ ≡ 1 (mod 26). Narzędzie znajduje ją automatycznie, a następnie stosuje D(y) = a⁻¹·(y − b) mod 26 do każdej litery.
Jak ma się do szyfrów Cezara i Atbash?
Uogólnia oba. Przy a = 1 szyfr afiniczny staje się przesunięciem Cezara o b, a przy a = 25, b = 25 odtwarza szyfr Atbash. To liniowa postać podstawienia monoalfabetycznego.

Więcej narzędzi