T

Text Machine

Potentes herramientas de texto, en tu navegador

Cifrado de Hill

Codifica y descodifica el cifrado de Hill, el clásico cifrado poligráfico construido sobre el álgebra lineal. Las letras se agrupan en bloques, se convierten en vectores de números y se multiplican por una matriz clave módulo 26: cifrar es C = K·P, descifrar es P = K⁻¹·C. Elige una clave de 2×2 o 3×3, observa en vivo la matriz, su determinante y su inverso modular, y sigue el desarrollo bloque a bloque. Todo se ejecuta en tu navegador.

Matriz clave

Clave (letras)

La clave tiene 4 letras (A=0 … Z=25) que llenan la matriz fila por fila. Una clave de 2×2 cifra las letras por pares (dígrafos).

Texto plano
Texto cifrado

Introduce texto arriba para ver el resultado aquí.

Matriz clave

Cada bloque de letras se convierte en un vector (A=0 … Z=25) y se multiplica por la matriz clave módulo 26. Una clave solo funciona cuando su determinante es invertible mod 26.

C = K · P (mod 26)

Introduce exactamente 4 letras (A–Z) para llenar la matriz clave.

Cómo usar Cifrado de Hill

  1. 1

    Elige cifrar o descifrar y un tamaño de matriz

    Selecciona Cifrar para cifrar o Descifrar para descifrar, luego elige una clave de 2×2 (letras por pares) o una clave de 3×3 (letras en grupos de tres).

  2. 2

    Introduce la clave como letras

    Escribe las letras de la clave que llenan la matriz fila por fila — cuatro letras para una clave de 2×2, nueve para una de 3×3. La matriz en vivo muestra el determinante y te dice si la clave es invertible mod 26.

  3. 3

    Escribe o pega tu texto

    Introduce tu mensaje y se convierte a medida que escribes. El panel de desarrollo muestra cada bloque como un vector, la multiplicación de matrices y el bloque resultante.

  4. 4

    Revisa la matriz clave y el inverso

    Abre el panel de la matriz clave para ver la clave, su determinante y — cuando la clave es válida — la matriz inversa modular usada para descodificar.

  5. 5

    Copia, descarga o comparte

    Copia el resultado, descárgalo como archivo de texto o comparte un enlace que vuelve a abrir la herramienta con tu texto, tu clave, tu tamaño y tu dirección exactos, listos para usar.

Entender el cifrado de Hill

¿Qué es el cifrado de Hill?

El cifrado de Hill es un cifrado clásico de sustitución poligráfica inventado por el matemático estadounidense Lester S. Hill en 1929. En lugar de reemplazar una letra cada vez, cifra todo un bloque de letras a la vez tratando el bloque como un vector de números y multiplicándolo por una matriz clave secreta, módulo 26. Fue el primer cifrado práctico capaz de operar sobre más de tres símbolos a la vez, y trajo el álgebra lineal de lleno a la criptografía.

Como cada letra de salida depende de todas las letras de entrada de su bloque, el cifrado de Hill oculta las frecuencias de letras sueltas que delatan a los cifrados más simples. Una clave de 2×2 mezcla las letras por pares, una clave de 3×3 las mezcla en grupos de tres, y matrices mayores mezclan bloques aún más grandes. Esa difusión es la misma idea que subyace a los cifrados de bloque modernos, lo que convierte al cifrado de Hill en un ejemplo didáctico favorito — aunque, al ser un cifrado lineal, es fácil de romper con un poco de texto plano conocido.

Cómo funciona el cifrado de Hill

Primero, convierte las letras en números con A=0, B=1, hasta Z=25. La clave es una matriz n×n de esos números; aquí la escribes como una serie de letras que llenan la matriz fila por fila, así que una clave de 2×2 necesita cuatro letras y una de 3×3 necesita nueve. El texto plano se divide en bloques de n letras, cada uno escrito como un vector columna.

Para cifrar un bloque P, calcula C = K · P (mod 26): multiplica la matriz clave por el vector y reduce cada entrada módulo 26, luego lee los números de vuelta como letras. Para descifrar, necesitas el inverso modular de la matriz clave, K⁻¹, y calcular P = K⁻¹ · C (mod 26). El inverso existe solo cuando el determinante de la matriz es invertible módulo 26 — es decir, cuando no comparte ningún factor común con 26 — que es la regla más importante a la hora de elegir una clave.

Elegir una matriz clave válida

No toda matriz puede ser una clave de Hill. Para que la descodificación funcione, el determinante de la clave, tomado módulo 26, debe ser coprimo con 26. Como 26 = 2 × 13, el determinante debe ser impar y no múltiplo de 13; los valores permitidos son los doce números 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25. Si el determinante es par o igual a 13, no existe ningún inverso modular y el texto cifrado no se puede descodificar de forma única.

La herramienta calcula el determinante por ti y muestra una insignia verde cuando la clave es invertible o una roja cuando no lo es, junto a la matriz inversa que usará para descodificar. Si se rechaza una clave, cambia una o dos letras y observa cómo se actualiza el determinante hasta que aterrice en un valor válido. Esta retroalimentación en vivo convierte la tarea, por lo demás engorrosa, de elegir a mano una clave de Hill en un ejercicio rápido y visual.

Un ejemplo práctico de 2×2

Toma la clave DDCF, que llena la matriz de 2×2 con los números 3, 3 en la fila superior y 2, 5 en la inferior. Su determinante es 3×5 − 3×2 = 9, y como 9 es coprimo con 26 la clave es válida. Ahora cifra HELP. El primer bloque HE es el vector (7, 4): al multiplicar se obtiene (3×7 + 3×4, 2×7 + 5×4) = (33, 34), que se reduce mod 26 a (7, 8) = HI.

El segundo bloque LP es (11, 15), dando (3×11 + 3×15, 2×11 + 5×15) = (78, 97) = (0, 19) = AT. Así que HELP se cifra como HIAT. Para descifrar, la herramienta invierte la clave a (15, 17 / 20, 9) y multiplica cada bloque cifrado por ella, recuperando HELP. Escribe DDCF como clave arriba para ver aparecer cada paso en el panel de desarrollo en vivo.

Un ejemplo práctico de 3×3

El ejemplo clásico de 3×3 usa la clave GYBNQKURP, que llena la matriz con 6, 24, 1 en la primera fila, 13, 16, 10 en la segunda, y 20, 17, 15 en la tercera. Cifrar el trígrafo ACT — el vector (0, 2, 19) — da (67, 222, 319) antes de reducir, que se convierte en (15, 14, 7) módulo 26, o POH.

El determinante de esta matriz es 25 módulo 26, que es coprimo con 26, así que es una clave válida, y su inverso modular es la matriz (8, 5, 10 / 21, 8, 21 / 21, 12, 8). Multiplicar el bloque cifrado POH por ese inverso devuelve ACT. Cambia el selector de tamaño a 3×3 e introduce GYBNQKURP para reproducir este ejemplo de manual y ver la matriz inversa que deriva la herramienta.

Relleno, letras y formato

El cifrado de Hill solo conoce las 26 letras A–Z, así que los espacios, los dígitos y la puntuación se eliminan antes de cifrar y no vuelven cuando descifras. Como el mensaje se procesa en bloques de tamaño fijo, un texto plano cuya longitud no es múltiplo del tamaño de bloque se rellena con la letra X para completar el último bloque; por tanto, un mensaje descifrado puede terminar en una o dos letras extra.

El uso de mayúsculas y minúsculas no se conserva — todo se trata como mayúsculas. Estas limitaciones son inherentes al cifrado clásico y no a esta herramienta, y son parte de por qué el cifrado de Hill, como sus contemporáneos, se usaba para mensajes tácticos cortos en lugar de texto libre. El desglose en vivo muestra exactamente cómo se agrupa y se rellena tu texto en bloques.

Seguridad y criptoanálisis

La fortaleza del cifrado de Hill es también su debilidad fatal: es lineal. Cada bloque cifrado es una función lineal fija del bloque de texto plano, así que un atacante que conozca suficientes pares de bloques texto plano–texto cifrado puede plantear y resolver un sistema de ecuaciones lineales para recuperar directamente la matriz clave. Para una clave n×n, aproximadamente n bloques conocidos suelen bastar, lo que hace que el cifrado caiga rápidamente ante un ataque de texto plano conocido.

Tampoco ofrece difusión entre bloques ni confusión más allá de la mezcla lineal, así que bloques de texto plano idénticos siempre se cifran a bloques cifrados idénticos. Según los estándares modernos no es seguro, y nunca deberías usarlo para proteger información real — recurre en su lugar a un algoritmo verificado como AES. Sin embargo, como ilustración clara y práctica de cómo encajan las matrices, la aritmética modular y el cifrado de bloque, el cifrado de Hill sigue siendo uno de los mejores cifrados clásicos para aprender.

Preguntas frecuentes

¿Qué es el cifrado de Hill?
El cifrado de Hill es un cifrado clásico de sustitución poligráfica creado por Lester S. Hill en 1929. Cifra las letras en bloques convirtiendo cada bloque en un vector de números y multiplicándolo por una matriz clave secreta módulo 26. Como cada letra de salida depende de todo el bloque, oculta las frecuencias de letras sueltas y fue el primer cifrado en aplicar el álgebra lineal al cifrado de forma práctica.
¿Cómo funciona el cifrado de Hill?
Las letras se convierten en números (A=0 … Z=25). El texto plano se divide en bloques de n letras, cada uno escrito como un vector, y se cifra con C = K·P (mod 26) usando una matriz clave n×n K. El descifrado usa el inverso modular de la clave: P = K⁻¹·C (mod 26). Una clave de 2×2 trabaja sobre pares de letras y una de 3×3 sobre grupos de tres.
¿Cómo elijo una clave válida para el cifrado de Hill?
La matriz clave solo se puede descifrar cuando su determinante, tomado módulo 26, es coprimo con 26. Como 26 = 2 × 13, el determinante debe ser impar y no múltiplo de 13 — uno de 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 o 25. Esta herramienta muestra el determinante en vivo y marca la clave como invertible o no, así que puedes ajustar las letras hasta que sea válida.
¿Puedes mostrar un ejemplo práctico del cifrado de Hill?
Con la clave de 2×2 DDCF (filas 3,3 y 2,5, determinante 9) la palabra HELP se cifra como HIAT: HE = (7,4) se asigna a (7,8) = HI, y LP = (11,15) se asigna a (0,19) = AT. Con la clave de 3×3 GYBNQKURP el trígrafo ACT se cifra como POH. Introduce cualquiera de las dos claves arriba para ver aparecer cada bloque y la multiplicación de matrices paso a paso.
¿Cómo se descodifica un cifrado de Hill?
La descodificación multiplica cada bloque cifrado por el inverso modular de la matriz clave, P = K⁻¹·C (mod 26). En esta herramienta, elige Descifrar, define el mismo tamaño de matriz e introduce la misma clave usada para cifrar; calcula el inverso y reconstruye el texto plano. La clave debe ser invertible mod 26, o no existe ningún inverso — y por tanto ninguna descodificación única.
¿Cuál es la diferencia entre un cifrado de Hill de 2×2 y uno de 3×3?
El tamaño de la matriz fija la longitud del bloque. Una clave de 2×2 cifra las letras de dos en dos y necesita una clave de cuatro letras; una clave de 3×3 las cifra de tres en tres y necesita una clave de nueve letras. Las matrices mayores mezclan más letras por bloque y resisten un poco mejor el análisis de frecuencia, pero son más difíciles de preparar y aun así caen ante un ataque de texto plano conocido.
¿Por qué mi clave dice que no es invertible?
Una clave de Hill solo puede descodificar si el determinante de su matriz es coprimo con 26. Si el determinante es par o múltiplo de 13, la matriz no tiene inverso módulo 26 y el texto cifrado no se puede descodificar de forma única. Cambia una o dos letras de la clave y observa cómo se actualiza el determinante hasta que la herramienta marque la clave como invertible.
¿Qué pasa con los espacios, los números y la puntuación?
Solo las letras A–Z existen en el cifrado de Hill, así que los espacios, los dígitos y la puntuación se eliminan antes de cifrar y no reaparecen al descodificar. Si la longitud del mensaje no es múltiplo del tamaño de bloque, se rellena con la letra X para llenar el último bloque, de modo que un mensaje descifrado puede terminar en una o dos letras extra.
¿Es seguro el cifrado de Hill?
No. El cifrado de Hill es lineal, así que un atacante que obtenga suficientes pares de bloques texto plano–texto cifrado puede resolver un sistema de ecuaciones lineales y recuperar la matriz clave. Para una clave n×n, alrededor de n bloques conocidos suelen bastar. Es excelente para aprender cómo las matrices y la aritmética modular construyen un cifrado de bloque, pero para protección real deberías usar siempre un algoritmo moderno como AES.
¿Quién inventó el cifrado de Hill?
El cifrado de Hill fue inventado por Lester S. Hill, un matemático estadounidense, y publicado en 1929 en la revista The American Mathematical Monthly. Fue notable por ser el primer cifrado capaz de cifrar bloques de más de tres letras a escala práctica, e introdujo el álgebra matricial y la aritmética modular como herramientas de cifrado — ideas que resuenan en el diseño de los cifrados de bloque modernos.
¿Qué es el inverso modular de una matriz?
Es la matriz que, multiplicada por la clave módulo 26, da la matriz identidad. Para una clave de 2×2 o 3×3 se halla multiplicando la adjunta (la matriz de cofactores transpuesta) por el inverso modular del determinante. El cifrado de Hill lo usa para deshacer el cifrado, y esta herramienta muestra el inverso que calcula siempre que la clave es válida.
¿Se sube mi texto a un servidor?
No. Toda la codificación y la descodificación ocurren íntegramente en tu navegador, por lo que tu texto y tu clave nunca se suben, registran ni almacenan. Incluso un enlace para compartir mantiene tu texto y tu clave en la parte de la URL posterior a la almohadilla, que los navegadores nunca envían a un servidor, así que tu mensaje permanece privado hasta que decidas compartir el enlace.

Herramientas relacionadas

Sigue trabajando con estas prácticas herramientas

Cifrado de cuatro cuadrados

Cifrado de dos cuadrados

Cifrado César

Cifrado Vigenère

Cifrado Atbash

Cifrado Rail Fence