0

Hasil Decode

Affine
A
B

Hasil Encode

Affine
A
B

Tentang Sandi Affine

Sandi Affine adalah salah satu sandi substitusi tunggal yang mengenkripsi dengan mengganti karakter dalam teks dengan karakter lain.

Substitusi karakter dilakukan menggunakan rumus perhitungan berikut.

E(x) = (ax + b) mod m

m mewakili jenis karakter yang akan dikonversi. x adalah karakter yang digantikan oleh angka dari 0 hingga m - 1. a dan b adalah kunci enkripsi.

Sebagai contoh, dalam kasus 26 huruf alfabet "ABCDEFGHIJKLMNOPQRSTUVWXYZ", m = 26, dan x adalah 0 hingga 25 di mana A hingga Z diganti dengan angka.

KarakterABCDEFGHIJKLMNOPQRSTUVWXYZ
x012345678910111213141516171819202122232425

Jika a = 5 dan b = 3, enkripsi dilakukan sebagai berikut.

Sebelum EnkripsiSECRET
x184217419
(5x + 3)932313882398
(5x + 3) mod 26152313102320
Setelah EnkripsiPXNKXU

Hasil enkripsi semua huruf alfabet dengan a = 5, b = 3 adalah sebagai berikut.

Sebelum : ABCDEFGHIJKLMNOPQRSTUVWXYZ
Sesudah : DINSXCHMRWBGLQVAFKPUZEJOTY

Jika a = 1, b = -3 ditentukan, hasilnya sama dengan sandi Caesar. Jika a = 1, b = 13 ditentukan, hasilnya sama dengan ROT13. Jika a = -1, b = -1 ditentukan, hasilnya sama dengan sandi Atbash.

a harus berupa angka yang relatif prima dengan m. Ini berarti satu-satunya angka yang dapat membagi a dan m adalah 1. Misalnya, jika a = 4 dan m = 26, itu tidak dapat ditentukan karena dapat dibagi dengan 2 selain 1. Di DenCode, jika a yang tidak valid ditentukan, karakter asli dikembalikan apa adanya tanpa konversi.

Dukungan Bahasa Lain

Selain huruf Latin, huruf Sirilik dan Hiragana/Katakana Jepang juga didukung.

Hasil enkripsi dengan a = 5, b = 3 masing-masing adalah sebagai berikut.

Huruf Sirilik
Sebelum : АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Sesudah : ГИНТЧЬБЖЛРХЪЯДЙОУШЭВЗМСЦЫАЕКПФЩЮ

m = 32 (32 karakter).

Hiragana/Katakana Jepang
Sebelum : ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゔ
Sesudah : いぉぎこじそぢでぬぱぶほむゅりわゔぅおくごすぞっとねひぷぼめゆるゐぁうかぐさずたつどのびへぽもょれゑあぇがけざせだづなはぴべまゃよろをぃえきげしぜちてにばふぺみやらゎん
Sebelum : ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴ
Sesudah : イォギコジソヂデヌパブホムュリワヴゥオクゴスゾットネヒプボメユルヰァウカグサズタツドノビヘポモョレヱアェガケザセダヅナハピベマャヨロヲィエキゲシゼチテニバフペミヤラヮン

Urutan karakter didasarkan pada urutan definisi di Unicode. Harap dicatat bahwa "ゕ", "ゖ", "ヵ", "ヶ" dan "ヷ", "ヸ", "ヹ", "ヺ" tidak dikenakan enkripsi.

m = 84 (84 karakter).