¿Qué es la transposición columnar?
La transposición columnar es un cifrado de transposición: no cambia las letras por otras, sino que reordena su posición. Se escribe el mensaje en una tabla por filas y luego se lee por columnas según el orden que define una clave alfabética. De este modo, el contenido es el mismo, pero la secuencia de letras se “baraja”.
La clave determina el orden de lectura de las columnas mediante su orden alfabético. Si hay letras repetidas en la clave, se aplica un orden estable (romper empates por la posición original en la clave), para que el procedimiento sea determinista y reproducible.
Cómo funciona
- Escribe la clave sobre las columnas de la tabla y calcula el orden de columnas ordenando alfabéticamente las letras de la clave (si hay empates, prevalece la que aparece antes en la clave original: orden estable).
- Rellena la tabla por filas con el texto ya normalizado (puedes convertir tildes a su base y decidir si conservar o no espacios/signos). Si el mensaje no completa la última fila, puedes usar un carácter de relleno y documentarlo para el descifrado.
- Lee el contenido por columnas siguiendo el orden calculado a partir de la clave. Concatenando esas columnas obtienes el texto cifrado.
Nota: al ser un cifrado de transposición, la frecuencia de letras del idioma se conserva; cambia el orden, no los caracteres.
Ejemplo
Veamos el proceso con la clave CLAVE y el texto ATAQUEAMANECER.
Primero determinamos el orden de columnas a partir del orden alfabético de la clave:
A(2), C(0), E(4), L(1), V(3) ⇒ índices [2,0,4,1,3].
Luego escribimos el texto por filas y finalmente leemos por columnas en ese orden:
el cifrado resultante es AMEAEEUNTACQAR.
Esquema (sin relleno)
Clave: CLAVE → orden: A(2), C(0), E(4), L(1), V(3) ⇒ índices: [2,0,4,1,3] Texto: ATAQUEAMANECER → 5 columnas (3 filas; 1 hueco) Tabla: C L A V E A T A Q U E A M A N E C E R - Lectura por columnas en orden: A(2) → C(0) → E(4) → L(1) → V(3) Bloques: AME | AEE | UN | TAC | QAR Cifrado: AMEAEEUNTACQAR
Si usas relleno, completa la última celda con un carácter acordado (p. ej., X)
y documenta ese carácter para que el receptor pueda eliminarlo al descifrar.
Historia
- Es un ejemplo clásico de cifrado por transposición, muy usado en enseñanza, rompecabezas y criptogramas recreativos por su claridad y valor pedagógico.
- Sirve de base para variantes más fuertes como la doble transposición, que fue relevante históricamente al encadenar dos etapas con claves (o órdenes) diferentes.
Ataques clásicos
- Búsqueda de longitudes de clave plausibles: probar anchos de tabla razonables y evaluar si el texto resultante muestra patrones “de idioma” (bigramas/trigramas comunes).
- Reconstrucción de columnas: reordenar columnas candidatas usando heurísticas (palabras probables, coincidencias de prefijos/sufijos) hasta obtener texto legible.
- Explotar el relleno y convenciones: si el atacante conoce el carácter de relleno o reglas de normalización, reduce el espacio de búsqueda y acelera la reconstrucción.
A diferencia de un cifrado por sustitución, aquí la frecuencia global de letras se conserva; esto ayuda a detectar que se trata de una transposición.
Pros y contras
Pros
- Muy didáctico para entender transposición, orden de columnas y lectura por bloques.
- Fácil de combinar con otras técnicas (p. ej., doble transposición) para aumentar dificultad.
- Implementación simple y reproducible con reglas claras (orden estable en la clave).
Contras
- Con suficiente texto, es vulnerable a la reconstrucción de la tabla y del orden de columnas.
- Decisiones de relleno y normalización deben documentarse; si se filtran, facilitan ataques.
- Por sí solo, no ofrece integridad ni autenticidad; solo reordena el mensaje.