Cifrado por transposición

De Wikipedia, la enciclopedia libre

En criptografía, un cifrado por transposición es un tipo de cifrado en el que unidades de texto plano se cambian de posición siguiendo un esquema bien definido; las 'unidades de texto' pueden ser de una sola letra (el caso más común), pares de letras, tríos de letras, mezclas de lo anterior. Es decir, hay una permutación de 'unidades de texto'. Este tipo de cifradores eran muy usados en la criptografía clásica y por tanto, al tener que hacer los cálculos por medios muy básicos, normalmente el algoritmo se basaba en un diseño geométrico o en el uso de artilugios mecánicos (Ej escítala). Este tipo de algoritmos son de clave simétrica porque es necesario que tanto el que cifra como el que descifra sepan la misma clave para realizar su función. La clave puede ser intrínseca en el propio método de cifrado/descifrado de forma que algoritmo y clave son un conjunto indivisible.

Las cifras de transposición pueden emplearse, y son empleadas, como parte de sistemas de cifrado más complejos añadiendo seguridad a una cifra.[1]​ Normalmente, las cifras que presentan una mezcla de ambos elementos son más seguras que las que presentan un único sistema. Esto es especialmente cierto con las cifras que emplean alguna clase de sustitución fraccionada como la cifra ADFGVX o la cifra VIC.

Algoritmos de transposición[editar]

Escritura Inversa[editar]

Un simple (y fácil de descifrar) método de cifrado es el de escribir una palabra al revés (de atrás hacia delante). Por tanto la cadena: "Hola mi nombre es Pepa" sería cifrada por "aloH im erbmon se apeP". En este algoritmo la clave está implícita. Este algoritmo puede emplearse tanto para palabras sueltas como para las frases o mensajes completos. Un ejemplo, ficticio, de su empleo está en la zorglengua de los comics de Spirou y Fantasio. Otro ejemplo es el mensaje en alfabeto rúnico que da origen al Viaje al centro de la Tierra de Julio Verne.

Transposición columnar simple[editar]

Otro ejemplo sería el cifrado con forma de columna. En él, el mensaje original estará limitado a un rectángulo, de izquierda a derecha y de arriba hacia abajo. Después, se escoge una clave para asignar un número a cada columna del rectángulo para determinar el orden. El número correspondiente a la letra de la clave estará determinado por orden alfabético. Por ejemplo, si la palabra clave es CAT ("gato" en inglés) y el mensaje es "THE SKY IS BLUE" ("El cielo es azul" en inglés), el proceso sería el siguiente:

                         C A T
                         2 1 3
                         T H E
                         S K Y
                         I S B
                         L U E

Después, tomamos las letras por orden numérico y así es como transportaríamos el mensaje. Tomamos la columna debajo de la A primero, después la columna de C, y por último la columna de T, y como resultado el mensaje "The sky is blue" pasaría a ser: HKSUTSILEYBE

Cuando la palabra clave tiene letras que se repiten; por ejemplo, ESPIRITU, la letra repetida que esté más a la izquierda tendrá el valor más bajo entre ellas, las siguientes repeticiones tendrán un valor ascendente de +1. Una vez que se acaba de asignar los valores a las letras repetidas, se continúa asignando valores a las demás letras:

                         E S P I R I T U
                         1 6 4 2 5 3 7 8

En la cultura popular[editar]

En la novela Circo Máximo, de Santiago Posteguillo, el capítulo 93 presenta un mensaje cifrado por transposición columnar simple explicándose, a lo largo del mismo, el funcionamiento del descifrado. El título del capítulo es dicho mensaje cifrado.

En la novela Viaje al centro de la Tierra, de Julio Verne, como parte de los esfuerzos para descifrar el mensaje que da lugar al viaje, el Profesor Liddenbrock explica el funcionamiento de este sistema a Axel.[2]

Transposición columnar doble[editar]

La transposición columnar doble ha sido considerada, durante mucho tiempo, como la forma más segura y compleja que podía emplear un agente en el campo. Su forma de operación es idéntica a la transposición columnar simple, pero tras el paso de una primera transposición, se realizaba una segunda, empleando, o no, la misma clave, de modo que las regularidades se redujeran.

Ha sido empleada hasta bien entrado el siglo XX. Por ejemplo, en 1914, el ejército alemán empleaba un cifrado denominado ÜBCHI que no era otra cosa que una transposición columnar doble. No obstante, la habilidad del Bureau de Chiffre francés les llevó a descifrarlo, y, tras la publicación de estos éxitos en el diario Le Matin, los alemanes cambiaron su sistema de cifrado el 18 de noviembre de 1914. Después de eso, siguió siendo usada durante la Segunda Guerra Mundial por la OSS, la Resistencia holandesa o el SOE.

Transposición interrumpida[editar]

La transposición interrumpida no es más que una transposición en la cual diversos puntos de la matriz de cifrado, conocidos por ambos extremos (emisor y receptor) de la codificación, quedan vacíos. Esto altera la serie y dificulta la labor de encontrar una lógica a la transposición. Uno de los métodos más conocidos fue el propuesto por el general Luigi Sacco que establecía diferentes longitudes para cada una de las líneas a cifrar, extendiéndose hasta encontrar la columna con el número correspondiente a la línea (así la primera línea llega hasta el número 1 y la quinta hasta el 5). Y donde cada columna se leía ignorando los huecos. El presente ejemplo está sacado de la página de John Savard.[3]​ Con la palabra clave CONVENIENCE y el texto en claro: Here is a secret message enciphered by transposition.

  C O  N V  E N I E N C E
  1 10 7 11 3 8 6 4 9 2 5
 ---------------------------------
  H
  E R E I S A S E C R
  E T M E S
  S A G E E N C I
  P H E R E D B Y T R A
  N S P O S I T
  I O N

Lo que da como texto cifrado: HEESPNI RR SSEES EIY A SCBT EMGEPN ANDI CT RTAHSO IEERO.

AMSCO[editar]

Denominada así por su creador A. M. Scott, miembro de la American Cryptogram Association, la cifra AMSCO es una transposición columnar ordinaria con la peculiaridad de que los elementos de la cifra son escogidos, alternativamente, como letras simples y pares de letras.[4]​ Así, la palabra matemáticamente sería cifrada con la clave COPLA como sigue:

C O P L A
2 4 5 3 1
M AT E MA T
IC A ME N TE

Lo que, tras la reordenación siguiendo las normas de la transposición columnar simple, nos da un texto cifrado de: TTE MIC MAN ATA EME

Transposición por ruta[editar]

La transposición por ruta es una técnica de cifrado consistente en repartir el mensaje a cifrar en una figura geométrica, normalmente un paralelepípedo, aunque no es obligatorio, y establecer una ruta que debe seguirse para leer el mensaje. La complejidad de la ruta elegida determinará la seguridad de la cifra. Presenta la ventaja, a la hora de operar con ella, que sobre el mismo tablero pueden establecerse muy distintas rutas. Pongamos el ejemplo de la palabra EUFORICAS que tiene 9 letras, todas diferentes, por lo que se puede ver muy fácilmente en el ejemplo y ordenémoslas en tres columnas de igual longitud.

 E U F
 O R I
 C A S

Puede leerse como una espiral hacia el centro EUFISACOR, o como una espiral desde el centro ROCASIFUE. También puede leerse de modo diagonal ERS UI F C OA, o suponiendo que está inscrito en un cilindro, ERS UIC FOA. Puede leerse la primera columna en descendente, la segunda en ascendente y la tercera en descendente: EOC ARU FIS o en bustrofedón EUFIROCAS. Y de muchas más formas. Naturalmente, cuanto más largo es el mensaje y más grande la figura que forma, mayor es el número de rutas posibles.[4]

Estas rutas no tienen ni siquiera que ser continuas, un ejemplo de ello, sería disponer los caracteres a cifrar en un tablero de ajedrez y leerlos siguiendo los movimientos de un caballo.

Uno de los casos más conocidos de cifrado por ruta es el del Código de Ruta de la Unión empleado por las fuerzas federales durante la Guerra de Secesión.[5]​ Este código presentaba dos peculiaridades, reordenaba palabras (para facilitar la labor a los telegrafistas) y presentaba caminos alternativos múltiples para cada longitud de mensaje por lo que, aunque se descifrara un mensaje de longitud n, eso no aseguraba poder descifrar los sucesivos.

En la cultura popular[editar]

En la novela El círculo mágico de Katherine Neville la protagonista descifra un mensaje que le había sido remitido empleando un cifrado por ruta.

Transposición china[editar]

En el método de cifrado por transposición Chino, las letras del mensaje son escritas de derecha a izquierda y de arriba hacia abajo en columnas. Después, empezando la primera hilera, las letras se toman para obtener el texto cifrado. Por ejemplo, si el mensaje que queremos codificar es THE DOG RAN FAR ("El perro corrió lejos" en inglés), el cifrado chino sería así:

                           R R G T
                           A A O H
                           F N D E

El texto cifrado se leería: RRGT AAOH FNDE. El origen de esta denominación estaría en que así es como se escriben los caracteres de la escritura china.

Escítala[editar]

Una escítala.

El más antiguo sistema criptográfico del que ha llegado noticia, es también la más antigua de las máquinas criptográficas, la escítala espartana no era sino un bastón de un diámetro determinado que era empleado para enroscar en torno a sí, una tira de cuero, u otro material, en el que estaba escrito el mensaje. Al enrollarse alrededor del bastón aparecía el mensaje correctamente escrito.

Permutación de grupos[editar]

La permutación por grupos se realiza dividiendo el mensaje a cifrar en unidades homogéneas de n elementos y realizando una permutación entre los elementos de este grupo de n elementos. Una forma rápida de realizarlo es dividir el mensaje como para hacer una transposición columnar pero, una vez reordenadas las columnas, leer cada línea normalmente.

Una segunda posibilidad es aplicar una permutación distinta a cada uno de estos grupos homogéneos, pero supone una complejidad añadida a la cifra.

Permutación de grupos doble[editar]

En su Tratado de criptografía con aplicación especial al Ejército,[6]​ J. G. Carmona señala, bajo el epígrafe, Método de divisores de doble transposición el método de realizar una permutación por grupos doble, disponiendo los elementos del mensaje en una rejilla con forma de paralelepípedo y alternado a continuación primero el orden de las columnas y después el de los renglones (aunque el uso del término columnas horizontales sea confuso).

Variantes[editar]

En el 'Tratado de criptografía' de Carmona,[6]​ se mencionan las siguientes variantes de esta permutación por grupos:

  • Método del telégrafo aéreo
  • Método del coronel Roche (primero)
  • Método del coronel Roche (segundo)

Permutación por series[editar]

En la permutación por series, se divide el texto a cifrar de acuerdo con el orden de los elementos del mismo, y dependiendo de ese orden los elementos son agrupados. Por ejemplo, se puede colocar primero a los elementos que ocupen un puesto que sea un número primo enviar a continuación los que ocupen un ordinal par y por último los restantes ordinales de número impar. O utilizar una sucesión de Fibonacci, en cualquier caso, agruparlos siguiendo una serie de leyes matemáticas fácilmente memorizables.[7]

Transposición indefinida[editar]

La transposición indefinida, inventada por el Comandante Baudoin en 1939,[8]​ supone disponer de una clave tan larga como el texto en claro y que esté formada por números desordenados o que sean generados por algún algoritmo conocido solamente por emisor y receptor (por ejemplo, una frase o un texto convenidos de los que se extrae lo necesario). Estos números representan el orden de las letras actuando como una transposición columnar (véase más arriba) en la que cada columna tiene un único elemento. El mayor problema, como se puede comprender, es la generación de las claves.

Rejillas criptográficas[editar]

La rejilla criptográfica es una simple hoja de cartón o de papel con una serie de perforaciones en la misma.[9]​ Colocando esa hoja en cierta posición sobre una carta o un texto, aparece el mensaje secreto. La rejilla de Cardano es una clase de rejilla criptográfica. Estas rejillas pueden fabricarse de diversas formas para revelar letras individuales, pares de las mismas o incluso palabras. Presenta la importante ventaja de que el texto sobre el que se pone puede ser aparentemente inocente, de modo que se logra un cierto nivel de esteganografía. Las rejillas pueden colocarse, sobre el mismo texto, de varias formas distintas, revelando distintas partes del mensaje cifrado.

En la cultura popular[editar]

En la película Con Air el personaje Cyrus The Virus Grissom empleaba una rejilla, obtenida arrancando los ojos de los personajes a una imagen de la Última cena para extraer mensajes cifrados de unas cartas de abogados aparentemente inocuas.

En la novela Matías Sandorf de Julio Verne unas rejillas criptográficas, y el descifrado del mensaje con ellas escondido, tienen una importancia capital en la trama.

Paralelo vertical[editar]

Cifrado por riel[editar]

En el cifrado por riel se escribe el texto del mensaje normalmente pero alternando las filas en las cuales se escribe. Una vez finalizado, se lee cada fila independientemente. La dificultad de la cifra reside, únicamente, en el número de líneas en las cuales se escribe el mensaje.

Análisis de los métodos de transposición[editar]

Cuando se examina una cifra de transposición, el análisis de frecuencias revela una frecuencia de letras idéntica a la del texto claro por lo que debe procederse a la utilización de métodos como el anagramado múltiple, o los algoritmos genéticos. Al mismo tiempo, un ataque de texto claro conocido revela indefectiblemente la clave. Las técnicas de transposición más sencillas suelen revelar trozos del texto en claro al emplear claves similares a la auténtica, esa vulnerabilidad puede ser explotada. En 1918, Georges Painvin empleó la comparación entre distintos mensajes prácticamente idénticos, para averiguar el orden en que se había realizado la transposición.

Combinación de cifras[editar]

Las cifras pueden combinarse entre sí para una mayor seguridad, pero recordando que dos cifras de transposición, empleadas consecutivamente, dan lugar a una cifra de transposición más compleja, como se ve en la transposición columnar doble. Por el contrario, combinándola con una cifra de sustitución, se refuerza la seguridad de la misma, especialmente si se trata de alguna cifra que presenta la propiedad del fraccionamiento. Ejemplos de estas cifras compuestas pueden ser la cifra ADFGVX o la cifra VIC.

Comparación con los cifrados de sustitución[editar]

En comparación con los cifrados de sustitución, el cifrado por transposición ofrece una situación inversa en lo tocante a la seguridad de la cifra según la longitud del mensaje. En el caso de los cifrados de transposición, cuanto mayor es la longitud del mensaje mayor número de repeticiones pueden aparecer y provocar las vulnerabilidades ante el análisis de frecuencia. por el contrario, cuanto más largo es el mensaje, mayor es la seguridad teórica del mensaje. Tomemos, por ejemplo, esta sencilla y breve frase. Contiene ocho (8) palabras y treinta y nueve (39) letras. El número de formas en que puede ordenarse una serie de elementos (suponemos que no hay repeticiones) es igual al factorial de los mismos, por lo que, tomando como base las palabras, hay 8! claves posibles (unos 16 bits, que no es demasiado), y tomando como base las letras hay 39! (unos 154 bits, que es razonable) claves posibles.[10]

No obstante, una vez señalado lo anterior, cabe indicar que la facilidad de manejo de muchas de las cifras de sustitución es mayor debido, precisamente, al número de elementos que hay que reordenar. Las consideraciones de la seguridad y de la operatividad podrían entrar en conflicto.

Notas y referencias[editar]

  1. «Copia archivada». Archivado desde el original el 23 de julio de 2016. Consultado el 28 de agosto de 2016. 
  2. (en francés)http://www.bibmath.net/crypto/index.php?action=affiche&quoi=concret/verne
  3. http://www.quadibloc.com/crypto/pp0102.htm
  4. a b Gaines, Helen Fouché. Cryptanalysis - a study of ciphers and their solution. Dover. (1939) ISBN 0-486-20097-3.
  5. http://www.vectorsite.net/ttcode_03.html
  6. a b Tratado de criptografía con aplicación especial al ejército, de J. G. Carmona, edición facsimil publicada por el Ministerio de Defensa, ISBN 978-84-9781-663-2
  7. «Copia archivada». Archivado desde el original el 27 de septiembre de 2016. Consultado el 25 de septiembre de 2016. 
  8. http://www.nymphomath.ch/crypto/transpo/tableaux.html (en francés)
  9. Kahn, David (1996). The Codebreakers — The Comprehensive History of Secret Communication from Ancient Times to the Internet. ISBN 0-684-83130-9.
  10. Véase a este respecto, el primer capítulo de The Code Book, de Simon Singh, ISBN 0-385-49532-3.