Cifrado afín

El cifrado afín es un tipo de cifrado por sustitución en el que cada símbolo del alfabeto en claro (el alfabeto del texto en claro) es sustituido por un símbolo del alfabeto cifrado (el alfabeto del texto cifrado) siendo el número de símbolos del alfabeto en claro igual que el número de símbolos del alfabeto cifrado.

Para hallar el símbolo del alfabeto cifrado que sustituye a un determinado símbolo del alfabeto en claro, se usa una función matemática afín en aritmética modular.

Para poder aplicar la función matemática lo primero que hay que hacer es asignar un orden que a cada símbolo de cada uno de los alfabeto le asocie un número de orden.

Una vez establecido esto, la fórmula matemática tiene la siguiente forma: Donde: Los valores numéricos de

para traducirlos a símbolos de alfabetos, se interpretan como la posición del símbolo en el orden elegido de cada alfabeto.

Sobre los valores de las constantes podemos decir: Por ejemplo, podemos modelizar el cifrado César, suponiendo el orden natural del alfabeto de

símbolos, por la siguiente ecuación: En este cifrado, la clave viene definida por los valores enteros

Por tanto es un cifrado de clave simétrica.

representa al inverso multiplicativo en aritmética modular (el menor número que

Este tipo de cifrado se ha generalizado para su uso como cifrador de bloque en los llamados cifradores afínes por bloques.

Podemos clasificar los cifradores afines según los valores de

Usando el cifrado afín definido de esa forma el símbolo '

, por tanto, el carácter asociado será el que ocupa la posición 20 empezando desde 0, la '

Aplicando el mismo algoritmo podemos obtener que el texto cifrado de 'plantanuclear' es 'ntsdlspctmsb'.

El carácter que ocupa la posición 1 del alfabeto es la '

El cifrado afín es vulnerable a ataques criptoanalíticos, los más habituales son:[2]​ El cifrado afín, como cualquier otro cifrado por sustitución, es vulnerable a ataques por análisis de frecuencias.

En el inglés los caracteres más frecuentes son la E y después la T. Si suponemos el orden habitual entonces E=4 y T=19.

Analizando una cantidad suficiente de mensaje cifrado obtenemos que, por ejemplo, las más frecuentes son la V y después la E.

Del resultado anterior podemos ver que probablemente la E esté siendo sustutida por la V y la T por la E.

Por tanto podemos obtener las siguientes congruencias: Si restamos de la primera ecuación la segunda, obtenemos lo siguiente: resolviendo obtenemos: Sustituyendo a en la primera ecuación original obtenemos: despejando A partir de estos valores puedo hallar el inverso multiplicativo, por ejemplo usando el algoritmo de Euclides extendido,

Ahora toca verificar nuestras suposiciones, si aplicando los valores obtenidos obtenemos un texto inteligible entonces habíamos acertado en nuestras suposiciones, en otro caso habremos fallado y será necesario hacer otras suposiciones.

Este valor es realmente pequeño y un ordenador podría probar todas las posibles combinaciones muy rápidamente.

Para hacer crecer este valor podemos usar una clave para que nos sirva como un desplazamiento adicional para cada símbolo.

En esta situación, el cifrador se convierte en un cifrador de sustitución monoalfabético general en el que cada símbolo del alfabeto en claro es susituido por un símbolo del alfabeto cifrado.

En este tipo de cifradores las posibles sustituciones son n!=27!

Por ejemplo, si la clave es "HOLA" al primer símbolo de texto cifrado obtenido por la función, se le aplicará un desplazamiento de 8 (la H ocupa la octava posición), y así se sigue sucesivamente y cuando se acabe la clave volvemos a empezar.