Boletín ENIGMA - nº 46
1 Octubre 2006
Boletín del Taller de Criptografía
de Arturo Quirantes Sierra
Dirección original: http://www.cripto.es/enigma/boletin_enigma_46.htm
CRIPTO 101 - RSA y la aritmética modular I
CRIPTO 101 - RSA y la aritmética modular II
CRIPTOGRAFÍA HISTÓRICA - ¿Dónde está la fuerza 34?
LIBERTAD VIGILADA - Delación masiva en Nueva Zelanda
!Sí, aquí estamos de nuevo! Puede que algunos de vosotros estuviera ya con el
gusanillo en el cuerpo, pensando si el Boletín ENIGMA volvería o no. Aquí entre
nosotros, algunas veces constituye un esfuerzo que me deja con ganas de no
seguir. Menos mal que el virus de la cripto es resistente a la inmunización.
Esta nueva temporada hay pocos cambios respecto a la pasada. En primer lugar, me
gustaría resaltar (si es que no lo hice en boletines pasados) que todo el Taller
de Criptografía se rige ahora por la licencia Creative Commons. Para resumirla,
viene a ser una versión codificada del "gratistotalware para uso no lucrativo"
que ya era de rigor desde el principio. Lo que he hecho es dejar constancia
explícita, no sólo en este boletín, sino en toda mi web de criptografía. Con
ello quiero asimismo hacer patente mi apoyo al movimiento Creative Commons y en
contra del "todo o nada" en el campo de los derechos de autor. Podéis comprobar
en qué consiste dichas licencias mediante los enlaces que se encuentran al final
de este boletín. Quede constancia que TODOS los boletines Enigma pasados se
considerarán cubiertos bajo la licencia Creative Commonsa, aunque no lo ponga
explícitamente hasta hoy.
Este mes comenzamos con una nueva sección. Tratará de diversas cifras y sistemas
de cifrado, así como de algunas herramientas y "trucos" del oficio. En el pasado
algunos artículos de esas características han aparecido en otras secciones como
la de Criptografía Histórica. No he querido usar nombres trillados como
"criptografía para principiantes" o "introducción a la cripto" porque no quiero
pecar de falta de originalidad, y además, ¿por qué he de consideraros como
principiantes?. He escogido para el nuevo apartado el título de "Cripto 101".
Viene inspirado por el sistema docente norteamericano, donde muchos cursos de
primer curso vienen indicados con el número 101. Por cierto, quienes vean en
esto una alusión a la Habitación 101 de la novela de Orwell "1984", no van por
ahí los tiros, aunque enhorabuena por vuestra agilidad mental.
En esta primera aparición de Cripto 101, es escogido como tema el algoritmo de
clave pública RSA. Seguro que os suena, ya que es ampliamente usado, ya sea en
PGP o en navegadores. Es uno de los algoritmos de clave pública más conocidos, y
también de los más usados, ya que fue uno de los primeros en aparecer. De hecho,
acaba de cumplir treinta años. Me disculpo de antemano si mis capacidades
docentes no se encontrasen a la altura, porque reconozco que la aritmética
modular es bastante árida y difícil de conceptualizar. Pero esto es lo que hay,
chicos. Para compensar, también tenéis un artículo sobre la confusión que generó
un mensaje mal descifrado en una de las batallas más importantes de la Segunda
Guerra Mundial. Para cerrar el día, no puede faltar el capítulo habitual de
"Libertad Vigilada". Por cierto, que ya casi nos hemos cargado el libro, así que
habrá que buscar otro texto para copypastear. ¿Alguna sugerencia?
CRIPTO 101- RSA y la aritmética modular I
Durante siglos, uno de los mayores problemas de la criptografía fue el de la
distribución segura de claves. Con el término "clave" designamos todo conjunto
de información necesario para cifrar o descifrar un mensaje. No se incluye en
esto el propio algoritmo de cifrado (que suponemos conocido), sino al pellizco
que necesita para activarse. En el caso de una caja fuerte, suponemos que sólo
la combinación (la clave) es secreta, en tanto que los detalles de su
construcción (el algoritmo) son conocidos.
El problema consiste en que los dos interlocutores necesitan conocer la clave
para poder cifrar y descifrar la información. Si pueden encontrarse físicamente,
no hay problema. Pero ¿y si no existe esa posibilidad? No podemos escribir en
una carta nada del tipo "oye, Luis, la clave de acceso es 12994", porque
cualquiera que intercepte la carta podrá acceder a ella. En principio, se
necesita un canal seguro de comunicación para intercambiar las claves. Pero si
existe un canal seguro, la información que pase por ella estará protegida, así
que ¿para qué molestarnos en cifrar?
En la década de los 70, algunas mentes inquietas consiguieron por fin derribar
el muro del intercambio seguro de claves. La idea básica consiste en descartar
la idea de sistemas de clave única. Hasta entonces, todos los algoritmos
conocidos de cifrado (sean cifras de César, Vigenère, libros de claves o
máquinas Enigma) usaban la misma clave para cifrar y para descifrar. Pero
podemos imaginar una situación en la que hay DOS claves, una para cifrar y otra
para descifrar. No hay problema en que la clave de cifrado sea conocida por
otros, ya que solamente sirve para bloquear la información. Lo que importa es
que la clave de descifrado sí sea secreta, de forma que solamente su propietario
pueda acceder a la información. Debe haber algún tipo de relación entre ambas
claves (ya que no son independientes), pero de tal forma que resulte
prácticamente imposible deducir la clave privada (o secreta) a partir de la
clave pública. Sería análogo a un buzón de correos: todo el mundo puede meter
información dentro, pero solamente el dueño puede abrirlo con su llave.
Resultaba extraño imaginar siquiera que tal cosa fuese posible, pero algunos lo
imaginaron, y lo más sorprendente, tuvieron éxito. Uno de los procedimientos más
famosos es el conocido algoritmo RSA, por los apellidos de sus descubridores (Rivest,
Shamir, Adleman). Vamos a examinar dicho algoritmo. Primero, sin embargo, hemos
de hablar algo de la aritmética modular. Estamos tan acostumbrados a las cuatro
reglas, que la aritmética modular puede parecernos algo de otro mundo.
Relájense, y vamos a introducirla de la forma más sencilla posible.
Cuando escribimos algo del tipo 12/3, sabemos que significa la división. El
resultado es aquel número que, multiplicado por el divisor, nos da el dividendo.
Es decir, C=A/B si se cumple que A=B*C. Ahora supongamos que usamos números
enteros. A veces no habrá división entera, como cuando intentamos 12/5: no
existe número entero que multiplicado por cinco nos de doce.
Pero, si A es mayor que B, podremos encontrar dos números enteros C y D de tal
forma que A=B*C+D. Como todos los niños saben, C recibe el nombre de cociente y
D es el resto. Normalmente, suele interesarnos más el cociente (como en
problemas del tipo "si tenemos doce libros y hay cinco niños, ¿a cuántos libros
tocan?"). Sin embargo, en la aritmética modular nos interesará más el resto, D.
La aritmética modular se aplica a números enteros, y usa el concepto de
congruencia. Se suele decir que A es congruente con D módulo C, y se denota como
A == D (mod C) si existe algún número entero B tal que se cumpla que A=D+B*C.
Como sé que así suena algo raro, digámomoslo de otra forma:
"A == D (mod C) si al dividir A entre C obtenemos D como resto"
Por ejemplo, 34 == 11(mod 12) porque al dividir 23 entre 12 nos sale de resto
11. En efecto, 12*2+11=34. En este caso, el divisor 2 nos importa un pimiento, y
centramos nuestra atención en el resto. Hay que tener en cuenta, sin embargo,
que dicho "resto" puede ser mayor que el propio cociente, al revés de lo que
sucede cuando dividimos. Por ejemplo, 24=4*5+4, así que 24 == 4 (mod 5), pero
puesto que 24*3*5+9, también se cumple que 24 == 9 (mod 5). De forma que otra
definición alternativa más completa sería:
"A == D (mod C) si tanto A como D tienen el mismo resto al dividirlos por C"
o, lo que es equivalente,
"A == D (mod C) si C es divisor exacto de (A-D)"
Escoja el lector la definición que más le guste.
Un problema de la aritmética modular es que la operación inversa no siempre
existe. El inverso multiplicativo de 4 es 1/4, puesto que 4*(1/4)=1. En el caso
de la aritmética modular, imagínense la ecuación:
4x == 1 (mod 7)
El inverso (módulo C) de A es X si se cumple:
1 = (A*X) mod C, o lo que es lo mismo, A*X == 1 mod C
lo que es equivalente a escribir A^(-1) == X (mod C). Pero ojo, escribir A^[-1]
no es lo mismo que 1/A, ya que ese inverso es modular, no multiplicativo. Sí,
suena algo raro, pero eso es lo que hay. Así será de raro, que a veces el
inverso modular es único, y otras veces hay más de una solución. Esto,
curiosamente, resulta una ventaja en determinadas ocasiones. Quédense con las
reglas del inverso modular:
a) Hay solución única si A y C son primos relativos, es decir, si no tienen
divisores comunes, o lo que es lo mismo, si el máximo común divisor de ambos es
la unidad: mcd(A,X)=1.
b) Si A y C no son primos relativos, no existe inverso modular.
Para que no haya confusiones, denotaremos con A^[-1] la operación inversa
modular, y con A^(-1) (o sea, 1/A) a la inversa multiplicativa de toda la vida.
Existen otras propiedades de la aritmética modular que son de interés en
aplicaciones criptográficas. Por ejemplo, ahí van tres:
1 - Si mcd(A,P) = 1, entonces a^(p-1) == 1 mod p (este resultado se conoce como
teorema de Fermat).
2 - Si R == S (mod P-1), entonces, A^R == A^S mod P para cualquier valor de A
entero.
3 - A^P == A (mod P) para cualquier valor de A entero.
La ventaja de la aritmética modular se ve mejor cuando el dividendo A es muy
grande. Supongamos que queremos hacer una operación del tipo (96^n) mod 7. Si n
se hace grande, la operación se hace cada vez más difícil. Voy a dar el
resultado para algunos valores de n:
n 96^n (96^n) mod
7 Comprobación
1 96 5
96 = 7*13+5
2 9216 4
9216 = 7*1316+4
3 884736 6
884736 = 7*126390+6
4 84934656 2
84934656 =7*12133522+2
... y aquí paro, porque para n=5 el número A ya tiene diez cifras. Por supuesto,
si B (en este caso, 7) también es grande, olvidémonos de obtener soluciones con
calculadora.
Sin embargo, es mucho más sencillo obtener el resultado de otra manera. Una
propiedad de la aritmética modular dice que:
(a*b) mod n = ( (a mod n)*(b mod n) ) mod n
Vamos a ver cómo nos ayuda esto. En primer lugar, vamos a tomar a=b=96, y n=7, y
recordemos que 96 mod 7 = 5
En ese caso, tendríamos
(96*96) mod 7 = ( (96 mod 7)*(96 mod 7) ) mod 7 = ( 5*5 ) mod 7 = 25 mod 7
¿Y cuánto vale 25 mod 7? Pues cuatro, ya que 7*3+4=25
Ahora para n=3. Tomemos a=96, b=96^2, y resolvamos:
(96^3) mod 7 = (96*96^2) mod 7 = ( (96 mod 7)*(96^2 mod 7) ) mod 7 = ( 5*4 ) mod
7
= 20 mod 7
Y el resto de 20/7 es seis, ya que 7*2+6=20.
Para n=4 podemos hacer (96^2 * 96^2 ) mod 7, o (96*96^3) mod 7, da igual.
Entreténganse y verán como les sale 2.
Es decir, podemos hacer operaciones del tipo a^x mod n, incluso si el valor a^x
es tan grande que no podemos calcularlo. Sólo hay que ir usando la propiedad que
hemos visto. ¿Para qué sirve esto, se preguntará usted a estas alturas? Y, sobre
todo, ¿qué tiene todo esto que ver con la criptografía?. Paciencia, que pronto
se verá.
CRIPTO 101 - RSA y la aritmética modular I
El
algoritmo de clave asimétrica (o clave pública) RSA se basa en la dificultad de
factorizar números primos grandes. Es decir, dado n=p*q, conocer los valores de
p y q. El método que nos enseñaron de pequeños consiste en dividir n por todos
los números inferiores a él. De forma más eficaz, podemos ir dividiendo n por
todos los números primos menores que la raiz cuadrada de n. Por ejemplo, ¿es 143
primo? Bueno, es impar, así que no es divisible por dos. En cuanto a los demás
posibles factores, vayamos probándolos:
143/3 = 47.666 no
143/5 = 28.6 no
143/7 = 20.428 no
143/11 = 13. Sí.
Y, como 13 es primo, tenemos la descomposición única 143=11*13.
Pero, cuando el número tiene muchas cifras, este esquema es inviable. Intenten
dividir un número de cien cifras por 3,5,7,11... y ya me contarán. Lo que se
hace es echar mano de otros procedimientos, denominados pruebas de primalidad,
que NO usan el sistema que hemos mencionado anteriormente. No vamos a ver esas
pruebas de primalidad por razones de espacio, así que limítense a creerme y ya
lo veremos otro día.
Vamos con el algoritmo RSA. Para empezar, vamos a tomar la prueba de primalidad
y usarla para escoger dos números primos grandes, llamémosles p,q. Los
multiplicamos y obtenemos n=pq, y también definimos un número F=(p-1)*(q-1). A
continuación, vamos a obtener dos claves: una pública (e) para cifrar, y otra
privada (d) para descifrar. La clave e será tal que e y F sean primos relativos.
Por si no lo recuerdan, dos números son primos relativos cuando no tienen
divisores comunes. No tienen por qué ser primos ellos mismos. Por ejemplo, 6 y
35 sin primos relativos porque ningún número entero divide a 6 y a 35 a la vez
(6=2*3, 35*5*7). En cambio, 6 y 39 no son primos relativos, ya que el número 3
divide tanto a 6 como a 39.
Una vez escogida e, vamos a escoger una clave d tal que se cumpla e*d == 1 mod
F. Como vimos en la primera parte, esto significa que d es el inverso modular de
e: d = e^[-1] mod F. Pero claro, puede que ese número d sea único, o que haya
más que uno (o incluso que no exista). Pero hemos escogido e de tal forma que (e,F)
son primos relativos, y como vimos anteriormente, eso garantiza solución única.
El procedimiento para obtener d se basa en el llamado Algoritmo de Euclides
Extendido, pero tranquilos, no vamos a entrar en detalles.
Ahora, vamos a cifrar un mensaje M. Este mensaje lo representamos mediante un
número que será más o menos grande que n. Si es más grande, dividiremos M en
bloques m1,m2,... que sean menores que n. Vamos a suponer, por comodidad, que
M<n. Para cifrar, aplicamos aritmética modular:
C = (M^e) mod n
Esto nos da el mensaje cifrado C a partir del texto llano M y de la clave
privada (n,e). Ahora bien, ¿cómo se hace el paso opuesto que nos dará M conocido
C? Vamos a comenzar elevando C a la potencia d y a hacer módulo n. Esto nos da
lo siguiente:
C^d = (M^e)^d = M^(ed)
Ahora bien, puesto que ed == 1 mod F, eso significa que dividir ed por n da por
resto uno. Lo que es lo mismo, existe algún número k que cumple que ed=kF+1, o
lo que es lo mismo, ed = k(p-1)(q-1)+1. Elevando M a la potencia ed, y
aprovechando esa propiedad, tenemos:
M^(ed) = M^[k(p-1)(q-1)+1] = M^z
Lo que sigue requiere hilar algo más fino, pero vamos a intentarlo. Tomemos el
máximo común divisor de (M,p). Puesto que p es un número primo, sólo hay dos
posibilidades: que p sea divisor de M, o que no lo sea. Esto es, o bien mcd(M,p)=p,
o bien mcd(M,p)=1.
En el primer caso, M es divisible por p. En realidad, cualquier potencia de M
será divisible por p. Esto significa que M^(ed) dividido por p da resto cero. O
también que M^(ed) dividido por p da resto M. Según la aritmética modular, eso
significa que M^(ed) == m (mod p)
En el segundo caso, podemos aplicar el teorema de Fermat y concluir que M^(p-1)
== 1 mod p. Elevando ambos lados de la ecuación a la potencia k(q-1), y
multiplicando por M, obtenemos igualmente:
M^[k(p-1)(q-1)+1] == M (mod p)
(reconozco que me pierdo un pelo en este último paso, o sea que tranquilo si a
usted le pasa lo mismo).
Es decir, en ambos casos tenemos
M^(ed) == M mod p
Si hacemos lo mismo con el otro número primo, q, tenemos:
M^(ed) == M mod q
Es decir, M^(ed) - M es divisible tanto por p como por q; puesto que q,p son
primos, también significa que M^(ed) - M es divisible por p*q, y results que p*q
= n, así que después de todo este jaleo tenemos:
M^(ed) == M mod n
Finalmente, recordemos que C^d = M^(ed), así que C^d == M mod n, o dicho de otra
forma:
M = (C^d) mod n
De forma que los pasos para cifrar y para descifrar son muy similares:
Para cifrar: tomamos e y hacemos C = (M^e) mod n
Para descifrar: tomamos d y hacemos M = (C^d) mod n
La seguridad del sistema se basa en que el enemigo no sepa el valor de d. Una
forma en que podría tener éxito sería obtener el valor de n=p*q, y factorizarlo.
Conseguidos, podríamos hallar F y después d. Es decir, la fortaleza del sistema
descansa en la dificultad de factorizar n. Esto puede conseguirse si p,q son
grandes y la diferencia p-q, también. También hay algunas condiciones
adicionales que p,q deberían cumplir para que el sistema funcione bien.
Pero, fundamentalmente, la fortaleza del algoritmo RSA descansa en la dificultad
de factorizar números grandes. Hay diversos algoritmos de factorización, pero si
(p,q) son lo bastante grandes, digamos de 100-200 dígitos, el tiempo de
ejecución es demasiado alto. Sin embargo, existe la posibilidad de que
algoritmos más perfeccionados consigan romper el problema de la factorización.
Hasta entonces, el algoritmo RSA continuará protegiendo nuestros secretos. Forma
parte de diversos sistemas criptográficos como los de los navegadores seguros (SSL),
documentos de identidad electrónicos y programas como PGP.
Como ironía de la historia, hace algunos años se desveló que la criptografía de
clave pública (de la que RSA forma parte) fue descubierta por vez primera por un
grupo de criptoanalistas británicos llamados James Ellis, Clifford Cocks y
Malcolm Williamson. Para su desgracia, trabajaban para la agencia
criptoanalítica GCHQ (el equivalente inglés de la NSA), de modo que no pudieron
hacer públicos sus descubrimientos. Tuvieron que asistir impotentes (y
mordiéndose los puños, imagino) al "redescubrimiento" de métodos similares por
parte de norteamericanos, quienes no se cortaron un pelo en aplicar
comercialmente sus descubrimientos. No tiene usted más que abrir la sección de
seguridad en el menú de opciones de su navegador, y verá como encuentra
certificados digitales firmados por RSA Security.
Tan sólo en 1997, Cocks recibió permiso para dar una charla sobre las
contribuciones británicas a la criptografía de clave pública (sus tres
compañeros habían fallecido ya). Un año antes, Rivest, Shamir y Adleman
vendieron RSA Data Security, Inc, por 200 millones de dólares. Mientras este
boletín estaba siendo gestado, y como para festejar el 30º aniversario del
algoritmo RSA, los accionistas de RSA Security aprobaron su venta a EMC
Corporation por una cantidad que se mide ya en miles de millones de dólares.
Toda una lección para esos estudiantes que se quejan porque las "mates" son un
rollo y no sirven para nada.
CRIPTOGRAFÍA HISTÓRICA - ¿Dónde está la fuerza 34?
En
ocasiones, la criptografía mal usada es peor que no usar criptografía en
absoluto. Hay veces en las que un operador cifra mensajes descuidadamente,
regalando con ello al enemigo el conocimiento de dicha cifra. O envía el mismo
mensaje cifrado con dos sistemas diferentes. O, en el proceso, altera el
contenido del mensaje. Se supone que el paso de texto llano a texto cifrado (y
viceversa) debe ser claro, sencillo, y resistente a errores. Pero en un mundo de
humanos falibles, ¿quién se sorprenderá de que entre el dicho y el hecho haya
mucho
trecho?
En ocasiones, un solo bit erróneo puede dar al traste con el mejor de los
planes. Cuando se compilaron los primeros códigos comerciales, algunas de los
términos clave eran muy similares. Los redactores, preocupados porque sus
códigos tuviesen muchos términos y se vendiesen bien, no pensaron en problemas
errores de transmisión. En 1887, Frank Primrose, un comerciante de algodón de
Filadelfia, envió una orden telegráfica a su agente en Kansas que incluía la
palabra clave BAY (he comprado). Entre una estación telegráfica y otra, BAY fue
transformada por error en BUY (compre). El agente lo consideró como una orden de
compra y provocó a su jefe una pérdida de miles de dólares. El Tribunal Supremo
dictaminó que la Western Union no era responsable de la pérdida, ya que el
emisor del mensaje no solicitó una colación (retransmisión del mensaje a la
estación emisora para comprobar si el mensaje ha sido alterado). Primrose
recuperó solamente el precio del telegrama. Como consecuencia de este y otros
problemas similares, los compiladores de códigos acordaron que todas las
palabras del código se diferenciasen en más de dos letras, lo que se conocía
como "diferencial de dos letras", así como eliminar palabras que fuesen
demasiado similares en código Morse.
Otras veces, las "mejoras" o modificaciones llevadas al sistema de cifrado para
reforzarlo acababa siendo un talón de Aquiles. Los alemanes, durante la Segunda
Guerra Mundial, tenían una regla para la disposición de los rotores en sus
máquinas Enigma: no repetirlos. Si un rotor se usa hoy en la posición izquierda,
mañana debe ocupar otra posición, o bien no ser usado. Los criptógrafos alemanes
intentaban, probablemente, evitar que un operador holgazán utilizase los mismos
rotores una y otra vez. Pero cuando los descifradores de Bletchley Park se
disponían a atacar los mensajes cifrados de un día determinado, ya sabían que
los rotores habían cambiado, lo que reducía el número de posibilidades a
revisar.
Uno de los procedimientos estándar, a la hora de cifrar un mensaje, es añadirle
letras o caracteres de relleno. Esto sirve para evitar encabezamientos o finales
estereotipados. Por supuesto, se supone que ese rellenado ("padding", que le
llaman en inglés) es eliminado al descifrar el mensaje, y no debe ser
interpretado como parte del mensaje. Cuando no es así, las consecuencias pueden
resultar impredecibles. Que se lo cuenten si no al almirante Halsey. Y aquí
comienza nuestra historia.
Nos encontramos en octubre de 1944. El general MacArthur se dispone a cumplir su
famosa promesa de volver a las Filipinas. Los japoneses, diezmados pero no
vencidos, se disponen a impedirlo con todos los medios a su alcance. En cuanto
descubrieron que los norteamericanos habían desembarcado en la isla filipina de
Leyte, prepararon un plan de acción para arrojarlos de nuevo al mar, y quizá
asestar un duro golpe a la Armada norteamericana.
La armada japonesa se dividió en tres grupos. Las flotas Norte (almirante Ozawa)
se dirigiría al Norte de las Filipinas, en tanto que la flota Sur (almirante
Nishimura) rodeó el archipiélago por el sur. Su propósito era entretener y
alejar a los grupos navales de Estados Unidos que protegían los flancos
Norte/Este (almirante Halsey) y Sur/Oeste (vicealmirante Kinkaid). Mientras
tanto, una poderosa tercera flota japonesa (Centro), al mando del almirante
Kurita, cruzaría las Fipilinas por su zona central, saldría por el Estrecho de
San Bernardino y tomaría por sorpresa a las fuerzas de desembarco.
La estrategia japonesa les salió muy cara, pero tuvo éxito. La flota Sur fue
literalmente destrozada por los acorazados norteamericanos, en tanto que la
flota Norte, perdidos sus majestuosos portaaviones en la batalla de Cabo Engaño
(y no es broma, se llama así), huía en dirección norte perseguida por los buques
de Halsey. Pero la poderosa flota Centro llegó a la zona de desembarco, y
comenzó a atacar con dureza a los soldados estadounidenses.
El mando norteamericano, para empeorar la situación, estaba separado
geográficamente. El almirante Kinkaid, en el sur, estaba a las órdenes de
MacArtuhr; Halsey, en el norte, respondía ante el almirante Nimitz, en Hawaii.
El propio MacArthur, en sus memorias, atribuiría la pifia a la división del
mando y la falta de enlaces entre las flotas. Cualquiera que fuese el motivo, el
Estrecho de San Bernardino, desguarnecido, veía aparecer un buque japonés tras
otro, entre ellos seis enormes acorazados.
Imaginen ahora el dilema que se le planteó al almirante Halsey. Las fuerzas
navales bajo su mando habían hundido ya cuatro portaaviones de la flota Norte de
Ozawa, y otros catorce buques estarían pronto al alcance de los cañones
norteamericanos. Era una oportunidad de oro. Pero las llamadas de auxilio por
parte de las débiles fuerzas que defendían las playas de desembarco eran cada
vez más acuciantes. ¿Qué hacer? ¿Dar la vuelta para socorrer a los hombres que
sus barcos debían estar protegiendo, aun a riesgo de llegar tarde? ¿O poner
rumbo sur y dejar
escapar al resto de la flota Norte?
Mientras Halsey se preguntaba qué hacer, su superior el almirante Nimitz, a
cinco mil kilómetros de distancia, le envió un mensaje preguntando dónde se
hallaba en esos momentos la fuerza naval que debía estar en San Bernardino. Su
nombre era "Task Force 34", que se puede traducir como "fuerza de combate" o
"fuerza de tareas", y englobaba la mayor parte de los acorazados y cruceros de
Halsey. Nimitz se preguntaba dónde estaba la Fuerza de Combate y por qué se
había unido a la Tercera Flota, abandonando su papel de piquete frente a las
playas de desembarco. En realidad, sólo existía sobre el papel, ya que formaba
parte integrante de la Tercera Flota, pero algunos (Nimitz entre ellos) pensaba
en ella como una fuerza separada.
Y aquí viene el error de transmisión. Nimitz envió el siguiente mensaje a Halsey:
"¿Dónde está, repito, dónde está la Fuerza de Combate 34?" Al recibirlo, Halsey
pensó que le estaban preguntando por toda su Tercera Flota, lo cual ya era una
confusión peligrosa. Pero cuando el mensaje fue descifrado, el operador creyó
que las últimas palabras ("the world wonders", algo así como "se pregunta todo
el mundo") eran parte integrante del mensaje. Así que el mensaje que recibió
Halsey fue "¿Dónde está, repito, dónde está la Fuerza de Combate?, se pregunta
todo el mundo".
Todos sabemos que una sola palabra, o aún una entonación de voz, puede alterar
todo un mensaje. La esposa que desea ver más a su marido en casa puede
fácilmente convertir una pregunta inocente ("¿te vas a jugar al golf?") en un
reproche ("¿ya te vas a jugar al golf?"). Dejaré al lector que piense en su
ejemplo favorito. En el caso del almirante Halsey, la coletilla final "se
pregunta todo el mundo" le sentó fatal. Lo consideró poco menos que un insulto a
su honor. Abandonó su puesto en busca del enemigo, lo tenía a punto de caramelo,
!y alguien a medio mundo de distancia le reprochaba haber dejado su puesto de
guardia! Según cuenta el propio almirante Halsey,
"Me quedé de piedra, como si me hubieran abofeteado. El papel temblaba en mis
manos. Me quité la gorra, la arrojé sobre la cubierta y grité algo que me
avergüenza recordar ... estaba tan furioso que no podía ni hablar". Humillado y
furioso, dio la orden de girar al sur. La flota japonesa, a apenas sesenta
kilómetros de los cañones americanos, escapó del mismo destino que había
convertido en chatarra la flota Sur. Como el propio Halsey diría posteriormente
"perdí la oportunidad con la que soñé desde mis días como cadete". Nada de duelo
a cañonazos, nada de hundir una poderosa flota.
¿Habría actuado Halsey igual de no haber tenido su juicio nublado por la ira?
Quién sabe. El sabía que su Tercera Flota llegaría demasiado tarde para socorrer
a los soldados de MacArthur. Un sencillo error de descifrado permitió escapar a
un enemigo diezmado pero todavía poderoso, y aún quedaba mucha guerra.
¿Y saben qué es lo más raro de toda aquella película? Pues que la flota Central,
al mando del almirante Kurita, llegó a la zona de desembarco ... y desaprovechó
una oportunidad de oro. Tras atravesar a toda velocidad un estrecho que no se
creía seguro ni para una barca de pesca, la flota Central se enfrentó a una
débil cortina de buques norteamericanos. Pero, con todo a su favor, el almirante
Kurita decidió interrumpir el combate y volverse por donde habían venido. Tal
vez fuese la amenaza de la Fuerza 34 la que le hizo reagruparse y marcharse,
aunque dicha fuerza no llegó a tiempo de actuar, tal como Halsey predijo. El
general MacArthur afirma que los japoneses tenían muchas pérdidas, pero yo me
resisto a creer que esta fuese la razón. Yo estoy confuso. ¿Por qué Kurita
abandonó la batalla cuando la tenía ganada?, se pregunta todo el mundo.
LIBERTAD VIGILADA - Delación masiva en Nueva Zelanda
[Extraído del libro "Libertad Vigilada", de Nacho García Mostazo, con permiso
del autor]
Primera parte, capítulo 14:
Como hemos mencionado, Estados Unidos y el Reino Unido decidieron compartir su
hallazgo con los socios del tratado UKUSA al inicio de la década de los 80. Se
hacía necesario que la red "Echelon" llegara también a Canadá, Australia y Nueva
Zelanda. En 1981, la NSA norteamericana pidió a todos los servicios de
inteligencia aliados que iniciaran un nuevo programa para interceptar las
comunicaciones diplomáticas japonesas. La agencia de inteligencia de señales de
Nueva Zelanda (Government Communications Security Bureau, GCSB) fue también
requerida para colaborar en este plan, al que debía contribuir interceptando las
comunicaciones de la embajada japonesa en Wellington. Pero Nueva Zelanda no pudo
interceptar sus enlaces por satélite hasta 1989, cuando se instaló la estación
Waihopai, de modo que la interceptación empezó a hacerse desde la base
norteamericana de Yakima. Desde allí se enviaban los mensajes sin procesar a los
cuarteles generales del GCSB en Wellington para descodificarlos, traducirlos y
escribir informes de inteligencia según el formato estándar de los países UKUSA.
La NSA facilitaba al resto de agencias los programas para romper la encriptación
japonesa. [1]
Por supuesto, todas estas operaciones eran ultrasecretas, pero algunos agentes
de la inteligencia neozelandesa no estaban muy conformes con la participación de
su país en una red de inteligencia que, aunque había nacido en un principio para
proteger a estas naciones de la amenaza soviética, estaba girando en un sentido
no muy deseable. A finales de los años 80, esos espías descontentos empezaron a
hablar con Nicky Hager, un periodista local que trataba de investigar cuál sería
el uso de la nueva base que se estaba construyendo en Waihopai y que empezó a
funcionar en 1989. Finalmente, hasta medio centenar de agentes o ex agentes
estuvieron de acuerdo en ser entrevistados por Hager, quien en 1996 publicó uno
de los libros más documentados sobre la red "Echelon". Según sus testimonios,
"la red 'Echelon' no se diseñó para interceptar las comunicaciones individuales.
Más al contrario, el sistema trabaja de forma indiscriminada, interceptando
enormes cantidades de información y utilizando ordenadores para identificar y
extractar mensajes de interés, descartando aquellos no deseados [...]. Los
ordenadores instalados en bases alrededor del mundo -afirma Hager citando a sus
fuentes. se conocen como los "diccionarios Echelon". Estos puestos básicos
existen al menos desde los primeros años 80. Pero el 'sistema Echelon' fue
diseñado por la NSA para interconectar todos esos ordenadores a fin de que
funcionaran en una red integrada", asegura. [2]
"El sistema 'Echelon' -continúa- se usa para interceptar correo electrónico,
fax, télex y llamadas telefónicas a través de las redes de telecomunicaciones
por todo el mundo." Sin embargo, "a diferencia de otros sistemas de espionaje
tecnológico desarrollados durante la Guerra Fría, 'Echelon' está diseñado para
objetivos no militares: gobiernos, organizaciones, negocios e individuos en
prácticamente todos los países". Potencialmente, "afecta a las comunicaciones
entre un país y otro en cualquier punto del mundo y, en ocasiones, también a las
comunicaciones dentro de una misma nación", según Hager. Pero el "Diccionario"
de cada estación no sólo contiene la lista de palabras clave elegidas por la
agencia de inteligencia que explota esa base, sino que también incluye listas de
vigilancia de las otras agencias", afirma el periodista neozelandés. Así, como
señalamos anteriormente, "Echelon" formaría desde sus inicios una red mundial
similar a Internet que permite a las agencias de inteligencia cambiar a
distancia las "listas de vigilancia" en los "diccionarios". Lo confirma Hager,
quien además asegura que, cuando un "diccionario" local encuentra un mensaje
relacionado con la "lista de vigilancia" de otra de las agencias de la red,
"automáticamente es capturado y enviado a los cuarteles generales de dicha
agencia, pero nadie en la estación donde se ha interceptado conoce qué datos de
inteligencia se recolectan para los otros países". [3]
Los testimonios y documentos recogidos por Duncan Campbell también confirman que
en cada base de espionaje hay varios "diccionarios" que almacenan "una extensa
base de datos sobre objetivos especificados, con inclusión de nombres, asuntos
de interés, direcciones, números de teléfono y otros criterios de selección. Los
mensajes entrantes se comparan con estos criterios y si se halla una
coincidencia, la información se envía automáticamente, sin tratamiento previo.
Los 'diccionarios' reciben encargos con muchos miles de requisitos distintos".
Así pues, "Echelon, como sustituto tecnológico del tratamiento manual de la
información interceptada, trajo a la red de espionaje una situación nueva. Como
afirma Campbell coincidiendo plenamente con Hager, "antes de 'Echelon', los
distintos países y estaciones sabían qué se interceptaba y a quién se enviaba",
pero con la llegada de "Echelon", "un parte de los mensajes seleccionados por
los 'diccionarios' en estaciones remotas se envían a la NSA u otros clientes-
sin que se hayan leído en el lugar de obtención". [4]
[1]. Nickey Hager, "Exposing...". Op. cit.
[2]. Nicky Hager, "Secret Power: New Zealand´s Role in the International Spy
Network". Craig Potton Publishing. Nelson, Nueva Zelanda, 1996.
[3]. Nickey Hager, "Exposing...". Op. cit.
[4]. Duncan Campbell, "Interception Capabilities 2000". Op. cit.
El
boletín ENIGMA es una publicación gratuita del Taller de Criptografía, y se rige
por las normas de la licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual.
Se permite su libre copia, distribución y comunicación para fines no lucrativos,
citando nombre y referencia.
Para más información, véase la licencia Creative Commons en sus formas reducida
y completa:
http://www.cripto.es/licencia/deed.es.htm
http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es
PARA DARSE DE ALTA: envíe un mensaje a la dirección alta arroba cripto.es
añadiendo las palabras alta_enigma en el asunto (subject).
PARA DARSE DE BAJA, envíe un mensaje a la dirección baja arroba cripto.es
añadiendo las palabras baja_enigma en el asunto (subject)
Para comentarios a este boletín (dudas, preguntas, consultas, críticas,
noticias, colaboraciones, etc.), estoy a su disposición en la dirección
noticias arroba cripto.es
Página del Boletín Enigma (incluyendo números atrasados):
http://www.cripto.es/enigma.htm
(c) Arturo Quirantes 2007
Vuelta a la Página principal del Boletín ENIGMA