En la historia de la criptografía , la ECM Mark II fue una máquina de cifrado utilizada por los Estados Unidos para el cifrado de mensajes desde la Segunda Guerra Mundial hasta la década de 1950. La máquina también era conocida como SIGABA o Converter M-134 por el Ejército, o CSP-888/889 por la Marina, y una versión modificada de la Marina se denominó CSP-2900 .
Como muchas máquinas de la época, utilizaba un sistema electromecánico de rotores para cifrar los mensajes, pero con una serie de mejoras de seguridad respecto de los diseños anteriores. No se conoce ningún criptoanálisis exitoso de la máquina durante su vida útil.
Los criptógrafos estadounidenses ya sabían mucho antes de la Segunda Guerra Mundial que el movimiento mecánico de un solo paso de las máquinas de rotor (por ejemplo, la máquina Hebern ) podía ser aprovechado por atacantes. En el caso de la famosa máquina Enigma , se suponía que estos ataques se frustrarían moviendo los rotores a posiciones aleatorias al comienzo de cada nuevo mensaje. Sin embargo, esto resultó no ser lo suficientemente seguro y los mensajes alemanes de Enigma fueron descifrados con frecuencia mediante criptoanálisis durante la Segunda Guerra Mundial.
William Friedman , director del Servicio de Inteligencia de Señales del Ejército de los EE. UU ., ideó un sistema para corregir este ataque al aleatorizar verdaderamente el movimiento de los rotores. Su modificación consistía en un lector de cinta de papel de una máquina de teletipo conectado a un pequeño dispositivo con "sensores" de metal colocados para pasar electricidad a través de los agujeros. Cuando se presionaba una letra en el teclado, la señal se enviaba a través de los rotores como en la Enigma, produciendo una versión encriptada. Además, la corriente también fluía a través del accesorio de cinta de papel, y cualquier agujero en la cinta en su ubicación actual hacía que el rotor correspondiente girara y luego avanzara la cinta de papel una posición. En comparación, la Enigma giraba sus rotores una posición con cada pulsación de tecla, un movimiento mucho menos aleatorio. El diseño resultante entró en producción limitada como el M-134 Converter , y sus configuraciones de mensajes incluían la posición de la cinta y las configuraciones de un tablero de conexiones que indicaba qué línea de agujeros en la cinta controlaba qué rotores. Sin embargo, hubo problemas al usar cintas de papel frágiles en condiciones de campo.
El socio de Friedman, Frank Rowlett , ideó una forma diferente de hacer avanzar los rotores, utilizando otro conjunto de rotores. En el diseño de Rowlett, cada rotor debe construirse de manera que se generen entre una y cuatro señales de salida, haciendo avanzar uno o más de los rotores (los rotores normalmente tienen una salida por cada entrada). Había poco dinero para el desarrollo de la encriptación en los EE. UU. antes de la guerra, por lo que Friedman y Rowlett construyeron una serie de dispositivos "complementarios" llamados SIGGOO (o M-229) que se usaron con los M-134 existentes en lugar del lector de cinta de papel. Se trataba de cajas externas que contenían una configuración de tres rotores en la que cinco de las entradas estaban activas, como si alguien hubiera presionado cinco teclas al mismo tiempo en una Enigma, y las salidas también se "reunían" en cinco grupos; es decir, todas las letras de la A a la E se conectarían juntas, por ejemplo. De esa manera, las cinco señales del lado de entrada se distribuirían aleatoriamente a través de los rotores y saldrían por el otro lado con energía en una de las cinco líneas. Ahora el movimiento de los rotores podía controlarse con un código de día y se eliminó la cinta de papel. Se refirieron a la combinación de máquinas como M-134-C.
En 1935 mostraron su trabajo a Joseph Wenger , un criptógrafo de la sección OP-20-G de la Marina de los EE. UU . Encontró poco interés por él en la Marina hasta principios de 1937, cuando se lo mostró al comandante Laurance Safford , homólogo de Friedman en la Oficina de Inteligencia Naval . Inmediatamente vio el potencial de la máquina, y él y el comandante Seiler agregaron una serie de características para hacer que la máquina fuera más fácil de construir, lo que resultó en la Electric Code Machine Mark II (o ECM Mark II ), que la marina luego produjo como CSP-889 (o 888).
Curiosamente, el Ejército no estaba al tanto de los cambios ni de la producción en masa del sistema, pero se enteró del secreto a principios de 1940. En 1941, el Ejército y la Marina se unieron para crear un sistema criptográfico conjunto basado en la máquina. El Ejército comenzó a utilizarla con el nombre de SIGABA . Se construyeron algo más de 10.000 máquinas. [1] : p. 152
El 26 de junio de 1942, el Ejército y la Marina acordaron no permitir que las máquinas SIGABA se ubicaran en territorio extranjero, excepto cuando el personal estadounidense armado pudiera protegerlas. [2] La SIGABA se pondría a disposición de otro país aliado solo si al personal de ese país se le negaba el acceso directo a la máquina o a su operación por parte de un oficial de enlace estadounidense que la operara. [2]
La teoría básica de SIGABA era similar a la de Enigma, ya que utilizaba una serie de rotores para codificar cada carácter del texto simple en un carácter diferente del texto cifrado. Sin embargo, a diferencia de los tres rotores de Enigma, SIGABA incluía quince y no utilizaba un rotor reflector.
La SIGABA tenía tres bancos de cinco rotores cada uno; la acción de dos de los bancos controlaba el paso del tercero.
La SIGABA hizo avanzar uno o más de sus rotores principales de una manera compleja y pseudoaleatoria. Esto significaba que los ataques que podían destruir otras máquinas de rotor con pasos más simples (por ejemplo, Enigma) se volvían mucho más complejos. Incluso con el texto simple en la mano, había tantas entradas potenciales para el cifrado que era difícil determinar las configuraciones.
En el lado negativo, el SIGABA también era grande, pesado, caro, difícil de operar, mecánicamente complejo y frágil. No era un dispositivo tan práctico como el Enigma, que era más pequeño y ligero que las radios con las que se usaba. Encontró un uso generalizado en las salas de radio de los barcos de la Armada de los EE. UU., pero como resultado de estos problemas prácticos, el SIGABA simplemente no podía usarse en el campo. En la mayoría de los teatros se usaron otros sistemas en su lugar, especialmente para comunicaciones tácticas. Uno de los más famosos fue el uso de los codificadores navajos para las comunicaciones tácticas de campo en el Teatro del Pacífico. En otros teatros, se usaron máquinas menos seguras, pero más pequeñas, ligeras y resistentes, como el M-209 . El SIGABA, por impresionante que fuera, era excesivo para las comunicaciones tácticas. Dicho esto, surgió nueva evidencia especulativa más recientemente de que el código M-209 fue descifrado por criptoanalistas alemanes durante la Segunda Guerra Mundial. [3]
Como SIGABA no tenía reflector, se necesitaba un interruptor de más de 26 polos para cambiar las rutas de las señales a través del laberinto alfabético entre los modos de cifrado y descifrado. El interruptor largo del “controlador” estaba montado verticalmente, con su perilla en la parte superior de la carcasa. Ver imagen. Tenía cinco posiciones, O, P, R, E y D. Además de cifrar (E) y descifrar (D), tenía una posición de texto simple (P) que imprimía lo que se escribía en la cinta de salida, y una posición de reinicio (R) que se usaba para configurar los rotores y poner a cero la máquina. La posición O apagaba la máquina. La configuración P se usaba para imprimir los indicadores y los grupos de fecha/hora en la cinta de salida. Era el único modo que imprimía números. No se realizaba ninguna impresión en la configuración R, pero las teclas de dígitos estaban activas para incrementar los rotores.
Durante el cifrado, la tecla Z se conectaba a la tecla X y la barra espaciadora generaba una entrada Z en el laberinto del alfabeto. La A aparecía como un espacio durante el descifrado. Se esperaba que el lector comprendiera que una palabra como “xebra” en un mensaje descifrado era en realidad “zebra”. La impresora añadía automáticamente un espacio entre cada grupo de cinco caracteres durante el cifrado.
El SIGABA se puso a cero cuando todos los rotores de índice leyeron cero en su dígito de orden inferior y todos los rotores de alfabeto y código se ajustaron a la letra O. Cada rotor tenía una leva que hacía que el rotor se detuviera en la posición adecuada durante el proceso de puesta a cero.
Los rotores de SIGABA estaban alojados en un armazón desmontable sujeto por cuatro tornillos de mariposa. Esto permitía almacenar los elementos más sensibles de la máquina en cajas fuertes más seguras y arrojarlos rápidamente por la borda o destruirlos de otra manera si se amenazaba con capturarlos. También permitía que una máquina cambiara rápidamente entre redes que utilizaban órdenes de rotor diferentes. Los mensajes tenían dos indicadores de 5 caracteres, un indicador exterior que especificaba el sistema que se estaba utilizando y la clasificación de seguridad y un indicador interior que determinaba los ajustes iniciales de los rotores de código y alfabeto. La lista de claves incluía ajustes de rotor de índice separados para cada clasificación de seguridad. Esto impedía que los mensajes de clasificación inferior se utilizaran como trampas para atacar mensajes de clasificación superior.
La Marina y el Ejército tenían diferentes procedimientos para el indicador interior. Ambos empezaban poniendo a cero la máquina y haciendo que el operador seleccionara una cadena aleatoria de 5 caracteres para cada nuevo mensaje. Luego, esta se codificaba para producir el indicador interior. Las listas de claves del Ejército incluían una configuración inicial para los rotores que se utilizaba para codificar la cadena aleatoria. Los operadores de la Marina utilizaban el teclado para incrementar los rotores de código hasta que coincidieran con la cadena aleatoria de caracteres. El rotor alfabético se movía durante este proceso y su posición final era el indicador interno. En caso de operaciones conjuntas, se seguían los procedimientos del Ejército.
Las listas de claves incluían una cadena de verificación “26-30”. Después de reordenar los rotores según la clave actual, el operador ponía a cero la máquina, encriptaba 25 caracteres y luego encriptaba “AAAAA”. El texto cifrado resultante de las cinco A tenía que coincidir con la cadena de verificación. El manual advertía que era posible que hubiera errores tipográficos en las listas de claves y que se debía aceptar una coincidencia de cuatro caracteres.
El manual también daba sugerencias sobre cómo generar cadenas aleatorias para crear indicadores, desde el uso de naipes y fichas de póquer hasta la selección de caracteres de textos cifrados y el uso del propio SIGABA como generador de caracteres aleatorios. [4]
Aunque el SIGABA era extremadamente seguro, Estados Unidos siguió mejorando su capacidad durante toda la guerra, por temor a que la capacidad criptoanalítica del Eje pudiera descifrar el código del SIGABA. Cuando se descifraron los mensajes ENIGMA alemanes y la máquina de cifrado tipo B japonesa , los mensajes fueron examinados minuciosamente en busca de indicios de que las fuerzas del Eje pudieran leer los códigos criptográficos estadounidenses. También se interrogó a los prisioneros de guerra del Eje con el objetivo de encontrar pruebas de que se hubiera descifrado la criptografía estadounidense. Sin embargo, ni los alemanes ni los japoneses estaban haciendo ningún progreso en descifrar el código del SIGABA. Un mensaje JN-A-20 descifrado, fechado el 24 de enero de 1942, enviado desde el agregado naval en Berlín al vicejefe del Estado Mayor General de la Armada japonesa en Tokio afirmaba que los "esfuerzos criptoanalíticos conjuntos japoneses-alemanes" eran "muy satisfactorios", ya que los "alemanes han mostrado un ingenio encomiable y recientemente han experimentado cierto éxito en los sistemas de la Armada inglesa", pero están "encontrando dificultades para establecer técnicas exitosas de ataque a la configuración de código 'enemigo'". En otro mensaje JN-A-20 descifrado, los alemanes admitieron que su progreso en la ruptura de las comunicaciones estadounidenses era insatisfactorio. Los japoneses también admitieron en sus propias comunicaciones que no habían hecho ningún progreso real contra el sistema de cifrado estadounidense. En septiembre de 1944, cuando los aliados avanzaban firmemente en el frente occidental, el diario de guerra del Grupo de Inteligencia de Señales Alemán registró: "Tráfico de 5 letras de EE. UU.: Trabajo interrumpido por no ser rentable en este momento". [5]
Los sistemas SIGABA estaban vigilados de cerca en todo momento, con cajas fuertes separadas para la base del sistema y el conjunto de ruedas de código, pero hubo un incidente en el que una unidad se perdió por un tiempo. El 3 de febrero de 1945, un camión que transportaba un sistema SIGABA en tres cajas fuertes fue robado mientras sus guardias visitaban un burdel en Colmar, Francia , recientemente liberado . El general Eisenhower ordenó una búsqueda exhaustiva, que finalmente descubrió las cajas fuertes seis semanas después en un río cercano. [6] : pp.510–512
La necesidad de cooperación entre las fuerzas estadounidenses, británicas y canadienses para llevar a cabo operaciones militares conjuntas contra las fuerzas del Eje dio lugar a la necesidad de un sistema de cifrado que pudiera ser utilizado por todas las fuerzas aliadas. Esta funcionalidad se logró de tres formas diferentes. En primer lugar, el adaptador ECM (CSP 1000), que podía instalarse en las máquinas de cifrado aliadas, se produjo en el taller de reparación de ECM del Astillero Naval de Washington. Se produjeron un total de 3500 adaptadores. [5] El segundo método fue adaptar el SIGABA para que interoperara con una máquina británica modificada, la Typex . La máquina común se conocía como la Máquina de Cifrado Combinada (CCM) y se utilizó a partir de noviembre de 1943. [2] Debido al alto costo de producción, solo se fabricaron 631 CCM. La tercera forma fue la más común y la más rentable. Fue el adaptador "X" fabricado por Teletype Corporation en Chicago. Se instalaron un total de 4500 de estos adaptadores en las instalaciones de mantenimiento a nivel de depósito. [5]