UTILS.
100% di peramban
✖️

Encoder / Decoder Affine Cipher

Sandi monoalfabet menggunakan E(x)=(a·x+b) mod 26, dengan validasi kunci (gcd(a,26)=1) dan dekode invers modular. Enkode atau dekode huruf secara instan.

Kunci a harus koprima dengan 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, atau 25.

— keluaran muncul di sini —

Tentang alat ini

Encoder / Decoder Affine Cipher adalah alat gratis berbasis browser untuk sandi monoalfabet yang dibangun di atas aritmetika modular. Huruf A–Z diberi nomor 0–25 dan masing-masing ditransformasikan oleh fungsi linear E(x) = (a·x + b) mod 26, di mana a dan b adalah dua nilai kunci. Dekode membalik ini dengan D(y) = a⁻¹·(y − b) mod 26, di mana a⁻¹ adalah invers multiplikatif modular dari a modulo 26.

Agar sandi dapat dibalik, pengali a harus koprima dengan 26 — yaitu, gcd(a, 26) = 1. Dua belas pilihan yang valid adalah 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, dan 25; nilai lain akan memetakan dua huruf berbeda ke keluaran yang sama dan tidak dapat didekode, sehingga alat ini menolaknya dengan pesan yang jelas. Kunci aditif b dapat berupa nilai apa pun 0–25. Semuanya dihitung secara lokal di browser Anda, jadi tidak ada yang Anda ketik yang meninggalkan perangkat Anda.

Kapitalisasi dipertahankan dan non-huruf dilewatkan tanpa perubahan. Affine cipher menggeneralisasi sandi klasik yang lebih sederhana: mengatur a = 1 menguranginya menjadi pergeseran Caesar sebesar b, dan a = 25, b = 25 menghasilkan Atbash cipher. Ini adalah materi pokok kursus matematika diskret dan teori bilangan karena membuat gagasan koprimalitas dan invers modular menjadi konkret, dan sering muncul dalam teka-teki CTF serta alat seperti CyberChef.

Pertanyaan yang sering diajukan

Apa rumus affine cipher?
Enkode adalah E(x) = (a·x + b) mod 26 dan dekode adalah D(y) = a⁻¹·(y − b) mod 26, dengan huruf diberi nomor 0–25. Di sini a⁻¹ adalah invers multiplikatif modular dari a modulo 26.
Nilai a mana yang diperbolehkan?
Hanya nilai yang koprima dengan 26, yaitu gcd(a, 26) = 1: yaitu 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, atau 25. Nilai lain membuat sandi tidak dapat dibalik, sehingga alat ini menolaknya.
Bagaimana dekode dilakukan?
Diperlukan invers modular a⁻¹ dari a modulo 26, yaitu bilangan di mana a·a⁻¹ ≡ 1 (mod 26). Alat ini menemukannya secara otomatis, lalu menerapkan D(y) = a⁻¹·(y − b) mod 26 pada setiap huruf.
Bagaimana kaitannya dengan Caesar dan Atbash?
Ia menggeneralisasi keduanya. Dengan a = 1, affine cipher menjadi pergeseran Caesar sebesar b, dan dengan a = 25, b = 25 ia menghasilkan Atbash cipher. Ini adalah bentuk linear dari substitusi monoalfabet.

Alat lainnya