0

Decodificato

Affine
A
B

Codificato

Affine
A
B

Informazioni sul Cifrario Affine

Il Cifrario Affine è un tipo di cifrario a sostituzione monoalfabetica che crittografa sostituendo i caratteri del testo con altri caratteri.

La sostituzione dei caratteri viene eseguita utilizzando la seguente formula:

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

m rappresenta il numero di tipi di caratteri da convertire. x è il carattere sostituito da un numero da 0 a m - 1. a e b sono le chiavi di crittografia.

Ad esempio, nel caso delle 26 lettere dell'alfabeto "ABCDEFGHIJKLMNOPQRSTUVWXYZ", m = 26, e x diventa un numero da 0 a 25 che sostituisce A ~ Z.

CarattereABCDEFGHIJKLMNOPQRSTUVWXYZ
x012345678910111213141516171819202122232425

Se impostiamo a = 5 e b = 3, la crittografia avviene come segue:

Prima (Chiaro)SECRET
x184217419
(5x + 3)932313882398
(5x + 3) mod 26152313102320
Dopo (Cifrato)PXNKXU

Il risultato della crittografia di tutte le lettere inglesi con a = 5 e b = 3 è il seguente:

Prima : ABCDEFGHIJKLMNOPQRSTUVWXYZ
Dopo  : DINSXCHMRWBGLQVAFKPUZEJOTY

Specificando a = 1, b = -3 si ottiene lo stesso risultato del Cifrario di Cesare, con a = 1, b = 13 si ottiene ROT13, e con a = -1, b = -1 si ottiene lo stesso risultato del Cifrario Atbash.

a deve essere un numero coprimo con m. Ciò significa che l'unico numero che divide sia a che m deve essere 1. Ad esempio, nel caso di a = 4 e m = 26, non può essere specificato perché è divisibile anche per 2 oltre che per 1. In DenCode, se viene specificato un a non valido, il carattere originale viene restituito senza conversione.

Supporto per altre lingue

Oltre ai caratteri latini, sono supportati i caratteri cirillici e i caratteri giapponesi Hiragana/Katakana.

I risultati della crittografia con a = 5 e b = 3 sono i seguenti:

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

m = 32 (32 caratteri).

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

L'ordine dei caratteri è quello definito in Unicode. Si noti che "ゕ", "ゖ", "ヵ", "ヶ", "ヷ", "ヸ", "ヹ", e "ヺ" non sono soggetti a crittografia.

m = 84 (84 caratteri).