UTILS.
100% у браузері
✖️

Афінний шифр: кодувальник / декодувальник

Моноалфавітний шифр за формулою E(x)=(a·x+b) mod 26, з перевіркою ключа (gcd(a,26)=1) і декодуванням через модульне обернення. Кодуйте чи декодуйте літери миттєво.

Ключ a має бути взаємно простим із 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 або 25.

— результат з’явиться тут —

Про цей інструмент

Афінний шифр: кодувальник / декодувальник — це безкоштовний браузерний інструмент для моноалфавітного шифру, побудованого на модульній арифметиці. Літери A–Z пронумеровані 0–25, і кожна перетворюється лінійною функцією E(x) = (a·x + b) mod 26, де a і b — два значення ключа. Декодування обертає це через D(y) = a⁻¹·(y − b) mod 26, де a⁻¹ — модульне мультиплікативне обернення a за модулем 26.

Щоб шифр був оборотним, множник a має бути взаємно простим із 26 — тобто gcd(a, 26) = 1. Дванадцять допустимих варіантів: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 і 25; будь-яке інше значення відобразило б дві різні літери в один вихід і не може бути декодоване, тож інструмент відхиляє його з чітким повідомленням. Адитивний ключ b може бути будь-яким значенням 0–25. Усе обчислюється локально у вашому браузері, тож нічого набране не залишає ваш пристрій.

Регістр зберігається, а нелітерні символи проходять без змін. Афінний шифр узагальнює простіші класичні шифри: задання a = 1 зводить його до зсуву Цезаря на b, а a = 25, b = 25 відтворює шифр Атбаш. Він є основою курсів дискретної математики й теорії чисел, бо робить конкретними ідеї взаємної простоти й модульних обернень, і регулярно з’являється в головоломках CTF та інструментах на кшталт CyberChef.

Поширені запитання

Яка формула афінного шифру?
Кодування — E(x) = (a·x + b) mod 26, а декодування — D(y) = a⁻¹·(y − b) mod 26, з літерами, пронумерованими 0–25. Тут a⁻¹ — модульне мультиплікативне обернення a за модулем 26.
Які значення a допускаються?
Лише значення, взаємно прості з 26, тобто gcd(a, 26) = 1: це 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 або 25. Інші значення роблять шифр необоротним, тож інструмент їх відхиляє.
Як виконується декодування?
Потрібне модульне обернення a⁻¹ від a за модулем 26 — число, для якого a·a⁻¹ ≡ 1 (mod 26). Інструмент знаходить його автоматично, потім застосовує D(y) = a⁻¹·(y − b) mod 26 до кожної літери.
Як він пов’язаний із Цезарем і Атбашем?
Він узагальнює обидва. При a = 1 афінний шифр стає зсувом Цезаря на b, а при a = 25, b = 25 відтворює шифр Атбаш. Це лінійна форма моноалфавітної підстановки.

Більше інструментів