-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 _____________________________________________________________________ | | | ======= == === === ==== == == === | | = == = = = = == == = | | = = = = = = = = = = = = | | xxxxx x x x x xxxxxx x x x x x | | x x x x x x x x x xxxxxxx | | x x xx x x x x x x x | | xxxxxxx xxx xx xxx xxxxx xxx xxx xxx xxx | |_____________________________________________________________________| Boletín del Taller de Criptografía de Arturo Quirantes http://www.cripto.es Número 55 01 de Noviembre de 2007 ======================================================================== EDITORIAL CRIPTO 101 - Shannon y la teoría de la comunicación (I) CRIPTOGRAFÍA HISTÓRICA - Rommel y su "espía" americano TEMAS DE ACTUALIDAD - jHashCalc, herramienta para funciones hash LIBERTAD VIGILADA - El Parlamento Europeo, alarmado ======================================================================== <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> EDITORIAL <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> Hoy no tengo muchas ganas de enrollarme, así que seré breve. Hoy tenemos una historia interesante sobre criptoanálisis alemán (sí, también ellos se movieron en ese campo) con el Zorro del Desierto como protagonista. También abrimos una serie sobre la teoría matemática de la comunicación, que tiene importantes aplicaciones en criptografía y teoría de la codificación y transmisión. Espero que la matemática no os sea demasiado pesada. No lo será para al menos uno de nuestros lectores, quien ni corto ni perezoso nos ofrece una herramienta para calcular funciones hash. Por cierto, ya que hablamos de ello, nuestra contribución al proyecto SHA-1 Collision Search de la Universidad de Graz va viento en popa. Nos encontramos en la posición 71 dentro del ránking de equipos, con un total de 18.730 créditos. Una contribución modesta, considerando que el global casi supera ya los 24 millones de créditos, pero ahí está. Por cierto, a ver si descubrimos qué es "un crédito" Mientras tanto, tomemos este boletín, guardémoslo en la maleta y disfrutémoslo en este puente de todos los santos, o de Halloween, o de lo que corresponda. Feliz mes a todos. <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> CRIPTO 101 <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> =----------------------------------------------------------------------= Shannon y la teoría de la comunicación (I) =----------------------------------------------------------------------= "Sgeun un etsduio de una uivenrsdiad ignlsea, no ipmotra el odren en el que las ltears etsan ersciats, la uicna csoa ipormtnate es que la pmrirea y la utlima ltera esetn ecsritas en la psiocion cocrrtea. El rsteo peuden etsar ttaolmntee mal y aun asi pordas lelelo sin pobrleams. Etso es pquoreno lemeos cada ltera por si msima, snio la paalbra en un tdoo" Si ha podido usted comprender el párrafo anterior, ha hecho usted un buen trabajo de corrección de errores. Para un ser humano, resulta tan sencillo que puede leerlo hasta un niño de seis años (he hecho la prueba con uno). Eso también nos dice que el lenguaje es redundante. Textos incorrectos o mutilados pueden comprenderse con relativa facilidad. Si han visto a algún joven enviar mensajes por móvil del estilo "kdams a ls 7 en l br, bsos, tq" sabrán a lo que me refiero. La redundancia y la existencia de patrones en el lenguaje es uno de los elementos que hacen tan difícil cifrar mensajes bien. ¿Podemos cuantificar matemáticamente esa redundancia? O dicho de otro modo, ¿hay algún modo de aplicar técnicas de análisis estadístico para, de alguna forma, determinar cuán redundante es un idioma? Este, y otros problemas similares, fueron resueltos por Claude Shannon en dos artículos ya clásicos de 1947 y 1948, mientras trabajaba en los laboratorios Bell. El primero de esos artículos se titula "Teoría matemática de la comunicación", y veremos algo de él en el presente artículo. En él, Shannon trató el problema de cuantificar la información procedente de una fuente, ver qué pasa con él cuando un mensaje es transmitido y cuáles son las consecuencias que se pueden extraer. Puesto que esto tiene relación con la transmisión de información, la codificación y la criptografía, nos resultan de especial interés aquí. Así que prepárense para un baño matemático, en el entendido de que nos saltaremos los escollos más áridos para centrarnos en los conceptos fundamentales. Antes de lanzarnos a la piscina, hagamos algunos ejercicios de calentamiento. Vamos a suponer el siguiente ejemplo. Estamos en un puesto de observación meteorológica, y nuestra misión consiste en enviar mensajes acerca del estado del tiempo. Para simplificar, vamos a suponer tan sólo cuatro estados del tiempo: soleado, nublado, lluvioso y con niebla. Pero estamos en un lugar remoto y solamente tenemos una línea telegráfica por la que transmitir mensajes. Olvidemos el código Morse por un momento, y limitémonos a mensajes formados por elementos binarios (1= señal, 0= no señal). Si los cuatro estados del tiempo son igualmente probables, podemos realizar el siguiente tipo de codificación: Soleado = 00, Nublado = 01, Lluvioso = 10, Con niebla = 11 Es decir, una codificación en forma de dos elementos binarios o bits. Cada mensaje consta de dos bits. De esa forma, un mensaje semanal que indicase "soleado, niebla, niebla, nublado" se transmitiría como 00111101. Esto sería bastante bueno si los cuatro fenómenos meteorológicos fuesen equiprobables. Pero imaginemos que no lo sea. Supongamos que las probabilidades fuesen: 50% para la niebla, 25% para el sol, 12.5% para las nubes y otro tanto para la lluvia. En ese caso, podemos imaginarnos otros tipos de codificación más eficaces, esto es, que nos permitan reducir el número de bits que necesitamos. He aquí uno de tales códigos: Soleado = 10, Nublado = 110, Lluvioso = 1110, Niebla = 0 Veamos que este código es más eficiente. De cada mil mensajes, tendremos en promedio 500 veces "niebla" (500*1=500 bits en total), 250 "soleado" (250*2=500 bits), 125 "nubes" (125*3=375 bits) y 125 "lluvia" (125*4=500 bits). El número total de bits que hemos empleado es, sumando, 500+500+375+500=1875 bits. En el primer código hubiéramos necesitado 2000 bits. Es decir, codificando el evento más probable con un menor número de bits, hemos conseguido un código que es un 6% más eficiente y nos permitirá, en promedio, transmitir la misma información un 6% más rápido. Esto podemos hacerlo porque nos apoyamos en el hecho de que los sucesos no tienen todos la misma probabilidad. Y seguro que hay otros procedimientos de codificación aún más eficaces. Antes de tirarnos a la piscina, voy a poner otro ejemplo que he robado descaradamente a Manuel Lucena (cuyo libro, "Criptografía y seguridad en computadores", les recomiendo). Supongamos una bolsa con una bola blanca y nueve bolas negras. Evidentemente, la probabilidad de sacar una bola y que sea la blanca es de 1/10, y la de sacar una negra es de 9/10. Pero supongamos que yo les digo que he sacado una bola, y que esa bola es negra. ¿Cuánta información les he proporcionado? La verdad, no mucha, porque es algo que cabía esperar con una probabilidad alta. Sin embargo, si lo que he sacado es la bola blanca, esa información es mayor, puesto que era poco probable que la bola fuese blanca. Y si ya he sacado la bola blanca, ¿qué información les daré si les digo que he vuelto a meter la mano en la bolsa y he sacado la bola negra? Ninguna, porque si la bola blanca ya está fuera, forzosamente cualquier bola posterior será negra. Según lo explica Lucena, podemos fijarnos en la cantidad de información como una medida de la disminución de incertidumbre acerca de un suceso. Si le digo, por ejemplo, que la lotería le ha tocado a alguien en algún lugar, eso y nada es lo mismo, la incertidumbre es grande y la información es poca. Pero si les digo el nombre de la persona a la que le ha tocado la lotería, dónde vive y cuántas hijas solteras tiene, la incertidumbre desaparece y la información transmitida es mucho mayor. Es decir, la información que obtenemos de un suceso es un resultado de la disminución en la incertidumbre, y está relacionada con la probabilidad de que éste suceda Bien, pues vamos a intentar construir alguna función matemática que nos lo represente. Vamos a suponer que tenemos N sucesos posibles, y que el suceso i (i=1,2...N) tiene una probabilidad Pi de que suceda, de forma que P1+P2+...+PN = 1. Queremos una función H(P1,P2...PN) que nos represente la incertidumbre asociada al resultado final. Según Shannon, deberíamos exigir una serie de propiedades a H, por ejemplo, que cuando las probabilidades Pi sean todas iguales, entonces H aumente con N. Nos vamos a saltar la letra pequeña para ir directamente al grano. Para un suceso i, que tiene una probabilidad Pi de que suceda, diremos que hemos recibido I(i)=-Log(Pi) unidades de información (recuerden que seguimos usando logaritmos en base 2). Como la probabilidad de que suceda dicho suceso es Pi, la cantidad de información PROMEDIO que nos da el suceso i es Pi*I(i), o lo que es lo mismo, -Pi*Log(Pi). Y si sumamos la cantidad de información media de todos los sucesos i obtendremos la cantidad de información promedio que nos da el conjunto de N sucesos: H = -P1*Log(P1)-P2*Log(P2)-P3*Log(P(3)-...-PN*Log(PN). A esa cantidad la llamaremos ENTROPÍA. Hablando coloquialmente, viene a darnos una idea del número medio de bits necesarios para codificar cada uno de los estados posibles de un suceso. Puesto que el logaritmo de un número positivo menor que la unidad es negativo, la entropía definida así tiene un valor cero o positivo. Vamos a calcularla con un par de ejemplos. En primer lugar, el ejemplo meteorológico primero. El suceso 1 será "soleado", el 2 será "nublado", el 3 será "lluvioso" y el 4 será "con niebla". Vamos a usar logaritmos en base 2. En el caso de que los cuatro sucesos sean equiprobables, P1=P2=P3=P4=1/4. Eso significa que cada suceso tiene - -Log(1/4) = 2 unidades de información (bits), y nos da una información promedio de (1/4)*2 = 1/2 bit. Dicho de otra forma: cada suceso tiene 2 bits y sucede una vez de cada cuatro, así que obtenemos 0.5 bits por suceso cada vez que sale. La entropía del sistema sería H =4*(1/2) = 2 bits. Ahora, el segundo ejemplo meteorológico. Los cuatro sucesos (soleado, nublado, lluvioso, con niebla) tienen probabilidades distintas, lo que nos da esto: SUCESO PROBABILIDAD Información media -Pi*Log(Pi) Soleado 1/4 0.5 Nublado 1/8 0.375 Lluvioso 1/8 0.375 Niebla 1/2 0.5 La suma de la columna de la derecha nos da la entropía, que en este caso es de 1.75 bits. Antes las probabilidades eran iguales y obteníamos 2 bits de entropía; ahora, el sistema tiene probabilidades distintas y la entropía es algo menor. Un nuevo ejemplo. Supongamos que lanzamos una moneda al aire. La probabilidad de sacar cara y la de sacar cruz es la misma, 0.5. La entropía es H=-[0.5*Log(0.5)+0.5*Log(0.5)] = 1 unidad de información. Pero supongamos que la moneda está "trucada", de forma que sacamos cara el 60% de las veces y cruz el 40% restante. Ahora la entropía es H=-[0.6*Log(0.6)+0.4*Log(0.4)] = 0.970 Truquemos la moneda hasta el límite: 99.9% de probabilidades para cara, 0.1% para cruz. H= [0.999*Log(0.999)+0.001*Log(0.001)] = 0.011. Nuevamente, cuando las probabilidades no son iguales, la entropía baja. Fíjense que, cuando teníamos la probabilidad 50-50, tanto podía salir cara como cruz, la incertidumbre era alta y el sistema no nos daba mucha información porque no sabemos qué va a salir. Sin embargo, en el caso del trucaje al 99.9%, solamente obtendremos de promedio una cruz por cada 999 caras, de forma que la información obtenida al obtener cara es escasa. Cuando sale cruz, la información es alta (es algo que no nos esperábamos), pero la probabilidad de que suceda es muy baja, así que en promedio tenemos poca incertidumbre, mucha información sobre el sistema (sale cara casi siempre) y baja entropía. En realidad, siempre se tiene el siguiente resultado: si la probabilidad de un determinado suceso tiende a uno (y la de los demás, por consecuencia, tiende hacia cero), la entropía tiende hacia cero. En un sistema con entropía cero, sólo puede darse un suceso ya que los demás no tienen probabilidad alguna de suceder. Esto es un resultado general, válido para cualquier número de posibles sucesos. Como vemos, cuanto menor sea la entropía, menor será la incertidumbre (y mayor la información) sobre el sistema. Eso significa que esa cantidad llamada entropía nos da una medida de la información que sabemos del sistema a partir de las probabilidades de los sucesos. En realidad, esa cantidad H que hemos definido (una suma de productos Pi*Log(Pi) ) aparece en cálculos de mecánica estadística y representa estados de probabilidad. Los estados termodinámicos de baja probabilidad son precisamente aquellos a los que se asocia valores cada vez más bajos de entropía, lo que permite asociar el concepto de entropía con el de desorden. Los sistemas de alta entropía son los de mayor desorden. ¿O alguna vez han visto ustedes a un niño ordenar espontáneamente su habitación? Lo normal es lo contrario. De forma que llamar "entropía de información" a H es una descripción bastante buena. A estas alturas, vamos a interrumpir nuestro chapuzón en la piscina para preguntarnos el por qué de todo este jaleo matemático. ¿Qué tiene todo esto que ver con la criptografía? Pues bastante, como iremos viendo poco a poco. Porque esos "sucesos" de los que hemos hablado hasta ahora han sido cosas como monedas al aire, bolas de colores y similares. Pero podemos tomar una fuente de información y considerar los elementos de información como sucesos. Podremos así examinar la "entropía" asociada a un lenguaje estructurado, y también la de un sistema cifrado. Vamos, por ejemplo, a calcular la "entropía" asociada al lenguaje castellano. Vamos a suponer un alfabeto de 26 letras (incluyendo la ñ pero sin la w). Lo primero que necesitaríamos es conocer con qué probabilidad cada letra aparecen en un texto por término medio. Ya hablamos de las frecuencias del lenguaje en el Boletín ENIGMA 32 ("Frecuencias y coincidencias"). Tomemos la distribución de frecuencias calculadas por Joaquín García Carmona. Según él, la probabilidad de obtener una letra a es P(a)=0.119; la de b es P(b)=0.011, la de c es P(c)=0.048, P(d)=0.05, P(e)=0.146 y así hasta la z. Un poquito de cálculo nos muestra algo así: LETRA PROBABILIDAD -P*Log(P) a 0.119 0.3655 b 0.011 0.0716 c 0.048 0.2103 d 0.050 0.2161 e 0.146 0.4053 ... y cortamos aquí por motivos de espacio. Pero si lo hiciésemos para las 26 letras del alfabeto, la suma de los términos de la última columna nos daría una entropía de H=3.99 bits/letra. Si usted se encuentra otras frecuencias de letras en otro libro, saldrá una entropía levemente diferente. También dependerá, naturalmente, del idioma en cuestión. Un librito que tengo encima de la mesa, titulado "Teoría de la información y codificación", escrito por Norman Abramson, da una entropía de 4.03 bits/símbolo para el idioma inglés. En ese caso no aparece la ñ pero sí la w. Y en ninguno de los dos casos consideraremos el efecto del espacio entre palabras, que si bien no es propiamente una letra sí constituye un "signo" que hay que tener en cuenta en algunas situaciones. Por contra, supongamos que tenemos un lenguaje no estructurado, compuesto por 26 símbolos con idéntica probabilidad. Este es el caso de un mono tecleando una máquina de escribir de forma totalmente aleatoria. También, y esto nos interesa, se correspondería con un mensaje cifrado de forma perfecta. En este caso, la probabilidad de cada una de las 26 letras es de 1/26, con lo que su entropía sería -26*(1/26)*Log(1/26), lo que equivale a Log(26)=4.7 bits/símbolo. Es decir, un batiburrillo de letras tomadas al azar contiene más entropía, y por lo tanto mayor incertidumbre (y menos información), que un lenguaje como el español o el inglés. Volviendo al caso del español, el hecho de que su entropía sea menor que la del batiburrillo aleatorio significa que está estructurado. Pero aquí hemos aprovechado tan sólo la información relativa a la frecuencia relativa de las letras, no la forma en que éstas aparecen. Para que lo vean, he aquí un ejemplo. Supongamos que leemos un texto en español y aparecen las letras QU. Pregunta, ¿cuál es la probabilidad de que la siguiente letra sea la A? Si fuésemos a "piñón fijo" mirando la tabla de frecuencias de letras, diríamos que es del 11.9%, ¿no?. Sin embargo, la probabilidad real es CERO. Piénsenlo un poco. ¿Qué palabra conocen ustedes en español que contenga las letras QUA en ese orden? Que yo recuerde, ninguna. En español, a las letras QU solamente le siguen la E o la I. Es decir, la probabilidad de que una letra determinada aparezca en el texto no depende solamente de la probabilidad de dicha letra en el idioma, sino que también depende de las letras que han salido antes. Eso contrasta con lanzar una moneda al aire, donde la probabilidad de que salga cara sigue siendo la misma independientemente de cuántos lanzamientos hayamos hecho antes, o de qué haya salido antes. Tenemos, por tanto, que perfeccionar la entropía para que nos sea de utilidad. Pero eso lo haremos en el próximo chapuzón. <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> CRIPTOGRAFÍA HISTÓRICA <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> =----------------------------------------------------------------------= Rommel y su "espía" americano =----------------------------------------------------------------------= En las crónicas sobre la criptología de la Segunda Guerra Mnudial, las hazañas de los aliados forman la parte del león. A lo largo de decenas de libros e incontables artículos y conferencias (por no hablar de este vuestro Boletín) se han narrado los éxitos de polacos, ingleses y norteamericanos en el descifrado de mensajes alemanes. Cierto es que tan sólo la ruptura de Enigma supuso una ventaja equivalente a la de ejércitos enteros, pero ¿qué pasa con los logros criptoanalíticos del Eje? Existieron, ciertamente, y lograron algunas ventajas notables para Hitler. Sin embargo, existe todavía una escasez de noticias al respecto. Algunos han llegado a creer que la mentalidad alemana esa incapaz de asimilar que una cifra supuestamente perfecta pudiera ser rota. Otros apuntan a rivalidades entre los departamentos responsables del Tercer Reich. O, sencillamente, puede ser que la historia alemana esté aún esperando ser contada y que más de una sorpresa duerman todavía en los archivos. En tanto que eso ocurra, vamos a recordar un hecho de armas que favoreció a los alemanes. Más concretamente, a uno de los generales más famosos y brillantes del ejército aleman: Erwin Rommel. La narración que sigue se basa en el libro Codebreakers y algunas fuentes menores. Nos encontramos en el otoño de 1941. Los ejércitos alemanes avanzan por Rusia y el Norte de África, amenazando con redondear su serie de victorias y convertir Europa y el Mediterráneo en territorios alemanes. En aquellos momentos, la ofensiva británica había expulsado a Rommel de Libia y éste se encontraba a la defensiva. Sin embargo, contaba con una fuente de primer orden que le ayudaría en la contraofensiva que estaba preparando. Esta fuente era de origen americano, y no era resultado de una traición o un soborno. La "fuente" hacía su trabajo de forma honrada, sin saber que con ello estaba ayudando al comandante del Afrika Korps. El nombre de la fuente es Bonner Frank Fellers, y era coronel del ejército norteamericano. En aquella época estaba destinado en El Cairo como agregado militar, con la misión evidente de verlo todo, anotarlo todo e informar de todo. Aunque entonces Estados Unidos todavía no había entrado en guerra, los británicos le introducían en sus círculos íntimos y le revelaban sus secretos, quizá con la esperanza de que el Tío Sam les proporcionase más material bélico y ayuda económica. Fellers disponía de información de primera mano, material que hubiera supuesto una gran ventaja a los alemanes. Fellers enviaba sus informes cifrados, para lo cual usaba el llamado código Black (Negro). Se trataba de un código reciente, creado para los agregados militares y que también puede que fuese usado por algunos embajadores. Por desgracia para los americanos,Black fue robado en la embajada americana en Roma por el Servicio de Información Militar (SIM) italiano. La fecha del robo no está muy clara. Según David Alvarez, la historia oficial del servicio de inteligencia italiano da la fecha inmediatamente anterior a la declaración de guerra contra Estados Unidos, hacia diciembre de 1941. Sin embargo, parece ser que en Agosto el SIM había obtenido algunas claves norteamericanas, incluida la Black, en Agosto o septiembre. El propio ministro de Asuntos Exteriores italiano, conde Ciano, escribía en su diario: "... el SIM se ha apoderado de la clave secreta americana y todo lo que [el embajador de EEUU] Philips telegrafía es descifrado por nuestra oficina". En cualquier caso, los italianos tardaron poco en compartir su descubrimiento con sus amigos alemanes. De esa forma, los mensajes transmitidos por Fellers eran diligentemente captados por los alemanes, descifrados y transmitidos (bajo clave alemana, naturalmente) a Rommel. Ayudado con estos nuevos datos, el Zorro lanzó un contra-contraataque el 21 de Enero de 1942. Durante su avance, que recuperó para el Eje más de 500 kilómetros en algo más de dos semanas, Fellers transmitía información de gran precisión y valor táctico. Por ejemplo, tan sólo dos días después de comenzada la ofensiva, Fellers informó que 270 aviones estaban siendo retirado del Norte de África para reforzar a las fuerzas británicas en el Lejano Oriente. Seis días después llegaba una lista exhaustiva de las unidades blindadas británicas: número, daños, ubicaciones, grado de eficiencia. En otra ocasión, Fellers causó un gran sobresalto a los alemanes, al informar de un envío de gasolina. Los alemanes, al parecer, ignoraban que los norteamericanos llaman "gas" a la gasolina, así que leyeron el mensaje y pensaron que los americanos se preparaban !para un ataque con armas químicas! Evidentemente, no fue tan sólo la información de Fellers la que llevó a Rommer hasta la frontera con Egipto. No le llamaban el Zorro del Desierto por nada. Pero es innegable que la información que recibía aumentó la efectividad de sus fuerzas y le permitió optimizar sus esfuerzos. También le libró de más de un contratiempo. En Junio, por ejemplo, los británicos realizaron un gran esfuerzo por cortar las líneas de suministros alemanas. En la noche del 12 al 13, unidades de sabotaje fueron enviadas por aire y tierra para neutralizar los aeródromos alemanes mientras una fuerza marítima atacaba la base de la armada italiana en Tarento. Sin embargo, el bocazas de Fellers envió un mensaje a Washington que fue interceptado y descifrado por los alemanes. Como resultado, los comandos enviados contra los aeródromos cayeron en una emboscada y fueron aniquiladas. Los aviones que iban a sabotear apenas sufrieron daños, y al día siguiente lanzaron duros ataques contra los convoyes británicos. Hundieron tres destructores y dos mercantes, a añadir a otro crucero hundido por un submarino. La operación contra Tarento fue suspendida. Sólo dos buques mercantes consiguieron llegar a la asediada Malta hasta el mes de Noviembre. El eslógan de guerra "el desliz del labio puede hundir un buque" ("a slip of the lip can sink a ship") nunca fue tan literalmente cierto como entonces. Es posible que el mensaje de Fellers, número 11.119, haya sido uno de los más perjudiciales para el esfuerzo de guerra aliado. De haber tenido éxito la operación aliada, las líneas de suministros entre Europa y el Norte de África podrían haber quedado seriamente dañadas, los carros alemanes habrían sido privados del combustible que tan desesperadamente necesitaban y Rommel hubiera tenido que ponerse a la defensiva. En vez de ello, al Afrika Korps se supo en movimiento con el objetivo de tomar El Cairo y expulsar a los aliados de Egipto de una vez por todas. Sin embargo, la suerte estaba a punto de cambiar. Ya en Febrero de 1942, Churchill informó a Roosevelt de que los criptoanalistas británicos habrían logrado éxitos parciales contra algunas cifras usadas por el Cuerpo Diplomático de EEUU. Hacia Junio, los británicos estaban descifrando mensajes Enigma que contenían referencias a los informes de Fellers, e informaron a los estadounidenses de que sus códigos del El Cairo habían sido comprometidos. Algunos de los mensajes captados por los británicos resultaban embarazosos en extremo. En uno de ellos, Fellers indicaba el mal estado de las defensas británcias y predecía de que Rommel podría tomar fácilmente el delta del Nilo en una ofensiva. ¿Influyó esa noticia sobre el Zorro? Teniendo en cuanta de que eso fue exactamente fue lo que hizo, resulta como menos curioso. Para complicar más las cosas, dentro de los servicios de inteligencia británicos había quienes se olían juego sucio, pero no por parte alemana sino americana. Hubo quien pensó que los ingleses no estaban leyendo los mensajes alemanes relativos a los informes de Fellers, sino esos mismos informes directamente. ¿Estaban los británicos espiando a los norteamericanos? Parece que no, pero hubo quien no estaba muy convencido. Incluso circuló la teoría de que todo era un retorcido plan británico para poder echarle mano a la máquina de cifrar SIGABA, que los norteamericanos se negaban a compartir con sus aliados. En cualquier caso, una SIGABA fue rápidamente despachada al El Cairo para asegurar las comunicaciones allí, y Fellers fue reclamada por Washington. Las consecuencias no pudieron ser peores para Rommel. En el momento en que preparaba lo que podía ser su ofensiva final, con escasez de combustible y material, la ventana de información se había cerrado. La derrota de El Alamein ha sido bien estudiada, y no puede justificarse por el hecho de que Fellers hubiera cerrado el pico. Rommel estaba en inferioridad numérica y material, hubo de enfrentarse a una aviación enemiga poderosa, profundos campos de minas y el agotamiento de sus hombres. Sus pérdidas no podían ser repuestas con la rapidez con que lo hacían los británicos. En suma, era el canto del cisne para el Afrika Korps, con o sin la ayuda de Fellers. Con todo, es indudable que la ausencia de los informes de Fellers perjudicó a Rommel en el momento más crítico. Sin conocer la situación precisa o el estado de las fuerzas enemigas, su capacidad para defenderse o atacar se redujo. Los británicos, mientras tanto, habían reforzado su 8º Ejército con tanques y artillería. La sorpresa obtenida por los británicos fue tal que, en el momento del ataque, Rommel estaba en Alemania, donde había viajado por cuestiones de salud. Regresó rápidamente a África, tan sólo para recoger los restos de su ejército. En esta ocasión, los aliados habían conseguido la sorpresa y con ella la victoria. Teniendo el cuenta el daño que sus informes hicieron a la causa aliada, resulta curioso que el coronel Fellers no diese con sus huesos en un penal militar. Aunque pensándolo bien, hay que reconocer que se limitó a hacer su trabajo, y lo hizo (para desgracia de su propio bando) muy bien. Pocos meses después, de hecho, se le concedió la Medalla de Servicios Distinguidos por su labor como agregado militar, citando que "sus informes al Departamento de Guerra fueron modelos de claridad y precisión". Seguro que hasta el Zorro de Desierto estaría de acuerdo con tal afirmación. <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> TEMAS DE ACTUALIDAD <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> =----------------------------------------------------------------------= jHashCalc, herramienta para funciones hash =----------------------------------------------------------------------= En diversos boletines hemos hablado de las funciones resumen o hash, tan útiles para "destilar" mensajes de cara a una firma digital. Justo el mes pasado el Boletín ENIGMA 54 recogió el reto lanzado por una universidad austríaca para buscar colisiones en SHA-1, uno de los algoritmos hash más usados. Por supuesto, SHA-1 no es el único algoritmo de su clase usado. Hay muchos por ahí. Y seguro que, después de inventar un algoritmo de cifrado, el siguiente paso de un afectado por el criptobacillus enigmaticus, mutación programadora, sería hacer una función que calculase el hash de un mensaje. Dicho y hecho, y seguro que hay muchos programas disponibles en Internet. Sin embargo, a uno de nuestros lectores habituales le ha sabido a poco. Por un lado, como él dice, programas como el HashCalc son software privativo (es decir, con derechos de copia). Por otro, cuando nos salimos del entorno Windows la disponibilidad de software de hash no es tan alta. Así que, ni corto ni perezoso, nuestro colaborador Death Master se ha sacado de la manga jHashCalc, una implementación en software libre en entorno Java. jHashCalc permite obtener el valor de once funciones de hash simultáneamente, desde el vetusto MD2, pasando por SHA-1, hasta algunos poco conocidos del público como Tiger o Whirlpool. Por supuesto, no aconsejo a nadie que emplee funciones hash como el MD2 o MD4 para aplicaciones de alta seguridad, pero resulta interesante tener un programa que los incorpore. También incluye variaciones del algoritmo SHA, desde el propio SHA-1 hasta SHA-512, lo que considero muy valioso vistos los últimos ataques contra SHA-1 que sugieren el cambio a funciones SHA con mayor número de bits. Todos los lectores interesados en descargaros el programa lo tenéis disponible en http://omniumpotentior.wordpress.com/software/ y también en la sección "Caja de Herramientas" de vuestro Taller de Criptografía. También podréis leer comentarios de su autor en: http://omniumpotentior.wordpress.com/2007/10/01/jhashcalc-implementaci on-libre-de-hashcalc/ Por cierto, que Death Master ha confesado haber hecho un "Taller de Criptografía" para la Campus Party 2007. Quede claro que yo no tengo nada que ver con eso, así que las medallas sean para su legítimo dueño. Si yo fuera un directivo de la SGAE, ya le habría denunciado como un centenar y medio de veces. Pero bueno, luego nos regala perlas como jHashCalc y se le perdona todo. Disfrutad del programa, y no olvidéis enviar vuestros comentarios al Boletín y a la web del autor, que os espera en http://omniumpotentior.wordpress.com/ <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> LIBERTAD VIGILADA <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> =----------------------------------------------------------------------= El Parlamento Europeo, alarmado =----------------------------------------------------------------------= [Extraído del libro "Libertad Vigilada", de Nacho García Mostazo, con permiso del autor] Segunda parte, capítulo 22: La agenda política del Parlamento Europeo suele prepararse con mucha antelación. Una organización política de carácter burocrático y multinacional, como es su caso, necesita trabajarcon previsión para coordinar sus actividades. A mediados de 1997, los funcionarios de la Eurocámara ya tenían listo un borrador con el plan de sesiones para el curso político que se iniciaría en septiembre de 1998. Entre otros, se iba a celebrar un debate sobre la vigilancia electrónica y las tecnologías de control político. La Comisión de Libertades Públicas y Asuntos de Interior del Parlamento sería la encargada de exponer el temaante el Pleno, pero los eurodiputados no conocían en profundidad en área tan compleja, así que la Oficina del Programa de Evaluación de Opciones Científicas y Tecnológicas (Scientific and Technological Options Assessment, STOA), un servicio de la Dirección General de Estudios del Parlamento Europeo, encargó un informe sobre este controvertido asunto a la Fundación Omega de Manchester, en el Reino Unido. El objetivo era documentar a los diputados europeos a propósito del uso que se da actualmente a las tecnologías aplicadas al espionaje. Bajo el título "Evaluación de las Tecnologías de Control Político", el borrador del primer informe de la Fundación Omega se presentó al grupo STOA el 18 de diciembre de 1997 y la Comisión de Libertades Públicas el 27 de enero de 1998. El doctor Steve Wright, autor del mismo, explicaba a los europarlamentarios que "la tecnología de vigilancia puede definirse como los dispositivos o sistemas que pueden vigilar, seguir y evaluar los movimientos de personas, sus propiedades, etc. Gran parte de esta tecnología se utiliza para seguir las actividades de disidentes, activistas por los derechos humanos, periodistas, dirigentes estudiantiles, minorías, dirigentes sindicales y opositores políticos". Estos avances, "concebidos en principio para los sectores de defensa y espionaje, se han expandido rápidamente tras la Guerra Fría a las autoridades policiales y aduaneras, así como al sector privado". [1] El informe de la Fundación Omega advertía sobre todo del uso de las nuevas tecnologías del espionaje en regímenes autoritarios, como en el caso de China, que usó las cámaras de control del tráfico urbano instaladas en la plaza de Tiananmen con fines represivos. Según el documento, "después de la matanza de estudiantes de 1989, se produjo una caza de brujas en la que las autoridades torturaron e interrogaron a miles de personas para localizar a los subversivos. El sistema de vigilancia 'Scoot', con cámaras 'Pelco' fabricadas en Estados Unidos, se utilizó para grabar fielmente las protestas. Las imágenes se emitieron repetidamente por la televisión china, ofreciendo una recompensa por la información, con el resultado de que se identificó a casi todos los transgresores". Aunque hay acuerdos internacionales para restringir la exportación de tecnología que pueda considerarse de "doble uso" a determinados países, sobre todo a regímenes dictatoriales, el doctor Wright afirmaba que, sorprendentemente, "empresas extranjeras exportan sistemas de control del tráfico a Lhasa, en el Tíbet, aunque en Lhasa no existan aún problemas [...] de tráfico". Como se deduce de sus palabras, las cámaras mencionadas no servirían precisamente para controlar el tráfico rodado, sino para vigilar las calles en una región donde el nacionalismo está en plena ebullición. El documento de la Fundación Omega subrayaba que, en estos casos "el problema puede que consista en una culpable falta de imaginación" por parte de los vendedores, que no pensaron que sus cámaras podrían utilizarse con otros fines que aquellos para los que fueron diseñadas. "Una vez más, la responsabilidad democrática es el único criterio que distingue a un moderno sistema de control del tráfico", en principio inofensivo, "de una tecnología avanzada para la captura de disidentes", afirmaba el doctor Wright en su informe. Los parlamentarios europeos también pudieron ver otros ejemplos concretos de tecnologías avanzadas que estarían utilizándose actualmente para el control político, como "los anteojos de visión nocturna, los micrófonos parabólicos para detectar conversaciones a más de un kilómetro de distancia" o los micrófonos láser, "que pueden detectar cualquier conversación" enfocando a una "ventana cerrada situada en la línea de visión". Asimismo, el informe mencionaba "la cámara estroboscópica danesa Jai, que puede registrar centenares de imágenes en cuestión de seguidos y fotografiar de forma individual a todos los participantes en una manifestación o marcha", o a las técnicas "de reconocimiento automático de vehículos, que pueden seguir coches por toda una ciudad mediante un sistema cartográfico". Sobre los dispositivos de escucha y grabación, el informe de la Fundación Omega afirmaba que "la colocación de micrófonos ilegales es una tecnología del pasado", ya que "los espías modernos pueden comprar ordenadores portátiles adaptados especialmente y sintonizar con facilidad todos los teléfonos móviles en funcionamiento (a su alrededor) simplemente colocando el cursos sobre el número. La máquina puede incluso buscar números 'de interés' y comprobar si están activos". Esta definición concreta se puede asimilar a los ordenadores del modelo "ELVIRA" fabricados por AST y mencionados con anterioridad. Pero lo que más llamó la atención de los europarlamentarios fue el epígrafe dedicado a la red "Echelon". Basándose sobre todo en el libro Secret Power, de Nicky Hager, el doctor Wright explicaba que "todas las comunicaciones por correo electrónico, teléfono y fax son interceptadas como cuestión de rutina por la Agencia de Seguridad Nacional de los Estados Unidos". También subrayaba que "Echelon" está diseñado "para objetivos fundamentalmente no militares: gobiernos, organizaciones y empresas en prácticamente todos los países". Al mencionar la "relación especial" que une el Reino Unido con Estados Unidos para operar "Echelon", el documento detallaba cómo esta situación es "incompatible con sus obligaciones en virtud del Tratado de Maastricht, cuyo Título V establece que 'los Estados miembros se informarán mutuamente y se concertarán en el seno del Consejo sobre cualquier cuestíón de política exterior y de seguridad que revista un interés general, a fin de garantizar que su influencia combinada se ejerza del modo más eficaz mediante una acción concertada y convergente". Sin embargo -afirmaba el doctor Wright-, el Reino Unido no puede consultar abiertamente a sus socios europeos" por su integración en el pacto UKUSA. La Oficina STOA del Parlamento Europeo elaboró un resumen posterior del mismo documento donde revela la sorpresa de los eurodiputados: "Aunque nadie negó la utilidad de tales redes (de espionaje) en las operaciones antiterroristas y la lucha contra el tráfico de drogas, el blanqueo de dinero y el tráfico de armas, se manifestó la alarma por la escala de la red extranjera de interceptación identificada en el estudio, y por si la legislación y salvaguardias en cuanto a la protección de datos y de la intimidad existentes en los Estados miembros serían suficientes para proteger la confidencialidad entre los ciudadanos y empresas de la UE, y de éstos con los terceros países", afirmaba. [2] El documento elaborado por la Fundación Omega era simplemente un borrador de trabajo donde el propio doctor Wright aconsejaba al Parlamento Europeo que encargase informes más detallados. La Comisión de Libertades Públicas y Asuntos de Interior de la Eurocámara siguió su consejo y pidió a la Oficina STOA nuevos estudios sobre las tecnologías de vigilancia aplicadas al control político. Un año más tarde se presentaron cinco voluminosos documentos incluidos en un solo informe titulado "Desarrollo de la Tecnología de Vigilancia y Riesgos del Uso Indebido de la Información Económica". El grupo STOA seleccionó al escocés Duncan Campbell para elaborar el volumen 2/5, titulado "Capacidades de Interceptación en 2000". Físico y periodista, Campbell se había destacado desde 1988 como el principal investigador sobre "Echelon" en todo el mundo, como ya hemos podido comprobar con anterioridad. Su informe se presentó en el Parlamento Europeo el 22 de febrero de 2000, en una sesión abierta a los medios de comunicación. Durante dos horas, Duncan Campbell explicó detalladamente las cualidades del sistema "Echelon", aportando pruebas y testimonios que no dejaban lugar a dudas sobre la existencia de una red mundial de espionaje de las telecomunicaciones. [3] [1]. Doctor Steve Wright, "An Appraisal of Technologies for Political Control" ("Evaluación de las Tecnologías para el Control Político"). Fundación Omega. Londres, 1997. Documento PE 166.499. [2]. Grupo STOA, "Evaluación de las Tecnologías de Control Político". Estudio Provisional. Resumen Ejecutivo. Septiembre de 1998. STOA Publications. Parlamento Europeo. [3]. 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://creativecommons.org/licenses/by-nc-sa/2.5/es/deed.es 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. ======================================================================== -----BEGIN PGP SIGNATURE----- Version: PGPsdk version 1.7.1 (C) 1997-1999 Network Associates, Inc. and its affiliated companies. iQA/AwUBRyl3uA7Y43Xkw2u9EQKLlwCgqbYQWZ+pFcfU68Tf524XYz/hmtQAn09+ 6qWRkHWLrA9dk8XKq7kE+s8r =qdD0 -----END PGP SIGNATURE-----