Convertidor de Texto a Cifra Hill (Cifrado Matricial) Online
Cifra y descifra mensajes mediante álgebra lineal modular. Configura matrices clave $2 \times 2$ y $3 \times 3$, verifica coprimalidad euclidiana del determinante ($\gcd(\det(K), 26) = 1$), calcula la matriz inversa modular y visualiza multiplicaciones vectoriales paso a paso.
¿Qué es la Cifra Hill y Cómo Revolucionó el Cifrado Matemático?
Inventada en 1929 por el matemático estadounidense Lester S. Hill, profesor del Hunter College de Nueva York, la cifra Hill representa el primer cifrado práctico de la historia basado enteramente en el álgebra lineal y la aritmética modular. Mientras que los sistemas anteriores como el cifrado afín operaban sobre caracteres individuales y la cifra Playfair operaba sobre pares bidimensionales discretos, la cifra Hill generalizó el concepto a bloques arbitrarios de $n$ letras simultáneas modeladas como vectores en el espacio vectorial modular $\mathbb{Z}_{26}^n$.
Al transformar un bloque completo de $n$ letras a la vez mediante una transformación lineal invertible, el cifrado Hill oculta por completo las frecuencias estadísticas de las letras individuales e incluso de los bigramas y trigramas, marcando el nacimiento de la criptografía matemática moderna que décadas más tarde daría lugar a estándares como DES y AES.
Ecuaciones Criptográficas: Cifrado y Descifrado Matricial
Cada letra del alfabeto se asigna a un número entero módulo 26 según su posición natural ($A = 0, B = 1, \dots, Z = 25$). Un bloque de $n$ letras se representa como un vector columna $\mathbf{p} = [p_1, p_2, \dots, p_n]^T \in \mathbb{Z}_{26}^n$.
Ecuación de Cifrado:
$$\mathbf{c} \equiv K \mathbf{p} \pmod{26}$$Ecuación de Descifrado:
$$\mathbf{p} \equiv K^{-1} \mathbf{c} \pmod{26}$$Donde:
- $K \in \mathcal{M}_{n \times n}(\mathbb{Z}_{26})$ es la matriz clave de orden $n \times n$.
- $\mathbf{c}$ es el vector columna resultante que representa el bloque de texto cifrado.
- $K^{-1}$ es la matriz inversa modular de $K$ en $\mathbb{Z}_{26}$.
Condición Estricta de Inversibilidad de la Matriz Clave
No cualquier matriz cuadrada puede ser utilizada como clave en la cifra Hill. Para que un mensaje cifrado pueda ser descifrado de manera unívoca, la matriz $K$ debe ser invertible en el anillo conmutativo $\mathbb{Z}_{26}$. Esto requiere que el determinante de la matriz, $\det(K)$, cumpla una doble condición aritmética:
Dado que $26 = 2 \times 13$, los únicos factores primos de 26 son 2 y 13. Por consiguiente, $\det(K)$ no puede ser un número par ni puede ser múltiplo de 13. Los únicos valores válidos módulo 26 para $\det(K)$ pertenecen al grupo multiplicativo $\mathbb{Z}_{26}^\times$:
$$\{1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25\}$$
Si el determinante es par (por ejemplo 2, 4, 6...) o múltiplo de 13 (13 o 0), la matriz carece de inverso multiplicativo modular y el texto no podrá recuperarse. Nuestro convertidor comprueba automáticamente esta condición y te avisa al instante si la matriz introducida es singular o degenerada.
Cálculo del Inverso Modular de una Matriz $2 \times 2$
Para una matriz clave $2 \times 2$ de la forma:
El inverso modular $K^{-1}$ se obtiene calculando primero el inverso multiplicativo del determinante, $(\det(K))^{-1} \pmod{26}$, mediante el Algoritmo Extendido de Euclides:
Donde los números negativos se reducen a valores positivos dentro de $[0, 25]$ sumando 26 ($(-x) \pmod{26} \equiv 26 - (x \bmod 26)$).
Ejemplo Detallado Paso a Paso ($2 \times 2$)
Cifremos la palabra ACTO con la matriz clave $K = \begin{pmatrix} 3 & 3 \\ 2 & 5 \end{pmatrix}$:
- Verificar Determinante: $$\det(K) = (3 \times 5 - 3 \times 2) = 15 - 6 = 9$$ $$\gcd(9, 26) = 1 \implies \text{¡Invertible!}$$ Buscamos el inverso de 9 mod 26: como $9 \times 3 = 27 \equiv 1 \pmod{26}$, el inverso es $9^{-1} \equiv 3$.
- Bloque 1 ('AC' ➔ $A=0, C=2$): $$\mathbf{p}_1 = \begin{pmatrix} 0 \\ 2 \end{pmatrix}$$ $$\mathbf{c}_1 \equiv \begin{pmatrix} 3 & 3 \\ 2 & 5 \end{pmatrix} \begin{pmatrix} 0 \\ 2 \end{pmatrix} = \begin{pmatrix} 6 \\ 10 \end{pmatrix} \pmod{26} \implies 6=\text{'G'}, 10=\text{'K'}$$
- Bloque 2 ('TO' ➔ $T=19, O=14$): $$\mathbf{p}_2 = \begin{pmatrix} 19 \\ 14 \end{pmatrix}$$ $$\mathbf{c}_2 \equiv \begin{pmatrix} 3(19) + 3(14) \\ 2(19) + 5(14) \end{pmatrix} = \begin{pmatrix} 57 + 42 \\ 38 + 70 \end{pmatrix} = \begin{pmatrix} 99 \\ 108 \end{pmatrix} \equiv \begin{pmatrix} 21 \\ 4 \end{pmatrix} \pmod{26} \implies 21=\text{'V'}, 4=\text{'E'}$$
GK VE (o GKVE).
Criptoanálisis de la Cifra Hill: Vulnerabilidad a Texto Plano Conocido
A pesar de su elegancia matemática, la cifra Hill posee una debilidad estructural severa frente al ataque de texto plano conocido (Known-Plaintext Attack). Dado que la transformación es enteramente lineal:
Si un analista intercepta $n$ pares independientes de bloques de texto claro y sus correspondientes bloques cifrados, puede formar una matriz cuadrada de texto plano $P$ y una de texto cifrado $C$. Si $P$ es invertible, la clave $K$ se deduce instantáneamente mediante:
Por este motivo, los sistemas modernos emplean cajas de sustitución no lineales (S-Boxes) como las encontradas en AES. Puedes explorar otros sistemas criptográficos históricos en nuestro Convertidor Cifra Playfair, el Simulador Enigma y el Cifrado Rail Fence.
Preguntas Frecuentes sobre la Cifra Hill (FAQ)
¿Qué ocurre si la longitud del texto no es divisible por el tamaño de la matriz?
Nuestra herramienta añade automáticamente caracteres de relleno al final del texto (típicamente la letra X o Z) para completar el último vector y permitir la multiplicación matricial completa.
¿Cómo sé si una matriz 3x3 es válida para la cifra Hill?
Se calcula el determinante $3 \times 3$ mediante la regla de Sarrus o desarrollo por cofactores. Si el resultado reducido módulo 26 es impar y no es múltiplo de 13, la matriz es completamente invertible.
¿Por qué no se puede descifrar con una matriz cuyo determinante es 13 o par?
Porque en el anillo modular $\mathbb{Z}_{26}$, ningún número multiplicado por un número par o por 13 puede dar resto 1. Sin inverso para el determinante, la transformación colapsa varios textos en un mismo criptograma, destruyendo la biyección.