Cifrado Afín (Affine)

Definición, funcionamiento y herramienta interactiva.

• Lectura: ~7 min

¿Qué es el cifrado Afín?

El cifrado Afín es una sustitución monoalfabética que generaliza a César. Cada letra del alfabeto (mapeada a un índice 0..25) se transforma mediante una función lineal módulo 26 con dos parámetros: a (pendiente) y b (desplazamiento).

La idea es: convertir letras → números, aplicar la transformación afín y convertir de vuelta a letras. Si a y 26 no son coprimos, la función no es invertible y no se puede descifrar.

Fórmulas

Cifrado:     C = (a·P + b) mod 26
Descifrado:  P = a⁻¹·(C - b) mod 26

Condición:   a debe ser coprimo con 26 (gcd(a,26)=1) para que exista a⁻¹.
Válidos:     a ∈ {1,3,5,7,9,11,15,17,19,21,23,25},  b ∈ {0..25}
  

Aquí a⁻¹ es el inverso modular de a en ℤ26: el número tal que a·a⁻¹ ≡ 1 (mod 26).

Cómo funciona

1) Elige a coprimo con 26 y un b entre 0 y 25. 2) Normaliza el texto (tildes → base); puedes decidir preservar ñ/Ñ sin cifrar por compatibilidad y documentarlo. 3) Convierte cada letra a su índice (A=0, …, Z=25), aplica C = (a·P + b) mod 26 y vuelve a letra.

Para descifrar, calcula a⁻¹ (por Euclides extendido), y usa P = a⁻¹·(C - b) mod 26.

Ejemplo

Ejemplo rápido

Parámetros: a=5, b=8E(x) = (5x + 8) mod 26
Texto: ATAQUE → índices A=0, T=19, A=0, Q=16, U=20, E=4

Cálculo: A: (5·0+8)=8 → I  |  T: (5·19+8)=103≡25 → Z  |  A: 8 → I  |  Q: 88≡10 → K  |  U: 108≡4 → E  |  E: 28≡2 → C

Resultado cifrado: IZIKEC

Para descifrar con a=5, su inverso es a⁻¹=21 (porque 5·21=105≡1 mod 26).

Historia

  • Formaliza y generaliza sustituciones clásicas (como César) en términos de álgebra modular.
  • Muy utilizado en docencia para introducir inversos modulares y funciones lineales en ℤn.

Ataques clásicos

  • Frecuencia + pares plano/cifrado: con dos pares (P₁,C₁), (P₂,C₂) se resuelve el sistema y se recuperan a y b.
  • Fuerza bruta: el espacio de claves es pequeño (12 valores posibles de a × 26 de b = 312 combinaciones).
  • Idioma: probar mapeos probables (p. ej., que E del plano vaya a una letra frecuente del cifrado) acelera la ruptura.

Sigue siendo monoalfabético: conserva patrones de frecuencia global, por eso es vulnerable.

Pros y contras

Pros

  • Generaliza César y es ideal para enseñar aritmética modular e inversos.
  • Parámetros flexibles (a, b) y implementación simple.
  • Perfecto para herramientas interactivas y ejercicios de aula.

Contras

  • Monoalfabético: vulnerable a análisis de frecuencia y a fuerza bruta (espacio de 312 claves).
  • Si a no es coprimo con 26, no hay inverso y el descifrado es imposible.
  • No provee integridad ni autenticidad; solo oculta el orden de letras mediante una función lineal.

Herramienta de Cifrado y Descifrado Afín

Opciones

Valores permitidos de a: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25.

b acepta negativos y valores grandes; se normaliza módulo 26 (p. ej., 27→1, −1→25).