0

Resultado Decodificado

Afín
A
B

Resultado Codificado

Afín
A
B

Sobre el Cifrado Afín

El Cifrado Afín es un tipo de cifrado de sustitución monoalfabética que encripta reemplazando caracteres en un texto con otros caracteres.

La sustitución de caracteres se realiza utilizando la siguiente fórmula:

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

m representa la cantidad de caracteres a convertir (el tamaño del alfabeto). x es el carácter convertido a un número de 0 a m - 1. a y b son las claves de cifrado.

Por ejemplo, en el caso de las 26 letras de "ABCDEFGHIJKLMNOPQRSTUVWXYZ", m = 26, y x es un número del 0 al 25 que corresponde a A ~ Z.

CarácterABCDEFGHIJKLMNOPQRSTUVWXYZ
x012345678910111213141516171819202122232425

Si a = 5, b = 3, el cifrado se realiza de la siguiente manera:

AntesSECRET
x184217419
(5x + 3)932313882398
(5x + 3) mod 26152313102320
DespuésPXNKXU

El resultado de cifrar todas las letras con a = 5, b = 3 es el siguiente:

Antes:   ABCDEFGHIJKLMNOPQRSTUVWXYZ
Después: DINSXCHMRWBGLQVAFKPUZEJOTY

Especificar a = 1, b = -3 da el mismo resultado que el Cifrado César, a = 1, b = 13 da ROT13, y a = -1, b = -1 da Cifrado Atbash.

a debe ser un número coprimo con m. Esto significa que el único divisor común de a y m debe ser 1. Por ejemplo, si a = 4, m = 26, no se puede especificar porque es divisible por 2 además de 1. En DenCode, si se especifica un a inválido, el carácter original se devuelve tal cual sin conversión.

Soporte para otros idiomas

Además del alfabeto latino, se soportan el alfabeto cirílico y Hiragana/Katakana japonés.

Los resultados del cifrado con a = 5, b = 3 son los siguientes:

Cirílico
Antes:   АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Después: ГИНТЧЬБЖЛРХЪЯДЙОУШЭВЗМСЦЫАЕКПФЩЮ

m = 32 (32 caracteres).

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

El orden de los caracteres se basa en el orden de definición de Unicode. Tenga en cuenta que "ゕ", "ゖ", "ヵ", "ヶ", "ヷ", "ヸ", "ヹ", y "ヺ" no están sujetos a cifrado.

m = 84 (84 caracteres).