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 es sustituido por un símbolo del alfabeto 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: - c i = mod n Donde: - c i : Identifica el símbolo i del texto cifrado. - a : Se la llama constante de decimación. - m i : Identifica el símbolo i del texto en claro. - b : Se la llama constante de desplazamiento. - n : Es el número de símbolos del alfabeto de cifrado. Los valores numéricos de c i y m i 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: - 0 ≤   b ≤   n, ya que para la sustitución definida para cualquier otro valor de a se puede encontrar un b cuya sustitución es equivalente. - Para que se defina una sustitución utilizable es necesario que a ≠   0. Además podemos acotar a que a ≥   1, ya que la sustitución definida con valores de a negativos se pueden obtener con el mismo valor de a pero sin el signo. - Por las propiedades de la aritmética modular, para que este tipo de cifrado sea operativo es necesario que a y n sean coprimos. Esta condición es necesaria para que a tenga inverso de la multiplicación lo cual es necesario para poder descifrar. Además, se puede demostrar que sea m ≥   1 y sea f : N m − > N m, definida con f = mod m, con a y b enteros, f es una biyección, si, y solo si m c d = 1. Por ejemplo, podemos modelizar el cifrado César, suponiendo el orden natural del alfabeto de n símbolos, por la siguiente ecuación: - c i = mod n En este cifrado, la clave viene definida por los valores enteros a y b, y por el orden usado en el alfabeto de cifrado y en el alfabeto en claro, ambos alfabetos son el mismo número de símbolos, m. Por tanto es un cifrado de clave simétrica. Para descifrar habrá que realizar el proceso inverso que se puede describir con la función matemática: D = mod m donde a − 1 representa al inverso multiplicativo en aritmética modular. Este tipo de cifrado se ha generalizado para su uso como cifrador de bloque en los llamados cifradores afínes por bloques. From Wikipedia, the free encyclopedia

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:

: Identifica el símbolo del texto cifrado.
: Se la llama constante de decimación.
: Identifica el símbolo del texto en claro.
: Se la llama constante de desplazamiento.
: Es el número de símbolos del alfabeto de cifrado (el orden).

Los valores numéricos de y 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:

  • , ya que para la sustitución definida para cualquier otro valor de a se puede encontrar un cuya sustitución es equivalente.
  • Para que se defina una sustitución utilizable es necesario que . Además podemos acotar a que , ya que la sustitución definida con valores de negativos se pueden obtener con el mismo valor de pero sin el signo.
  • Por las propiedades de la aritmética modular, para que este tipo de cifrado sea operativo es necesario que y sean coprimos (o primos relativos). Esta condición es necesaria para que tenga inverso de la multiplicación () lo cual es necesario para poder descifrar. Además, se puede demostrar[1] que sea y sea , definida con , con y enteros, es una biyección, si, y solo si .

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 y , y por el orden usado en el alfabeto de cifrado y en el alfabeto en claro, ambos alfabetos son el mismo número de símbolos, . Por tanto es un cifrado de clave simétrica.

Para descifrar habrá que realizar el proceso inverso que se puede describir con la función matemática:

donde 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 y :

  • Si se dice que el cifrado es por desplazamiento puro. Con ello la función matemática queda . Por tanto para descifrar tenemos que realizar la operación donde es el inverso de la adición en el conjunto de los enteros . Por ejemplo si y entonces ya que se tiene que cumplir .
Observar que si y y el alfabeto en claro y el alfabeto cifrado son iguales y con el mismo orden definido, entonces cada símbolo se sustituirá por sí mismo y por tanto no habrá cifrado.
  • Si se dice que el cifrado es por decimación pura. Con ello la función matemática queda . Por tanto para descifrar tenemos que realizar la operación donde es el inverso de la multiplicación en el conjunto de los enteros .
  • Si y se dice que el cifrado es por sustitución afín. Por tanto en la función matemática al despejar para poder descifrar obtenemos: la última igualdad aplicando propiedad elemental de aritmética modular.

Ejemplo

Supongamos que y y usamos el alfabeto castellano con en el orden habitual como alfabeto en claro y como alfabeto cifrado. Usando el cifrado afín definido de esa forma el símbolo '' se convertirá en , 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'.

Para descifrar aplicamos la fórmula de descifrado. Para el inverso multiplicativo en aritmética modular es . Por tanto para tenemos . El carácter que ocupa la posición 1 del alfabeto es la ''.

Criptoanálisis

Implementaciones en C

Referencias

Related Articles

Wikiwand AI