Distribuir contenido Informática y Tecnología

Los prototipos del primer circuito integrado se subastan en Christie's

Barrapunto - 23 June 2014 - 1:30pm
Un pobrecito hablador nos cuenta: «Leo en Slashdot que la casa de subastas Christie's organizará la subasta de unos prototipos de circuitos integrados creados en Texas Instruments, que le valieron a Jack Kilby la obtención del premio Nobel. Se subastará una oblea de germanio con conexiones de hilos de oro fabricada en 1958, junto con un circuito posterior de silicio con conexiones de oro y platino datado en 1964. La casa de subastas estima que la puja final estará entre 1 y 2 millones de dólares. Y tú, ¿vas a romper tu hucha para conseguir un pedazo de historia de la electrónica?»

Freshmeat ha muerto, o casi

Barrapunto - 23 June 2014 - 11:03am
Un pobrecito hablador nos cuenta: «Leo en reddit que Freecode (aka Freshmeat) ha anunciado su decisión de pasar a 'estado estático', lo que significa que el directorio de software seguirá estando disponible, pero no sufrirá más actualizaciones. Freecode/Freshmeat fue en su tiempo el listado más importante de software libre. Catalogaba las aplicaciones en categorías, proporcionando para cada aplicación una descripción, enlaces para descargarlas desde servidores externos, y un histórico de las versiones del software. La falta de interés por parte de los desarrolladores en mantener actualiza dicha información, junto con la caída de visitas, ha impulsado a los responsables de Freshmeat a tomar esta decisión, que si bien no es un cierre, a la larga dificultará más su mantenimiento. En el contexto actual, con repositorios GitHub/BitBucket, feeds RSS controlados por los propios desarrolladores y apt-cache search, Freshmeat se ha convertido en una reliquia. Siempre nos quedará SourceForge (o ¿no?). El anuncio oficial, en http://freecode.com/about.»

BoringSSL: Google crea su propio fork de OpenSSL

Barrapunto - 23 June 2014 - 12:22am
Un pobrecito hablador nos cuenta: «El culebrón de OpenSSL no termina. Tras la hecatombe de Heartbleed, la inyección de dinero de la Linux Foundation y el fork LibreSSL, Google anuncia (por boca de uno de sus desarrolladores) la creación de su propio fork de OpenSSL, que pasará a denominarse BoringSSL. Google justifica su decisión en que el enorme número de parches (más de 70 en la actualidad) que necesitan para ajustar OpenSSL a sus necesidades en Android y Chrome hace que les resulte más fácil mantener un fork propio (sobre el que prometen que integrarán las mejoras que surjan tanto en OpenSSL como en LibreSSL) que rehacer y aplicar sus parches cada vez que se publica una nueva versión de OpenSSL. BoringSSL se licenciará bajo licencia ISC.»

Taller de Animación con herramientas gratuitas y libres en Animacomic 2014

Barrapunto - 22 June 2014 - 7:08pm
El cateto nos cuenta: «El próximo sábado 5 de julio, dentro de los talleres que se realizan en Animacomic 2014, se realizará un taller sobre Animación con Herramientas Gratuitas y Libres. El nivel será de iniciación, para cualquiera que quiera diseñar, animar, o sencillamente pasar sus dibujos al 3D, con herramientas libres y gratuitas. Y para poder empezar sin tener que comprarse un 'equipo de 1000 euros'. En el enlace al taller están los apuntes por si alguien no puede ir a Málaga.»

De Shakespeare a los orangutanes: una oda al disparate en diez lenguajes de programación

Barrapunto - 20 June 2014 - 7:10am
terminatorcero nos cuenta: «Resulta que los lenguajes de programación que circulan por ahí se cuentan por miles, aunque siempre acabemos usando los mismos: HTML, Java, C++, Objective C, PHP, Ruby... Son los más populares, pero hay de todo. Incluso hay códigos que se crean solo por divertimento y están basados en auténticos disparates. Esos son los que llamamos lenguajes esotéricos o 'esolangs'. Un código de programación con frases de Arnold Schwarzenegger, otro inspirado por un meme, uno que se escribe a base de emoticonos... En fin, todo tipo de ideas alocadas sin ninguna utilidad práctica, pero sin duda de lo más entretenidas.»

Cifrado simétrico o de clave secreta: aspectos prácticos (I)

Foros: 

Por Domingo González

En ocasiones nos puede surgir la necesidad de cifrar nuestros datos, ya sea por interés personal en proteger nuestra información privada, por cuestiones de política de empresa o simplemente porque nos obliga la legislación vigente de protección de datos. En cualquier caso, si además la información va a ser almacenada en la Nube (Cloud Computing), el cifrado se convierte en poco menos que obligatorio.

Esta serie de artículos pretende mostrar el uso práctico de varias herramientas para el cifrado de información. Aunque se realizará una pequeña introducción a los conceptos sobre criptografía, no es objetivo del mismo tratar en profundidad los fundamentos técnicos del cifrado ni describir los algoritmos criptográficos, información que ya está disponible en este y otros portales especializados con mayor rigor y profundidad...

Los artículos se van a centrar en el uso del denominado cifrado simétrico o de clave secreta, en un escenario de uso personal, donde el cifrado y descifrado de la información será realizado por la misma persona, que también es conocedora única de la contraseña de cifrado.

A lo largo de varias entregas, vamos a describir el uso de determinadas herramientas de cifrado a nivel de fichero, de directorio, de partición y de volumen virtual, intentando mantener de esta forma un nivel creciente de dificultad. También hablaremos a lo largo de la serie sobre otros temas intrínsecamente ligados con un buen uso del cifrado, como son el borrado seguro y la generación de contraseñas robustas, describiendo además las herramientas disponibles para tal fin. Las herramientas de software analizadas aquí no son ni de lejos todas las existentes, tan solamente una selección personal que espero haya sido acertada para el objetivo de esta serie.

 

1. Algunos conceptos sobre criptografía

Si bien esta serie de artículos está dirigida a un público sin conocimientos sobre criptografía, y puede ser seguida fácilmente sin saber absolutamente nada sobre lo que hay detrás del "escenario", he creído recomendable repasar brevemente algunos conceptos que van a aparecer aquí. La descripción de los mismos pretende proporcionar una visión fácilmente entendible, en detrimento del rigor técnico, por lo que un público más versado en criptografía encontrará a buen seguro simplificaciones excesivas e imprecisiones más o menos perdonables.

¿Qué significa en la práctica cifrar información? A grandes rasgos, el cifrado de una determinada información usando una determinada contraseña consiste en la transformación de dicha información, realizando operaciones complejas que dependen de la contraseña proporcionada, de tal forma que sea prácticamente imposible recuperar la información original sin conocer la contraseña con la que ha sido cifrada. Las operaciones mencionadas, que modifican o alteran la información, se basan en métodos y técnicas determinadas, denominadas algoritmos de cifrado.

El cifrado puede ser de tipo simétrico o de tipo asimétrico. El cifrado simétrico, conocido también como cifrado de clave secreta, es aquel en el que se utiliza la misma clave o contraseña para cifrar y para descifrar la información. Este es el tipo de cifrado que vamos a ver en estos artículos, y nuestro escenario consiste en una única persona que conoce la contraseña, cifra y descifra su propia información.

Por el contrario, el cifrado asimétrico, también llamado cifrado de clave pública, es un esquema mucho más complejo que utiliza un par de claves asociadas, donde cada una de ellas realiza por separado la tarea de cifrar o descifrar la información. Este sistema de cifrado se utiliza para el intercambio de información entre dos interlocutores a través de un canal seguro, siendo actualmente incluso más importante que el cifrado simétrico.

¿Cómo funciona internamente el proceso de cifrado? Básicamente, una operación de cifrado (simétrico en nuestro caso) se podría definir por tres parámetros: el algoritmo de cifrado a utilizar, la longitud de la clave de cifrado y la contraseña proporcionada por la persona que quiere cifrar el fichero.

Durante la operación de cifrado la información se divide en bloques de un determinado tamaño (generalmente 64 o 128 bits). Por otra parte, la contraseña (denominada clave principal) se procesa a través de un algoritmo de derivación de claves, que genera una secuencia de subclaves de una determinada longitud (generalmente 64, 128 y 256). A partir de aquí, y de acuerdo con el algoritmo de cifrado seleccionado, se aplican sucesivas y complejas operaciones de cifrado sobre cada uno de los bloques usando las subclaves generadas. En resumen, la información original se somete a una serie de transformaciones de tal forma que desaparezca cualquier orden o patrón del que pudiera inducirse conocimiento sobre la estructura o contenido de la información original. Puede decirse por tanto que la información cifrada muestra un aspecto totalmente aleatorio.

Lógicamente, un algoritmo de cifrado es reversible, de tal forma que conociendo la contraseña se invierten las operaciones realizadas recuperando la información original.

Cabe señalar además que en las operaciones de cifrado descritas radica la importancia de seleccionar una contraseña robusta, ya que cuanto mejor sea esta contraseña (de la que se derivan las subclaves), mayor robustez y aleatoriedad tendrá el cifrado obtenido.

Ahora vamos a dar un repaso a los algoritmos de cifrado simétrico más importantes actualmente. El primer algoritmo importante de la criptografía moderna es el denominado DES (Data Encryption Standard), que ha sido el algoritmo estándar en criptografía hasta hace una década. Utiliza un tamaño de bloque de 64 bits y una longitud de clave de 56 bits. Actualmente está considerado como inseguro debido a la escasa longitud de clave. Una variante de DES, conocida como Triple DES o 3DES, ha mejorado sensiblemente la seguridad proporcionando una longitud efectiva de clave de 112 bits, por lo que es ampliamente utilizado.

A raíz de la inseguridad descubierta en DES, se propuso la adopción de un nuevo algoritmo de cifrado estándar, que se llamaría AES (Advanced Encryption Standard). Para el proceso de selección se propusieron 15 algoritmos de cifrado, siendo Rijndael el algoritmo ganador. Rijndael utiliza un tamaño de bloque de 128 bits, y permite una longitud de clave de 128, 160, 192, 224 y 256 bits. No obstante, cuando Rijndael se utiliza como estándar AES, las longitudes de clave permitidas se reducen a 128, 192 o 256 bits (en este caso la denominación Rijndael y AES se utilizan indistintamente).

Aunque AES (Rijndael) es actualmente el algoritmo más utilizado, existen muchos otros ampliamente extendidos, entre ellos alguno de los otros candidatos a AES, como son CAST-256 (conocido también como CAST6), Serpent y Twofish, que usan bloques de 128 bits y claves de hasta 256 bits. Otros algoritmos populares son CAST-128 (o CAST5), con bloques de 64 bits y tamaños de clave entre 40 y 128 bits; Blowfish, con bloques de 64 bits y claves de hasta 448 bits; e IDEA, con bloques de 64 bits y claves de 128 bits. Para una relación más detallada de algoritmos de cifrado se puede consultar este enlace.

Ya finalizando, a modo informativo, cabe mencionar que los algoritmos pueden usarse aplicando diversos modos de cifrados, entre los que se encuentran ECB, CBC, CFB y OFB. De todos ellos, el más utilizado es el CBC (Cipher Block Chaining).

Finalizada la descripción, queda en el aire una pregunta inevitable: ¿qué algoritmo utilizar? La decisión más simple, sin duda, es elegir el estándar AES, que ofrece tres versiones (AES-128, AES-192 y AES-256) en función de su longitud de clave. A priori, una mayor longitud ofrece una mayor seguridad. Sin embargo, autoridades en la materia como Bruce Schneier recomiendan utilizar mejor AES-128 en vez de AES-256.

También existe la alternativa de utilizar el algoritmo por defecto que nos sugiera la herramienta de cifrado utilizada, como veremos más adelante.

En cualquier caso, los principales algoritmos de cifrado que hemos mencionado ofrecen una seguridad más que suficiente, y la mayoría de las herramientas que vamos a ver permiten seleccionar entre una amplia lista de algoritmos, teniendo por tanto libertad para cifrar los ficheros a gusto del usuario.

Finalmente, dado un fichero cifrado cuya contraseña desconocemos, puede ser atacado principalmente mediante dos métodos, denominados ataque mediante criptoanálisis y ataque por fuerza bruta. El criptoanálisis intenta buscar debilidades en los algoritmos de cifrado que puedan ser aprovechadas para facilitar la obtención de la contraseña o la información original. Debido a su diseño robusto, la mayoría de los algoritmos descritos han demostrado ser resistentes al criptoanálisis, si bien están apareciendo nuevos y sofisticados ataques que sin duda obligarán a reforzar dichos algoritmos. A efectos prácticos, en el ámbito de este serie, podemos asumir con relativa confianza que el criptoanálisis no va a ser nuestra principal amenaza.

Caso distinto es el ataque por fuerza bruta (incluyendo la variante denominada ataque por diccionario), que consiste en la prueba sucesiva de contraseñas contra el fichero cifrado, hasta encontrar la contraseña utilizada. Este ataque tiene teóricamente un éxito del 100%, si bien el espacio de claves posibles y la fortaleza de la contraseña seleccionada pueden convertir este ataque en una operación excesivamente costosa desde el punto de vista computacional. La elección de la contraseña adecuada, que depende de nosotros, puede suponer unas pocas horas o bien millones de años para que el ataque tenga éxito. De aquí la importancia de construir una contraseña robusta, tema al que dedicaremos una parte de esta serie.

 

El etiquetado de transgénicos en Estados Unidos

Barrapunto - 17 June 2014 - 8:24am
Molly Ball en The Atlantic de mayo llama la atención sobre las campañas sobre el etiquetado de los alimentos con transgénicos en Estados Unidos. Los partidarios y los detractores del etiquetado obligatorio estudian si es mejor actuar estado por estado o a nivel federal. Madres activistas con el apoyo de grupos de presión por el cultivo ecológico y la agricultura orgánica han conseguido lanzar referendos en California y el estado de Washington. Las campañas de la agricultura industrial y las empresas de biotecnología las derrotaron por poco a pesar de tener un presupuesto mucho mayor y de fallos tácticos al plantear las consultas. Los estudios científicos no encuentran pruebas de riesgos de salud intrínsecos a los transgénicos pero es fácil ver que el objetivo del etiquetado es facilitar el boicoteo de los transgénicos. Los analistas políticos se encuentran que algunos partidarios del etiquetado tienen opiniones anticientíficas como el rechazo a las vacunas obligatorias, y, entre los que defienden a la biotecnología, los hay que que negaban el cambio climático o la relación entre tabaco y cáncer. En cualquier caso, el etiquetado afectaría poco a los efectos medioambientales de los transgénicos, que han disminuido el uso de insecticidas pero aumentado el de herbicidas. Tampoco se pide el etiquetado de otras técnicas de manipulación genética como la hibridación o la mutagénesis. En España el etiquetado se regula por la ley 9/2003, desarrollada por el Real Decreto 178/2004. ¿Debe el gobierno ceder ante el pueblo como hizo la FDA en los 80 al obligar el etiquetado de los alimentos irradiados aunque no tenía sospechas sobre ellos? ¿Deben los políticos tomar partido o limitarse a hacer lo que quiera la mayoría? ¿Defendemos el "derecho a decidir" solo cuando sospechamos que la decisión va a ser la que nos gusta? ¿Obligarías al etiquetado de los transgénicos? ¿Influyen estas etiquetas en tus compras? ¿Está el pueblo estadounidense preparado para la democracia?

Enigma 107

Por Román Ceano

"Hay un placer especial en estudiar las cosas en su origen, y en contemplar por qué pasos y cambios sucesivos se elevan hasta el estado en que las vemos completas."

 

-- Thomas Burnet

 

Haciendo historia

David Bolam era un ingeniero de explotación del Post Office dedicado a mantener y reparar las centralitas de teléfonos. Era un empleo considerado suficientemente importante para librarle de ser reclutado para el servicio activo. Bolam vivía con inquietud los vaivenes del trabajo, temiendo siempre que un cambio de prioridades lo pusiera en la lista de movilizables. Su temor no era ser enviado a la guerra sino a trabajar bajo tierra. El reclutamiento forzoso había despoblado de mano de obra las regiones mineras sin que nadie atinara a pensar cuan necesario sería el carbón para el esfuerzo industrial militar. Llegó un momento en que la escasez era tan aguda que no solo los mineros eran eximidos del servicio, sino que hombres movilizados por toda Inglaterra eran enviados a las minas. Las mujeres habían sustituido a los hombres en muchas tareas pero esa era tan penosa que se reservaba para el género masculino.

A finales de 1943, Bolam recibió una carta de la organización militar de reclutamiento. Cuando la abrió, se alegró de leer que no le convocaba a ocupar un puesto de barrenero en los valles galeses, ni a vestir de uniforme en Italia, India o Birmania. Había sido asignado al centro de investigación de su propia compañía en Dollis Hill, en un arrabal al sur de Londres. Debía presentarse allí pocos días después para realizar "trabajos de importancia nacional".

Al llegar vio que había ocho empleados más de su nivel laboral esperando para la misma cita. Los recibió Allen Coombs a todos a la vez. Les dijo que iban a trabajar en proyectos secretos y les entregó el Acta de Secretos Oficiales. Les pidió que la leyeran con atención antes de decidir si la firmaban, enumerando en voz alta las multas y castigos de gravedad creciente que implicaba cada infracción, hasta llegar al grado máximo, la "revelación intencionada al enemigo" que estaba penada con la muerte. Era dudoso que el secreto se levantase en el transcurso de sus vidas por lo que probablemente nunca podrían hablar con nadie sobre su trabajo allí. Para evitarles problemas sólo serían informados de aquello que fuera imprescindible para llevar a cabo las tareas que se les encomendasen.

Tras firmar todo el papeleo fueron conducidos por Coombs a los talleres donde los pusieron a cablear circuitos y paneles siguiendo esquemas dibujados a mano por el propio Coombs, o por Tommy Flowers que les fue presentado poco después. Ambos parecían muy tensos y angustiados. A veces hacían cambios en los diseños o dibujaban esquemas enteramente nuevos. Una tarde, Bolan fue compelido a calibrar a toda velocidad "docenas" de resistores.

Estas tareas eran las mismas o muy parecidas a las que realizaba en su anterior puesto de trabajo. Bolan estaba intrigado sobre porqué ahora resultaban tan secretas. Tampoco comprendía porqué no eran encargadas a algún subcontratista si debían hacerse a tan gran escala y con tanta urgencia. Cuando se atrevió a preguntar, le contestaron que si eran subcontratadas aumentaba el riesgo de filtraciones al enemigo.

Una vez se familiarizó con los diseños se dio cuenta de que, fuera lo que fuera lo que se estaba construyendo, incluía cientos y cientos de válvulas. La curiosidad de Bolan iba en aumento. Logró identificar la sala en que se realizaba el montaje y siempre que pasaba por delante miraba hacia la puerta por si se abría en ese momento. En una ocasión logró atisbar el interior y echar una ojeada a un extraño cacharro. Se trataba de un aparatoso mecanismo con aspecto de somier por el que serpenteaba una cinta de papel sujeta a múltiples rodillos. Detrás había varios racks con paneles cubiertos de pequeñas bombillas que se encendían y apagaban individualmente de forma aleatoria y a gran velocidad. La cinta que recorría el somier era de las utilizadas para los teletipos pero parecía moverse mucho más deprisa de lo normal. Bolan concluyó que estaban construyendo un sistema de comunicación de muy alta velocidad. Se guardó para sí la conclusión y no la comentó con nadie porque tener curiosidad no implica ser un chismoso.

Una oportunidad de confirmar su deducción le llegó cuando fue invitado a embalar paneles, meterlos en cajas y cargar éstas en un camión. No le sorprendió el traslado porque él y sus compañeros se habían pasado muchos días soldando conectores multipin, claramente destinados a convertir el misterioso equipo en desmontable para facilitar su transporte. En un momento en que se quedó solo con el conductor del camión, le preguntó si tenía idea de dónde llevarían todo aquel material. Éste le contestó que debía acudir a una cita en un lugar prefijado y allí entregar el camión a otro conductor. Quizás éste lo llevara a su destino definitivo o a lo mejor a una nueva cita con un tercer conductor; él no tenía ni idea de eso. Bolan se quedó con la duda de donde habían terminado sus paneles, resistores y conectores. Hasta varias décadas después no supo la verdad.

Las piezas de Colossus llegaron a BP el martes 18 de enero de 1944. Harry Fensom -uno de los colaboradores de Flowers- dirigía el equipo de instalación y puesta en marcha. Ya había asistido al montaje de la Heath Robinson y él había sido quien puenteó un reostato que humeaba durante la presentación de ese aparato.

Esta vez todo había sido preparado para funcionar a la primera. Como ingenieros de telefonía, él y su equipo eran expertos en la tarea de conectar sistemas intrincados. Traían diagramas, un detallado plan de montaje y varias hojas con las baterías de pruebas para cada fase. Todos los conectores estaban rotulados con los números que tenían en el plano. Muchos de los papeles tenían cambios o no estaban pasados a tinta lo que demostraba la urgencia de los trabajos.

Cuando Colossus estuvo montado, los ingenieros del Post Office realizaron una tanda extra de comprobaciones exhaustivas utilizando osciloscopios y mostraron su satisfacción ante el éxito de éstas. El mayor obstáculo que habían encontrado en la implementación física del proyecto había sido el control de las frecuencias y voltajes, continuamente distorsionados por la inductancia, la capacitancia y los comportamientos no lineales de muchos componentes.

La construcción de la Robinson ya había sufrido extensamente estos fenómenos y Flowers había tratado de minimizarlos en Colossus desde el principio. Para ello había limitado la presencia de relés al mínimo imprescindible y solo en circuitos de baja velocidad, puesto que estos dispositivos ensucian la señal con ruidos y transitorios durante las conmutaciones. Contra la costumbre, había evitado los resistores para separar unos circuitos de otros, sustituyéndolos por válvulas sin ningún temor a estar utilizando demasiadas.

Otra mejora revolucionaria había sido dejar de utilizar pulsos aislados de voltaje para representar la información y hacerlo mediando una tensión sostenida para cada tramo durante todo el ciclo de reloj. La información transitaba por Colossus en conductores dobles, con un cable a 35 V y el otro llevado a tierra. El paso de "unos" a "ceros" implicaba invertir los voltajes (el cargado pasa a ser tierra y el de tierra a llevar 35V). Además de los circuitos puramente lógicos, existían varios tipos más como los que alimentaban las válvulas o los que se usaban para control. Las interacciones de unos con otros causaban insidiosas anomalías que debían ser tratadas una por una.

La tarea más estimulante intelectualmente para los ingenieros del Dollis Hill había sido intentar comprender la compleja física que subyacía a los extraños efectos que observaban en el monitor del osciloscopio. Este trabajo requería muchas veces mantener posturas de contorsionista durante largo rato para alcanzar los puntos de contacto correctos en el interior del rack.

Otro fenómeno muy temido por Flowers era el sobrecalentamiento y también lo había tenido en cuenta en el diseño desde el primer instante. Las válvulas estaban colocadas en posición horizontal para facilitar la disipación del calor. La circulación del aire caliente no estaba dejada al azar sino estudiada cuidadosamente y favorecida por ventiladores situados en la parte alta de los racks. Los primeros días fallaron muchas válvulas causando la consiguiente inquietud pero pronto quedó claro que habían sido afectadas por el transporte desde Dollis Hill. Se reemplazaron y no fallo ninguna más "hasta el final de la guerra", como proclamaría un Flowers octogenario medio siglo después.

El Mark I -nombre original dado a Colossus por lo ingenieros de Dollis Hill- empezó a operar a principios de febrero de 1944. Estaba compuesto por cuatro módulos: el somier con las células fotoeléctricas, el sumador que incluía el emulador de las ruedas, el módulo de operaciones lógicas configurables (llamado "ALU") y la unidad de control central con el contador incorporado. Su funcionamiento consistía en que el sumador realizaba el procesado de la señal cifrada combinando el flujo de caracteres que venía del somier con el que creaban sus anillos de tiratrones. El resultado era enviado al módulo ALU que realizaba una serie de operaciones lógicas decididas por el criptoanalista. Constaba de muchas docenas de parejas de válvulas que podían ser conectadas para crear las operaciones booleanas y combinarlas entre sí. Finalmente el contador situado en el circuito de control central tomaba nota del número de cruces o puntos ("unos y ceros") obtenidos.

En vista de la importancia central que la maquinaria había tomado en el proceso de descifrado, Travis decidió unificar bajo una sola mano todos los trabajos relacionados con ellas y nombró a Whelchman responsable -con rango de subdirector de BP- de un nuevo departamento llamado Mecanización, que agrupaba todas las personas implicadas en la operación o mantenimiento de máquinas. A pesar de sus roces con Flowers y sus metidas de pata en el tema de las válvulas -causadas sobre todo por el mal consejo de Wynn-Williams- Whelchman había sido de los primeros en creer en el poder de la fuerza bruta mecanizada y en apoyar el esfuerzo de desarrollo que ahora culminaba en Colossus.

A medida que se familiarizaban con su funcionamiento, todos los que trabajaban en la Newmanry quedaban fascinados con Colossus. Las Wrens admiraban el enorme incremento de ergonomía con respecto a la Robinson. Se había eliminado el problema de la sincronización de las dos cintas ya que el flujo cifrador provenía del generador electrónico que emulaba a las ruedas. Este emulador estaba formado por anillos de tiratrones y era uno de los mayores orgullos del equipo de ingenieros. Flowers había querido eliminar completamente la cinta pero eso habría hecho la configuración muy tediosa porque habría incluido introducir el mensaje a mano para que fuera almacenado por alguno de los diferentes tipos de memoria de que disponía (conectores, relés, válvulas, etc...).

A cambio de dejar la cinta, había trabajado a fondo en perfeccionar los aspectos mecánicos relacionados con ella. El somier estaba muy mejorado, con rodillos anchos, varios recorridos para ajustarse a diferentes longitudes del mensaje y un rodillo móvil que permitía tensar la cinta de papel de una forma muy cómoda. Seguía siendo necesaria una cierta habilidad para poner la cinta y sobre todo para hacerlo deprisa, pero las roturas y las explosiones de confeti no sucedían en la Colossus con la desesperante regularidad con que lo hacían en la Robinson. Y eso a pesar de que incluso a simple vista era notorio el incremento vertiginoso en la velocidad del papel de este con respecto a aquella.

Colossus utilizaba como elemento de sincronización de todos sus módulos los impulsos procedentes de una célula fotoeléctrica que medía la velocidad de los agujeros de tracción de la cinta de papel. De esta forma, Colossus trabajaba siempre con la cadencia con la que llegaban los caracteres desde el somier, acelerando cuando la operadora daba más velocidad y frenando si esta tenía la sensación que se avecinaba una tormenta de confeti. Flowers había determinado que el límite de velocidad era de unos 10 000 caracteres y que a esa velocidad el confeti estaba asegurado en poco tiempo. En consonancia con el espíritu conservador de los ingenieros de telefonía, recomendaba trabajar a 5 000 caracteres por segundo que no era una velocidad lenta. La cinta de papel viajaría a 90 Km por hora, más del doble que en la Robinson. En realidad la proporción real de velocidades entre ambos equipos era muchísimo mayor puesto que la no-necesidad de repetir las pruebas, la fiabilidad y la facilidad de operación resultaban en una efectividad por lo menos un orden de magnitud superior en Colossus sobre la máquina Robinson.

Otra mejora que evitaba estrés a las operadoras era la contabilización del resultado de cada posición inicial de las ruedas. La impresora que debía construirse para la Robinson nunca había llegado a funcionar. El resultado de cada posición -correspondiente a una vuelta completa del mensaje- se presentaba en un panel de luces. La operadora debía apuntarlo rápidamente antes de que se borrara al aparecer el siguiente. El panel de luces no era fácil de leer y con mensajes cortos se pasaban muchos apuros. Era una tarea muy temida porque cualquier error comprometía el trabajo de muchas horas de todo el departamento. Como se ha dicho, la Robinson daba resultados ligeramente diferentes para las mismas pruebas, con lo que la operadora nunca podía saber si se había equivocado ella o el aparato estaba dando una lectura diferente la segunda vez.

Colossus disponía de una máquina de escribir eléctrica adaptada en la que los resultados aparecían de forma automática. Cada vez que se completaba una vuelta, la máquina se ponía a escribir sola mientras se apuntaba el código de la vuelta y junto a él el número de puntos o cruces registrados. La velocidad de Colossus era tal que muchas veces no tenía tiempo de terminar de escribir los resultados de una posición inicial de las ruedas cuando ya llegaban los de la siguiente. Entonces, dejaba de calcular pero sin parar la cinta para no perder tiempo y esperaba hasta que la impresora estuviera libre. Una vez había escrito ambos resultados, retomaba el funcionamiento normal.

Los criptoanalistas admiraban estos detalles pero estaban aún más sorprendidos por la capacidad lógica del aparato y la velocidad con la que ejecutaba las álgebras booleanas. En pocos minutos, Colossus ejecutaba literalmente millones de operaciones XOR, OR y AND combinadas elegidas libremente por el operador. En la primera prueba pública, una vez el equipo se consideró formalmente entregado, se halló la posición inicial de las ruedas en tan solo diez minutos. Fue una feliz casualidad pero sumada al hecho de que por mucho que probaron siempre dio el mismo resultado, terminó de convencer a todo el mundo del enorme avance que "la máquina de Flowers" representaba.

Las pruebas estaban diseñadas para que la posición inicial de las ruedas emulada en la vuelta que obtuviera más puntuación resultara la que habían usado los alemanes con aquel mensaje. Al principio se usaba solo la Doble Delta de Tutte que había sido la base del diseño de la Robinson. Muy pronto se implementaron sobre Colossus todo tipo de pruebas basadas en los desarrollos de Mitchie y Good sobre la estadística de Turing y que hasta entonces solo se habían considerado en teoría. Estas nuevas técnicas aprovechaban tanto las regularidades del lenguaje humano como las peculiaridades del Baudot ampliado y muy especialmente las ocurrencias del shift que cambiaba de números a letras, hecho especialmente conspicuo cuando los operadores alemanes empezaron a repetirlo para asegurarse de que había entrado.

A Colossus le faltaba una funcionalidad fundamental para poder ser considerado un ordenador. Las configuraciones de los circuitos lógicos no eran cambiadas automáticamente por el control central sino que era el operador el que tras analizar el resultado de una prueba, reconfiguraba el módulo que contenía las operaciones lógicas y disparaba una nueva prueba. Esta característica hacía que fuera operado siempre por un criptoanalista asistido por una Wren. Ellos completaban la funcionalidad del control central de Colossus para que se comportara como una CPU moderna, incorporando las ventajas de la mente humana (intuición y pensamiento lateral) y sus desventajas (lentitud exasperante).

Este procedimiento de decidir las pruebas subsiguientes in-situ y dispararlas ipso-facto era una superación del patrón utilizado con las Bombas en que los resultados de los menús eran devueltos a la sala de criptoanalistas para que decidieran las pruebas ulteriores. El motivo del cambio era que con la Bomba, la mayoría de pruebas daban el resultado final. Con Colossus no era así. La primera corrida daba la posición de una rueda o dos y a partir de ahí se iba avanzando. Para apoyar este tipo de operación, Colossus contaba con dos sofisticaciones muy importantes. La primera era la configuración de "umbral" que permitía impedir que se visualizaran resultados de vueltas cuyo conteo estaba por debajo de un cierto número de aciertos. Esto ahorraba tiempo de impresión y hacía la hoja impresa más fácil de interpretar. Decidir el umbral era una tarea que requería mucho conocimiento ya que un umbral demasiado alto ocultaba la mayor parte de resultados y un umbral demasiado bajo no tenía efecto alguno.

El segundo refinamiento en la configuración servía para luchar contra los efectos de los errores de transcripción en la cadena que iba desde las estaciones Y (principalmente Knokholt) hasta la Newmanry. Algunos mensajes una vez introducidos en Colossus mostraban para todas las vueltas unos resultados casi iguales, sin que la proporción de puntos y cruces experimentara la variación que delataba la posición inicial correcta de las ruedas. Esto solía ser debido los mencionados errores (llamados "slides" en la jerga) que provocaban un corrimiento de todos los caracteres a partir de un punto. Una forma de hallar el error en tiempos de la Robinson era cortar la cinta y meter solo una parte de ella. Si el error había quedado fuera, se visualizaban los perfiles estadísticos correctos en alguna de las vueltas. En caso contrario persistía la situación de ruido blanco con todos los resultados distribuidos aleatoriamente alrededor del 50% y con una varianza muy pequeña.

La aparatosidad de las pruebas necesarias para hallar el punto de error con una Robinson es evidente. Numerosos cortes y pegados de la cinta seguidos de lecturas del contador que como se recordará era muy incómodo para pruebas cortas. Colossus incorporaba una configuración de rango ("span") que hacía que, sin tocar la cinta se pudiera limitar el análisis a la parte del mensaje situada entre dos caracteres arbitrarios. Tanto este contador como el de umbral residían en el módulo de control central.

Operar Colossus era una tarea divertida. Primero había una parte tediosa en que la Wren, utilizando unos grandes conectores en forma de U que se insertaban en un patch panel al efecto, configuraba el emulador de ruedas con las posiciones de los conectores. Éstas se habían hallado mediante un tedioso procedimiento manual llamado "rectangling" derivado de las técnicas de Tutte basadas solo en los impulsos 4 y 5. Tras la configuración de las ruedas había que disponer la cinta con la tensión correcta, vigilando que no tuviera ningún defecto como arrugas o roturas. Para finalizar esta parte, se reseteaba todo el equipo y se comprobaban las configuraciones auxiliares como las nombradas más arriba de umbral y rango.

La primera prueba de todas las posiciones solía durar bastante rato. La configuración de umbral hacía que solo se imprimieran los resultados prometedores por lo que el silencio de la máquina de escribir o su súbito taca-taca marcaban respectivamente el suspense y la resolución. Una vez el criptoanalista tenía los resultados de la primera corrida, los estudiaba y decidía el plan de ataque. Quizás veía clara la posición inicial de una de las ruedas y decidía probar dejando ésa fija o a lo mejor modificaba los operadores lógicos para enfatizar alguna característica que sospechaba que podía ser estadísticamente relevante en decibanes. Luego volvía a disparar la prueba y esperaba ansiosamente el sonido de la impresión. Si aparecía pronto eran buenas noticias, pero la tardanza o incluso la no aparición de ningún resultado por encima del umbral daban información que debía ser interpretada y utilizada en una nueva iteración tras hacer los cambios correspondientes.

La potencia de Colossus era tal que muy pronto quedó claro que el procedimiento de búsqueda manual de la configuración de las ruedas debía ser abandonado. Hacía muchos meses que duraba el amargo debate, análogo a la lucha de Knox contra los métodos matemáticos. Los lingüistas defendían la superioridad de los métodos humanos que hacían uso de la intuición verbal para buscar patrones de lenguaje debajo del velo de la codificación, mientras los matemáticos intentaban convencerlos de como las consecuencias estadísticas de esos patrones podían ser encontradas mecánicamente. Durante todo el tiempo en que la Robinson había sido el principal instrumento de la Newmanry, la Testery había logrado mantener el paso utilizando métodos manuales y especialmente el "rectangling". A partir del otoño de 1943, los alemanes habían ido introduciendo unas sofisticaciones en el movimiento de las ruedas motoras que consistían en variar su avance o no en función de caracteres pasados o futuros de las ruedas Chi. En diciembre introdujeron la limitación llamada P5 que utilizaba el valor del quinto impulso dos caracteres antes. Esto convertía el cifrado en un autoclave y eliminaba los métodos que utilizaban la suma de mensajes.

Poco antes Tester y varios de sus subordinados habían inventado una máquina que debería funcionar de manera parecida a la "sala de sargentos" que había dirigido Mitchie a su llegada a BP. Tal como habían hecho los sargentos, la máquina sumaba una palabra probable al resultado de haber sumado dos criptotextos cifrados con la misma clave, avanzando un carácter tras cada prueba. En cuanto aparecía una palabra legible, ya se podía sumar al criptotexto original para obtener el flujo de cifrado. La limitación P5 convirtió el método en imposible aunque varias de estas máquinas fueron fabricadas para líneas que no la utilizaban.

Como si fuera el argumento de una obra de ficción, Colossus había llegado justo en el momento en que sin su ayuda el descifrado de Atún se habría prácticamente detenido. A los pocos días de operarlo todo el mundo era consciente que el hallazgo de la configuración de las ruedas debía ser también mecanizado. Aunque se continuaron utilizando varios tipos de máquinas electromecánicas para tareas auxiliares -como crear las sumas Delta-, el ordenador electrónico con circuitos variables (aunque se variaran manualmente) era un avance tan enorme que terminó con el debate entre lingüistas y matemáticos. El criptoanálisis era una tarea para máquinas y el operador solo debía apuntar en la dirección correcta y apretar el gatillo.

Tras la entrega, unos pocos ingenieros del Post Office se quedaron en BP para dar mantenimiento a Colossus pero la mayoría volvió a Dollis Hill. Una mañana Flowers reunió al grupo que había dirigido con él el proyecto del Mark I y les mostró el diseño del Mark II. Era aún mayor y usaría por lo menos 2500 válvulas. Su principal diferencia era que procesaría en paralelo cinco posiciones de las ruedas simultáneamente. Para ello contaría con unas memorias que guardarían cinco caracteres del texto cifrado y los enviarían todos a la vez para su procesamiento consecutivo en paralelo en un sumador múltiple. De esta forma, sin aumentar la velocidad de la cinta de papel, que se había mostrado como un cuello de botella intratable, el nuevo Colosssus alcanzaría una velocidad de 25 000 caracteres por segundo. Con un gesto solemne, Flowers partió a mano el diagrama separando los diferentes módulos. Luego dio una parte del plano a cada ingeniero para que diseñara los circuitos internos del correspondiente módulo y supervisara su construcción.

El Post Office comunicó a BP -probablemente a Whelchman- que estaban trabajando en el nuevo proyecto, remitiendo un memorándum que detallaba sus increíbles prestaciones. Para desesperación de Flowers, pasaron los días sin que se recibiera respuesta. Él y sus ingenieros continuaron trabajando sin saber qué pasaría con su trabajo. En el ambiente de secretismo reinante no se podía descartar nada. Quizás BP estaba fabricando copias de Colossus en alguna empresa subcontratada o quizás otra institución del gobierno había producido un equipo parecido.

La respuesta llegó súbitamente. Era un pedido para tantos "Colossus II" como pudieran fabricar. Y había una nota muy importante: el primero debía llegar necesariamente no más tarde del primer día de Junio de 1944. Era un plazo imposible ya que el primer Colossus había tardado ocho meses en ser construido y solo quedaban tres para la fecha que le exigían. Por mucho que Flowers protestó, nadie le hizo caso ni le dio explicaciones sobre qué hacía tan importante esa fecha. Los ingenieros de Dollis Hill -y entre ellos Bolam- contemplaron con estupefacción un plan de trabajo presentado por la dirección que exigía trabajar 70 horas a la semana desde ese momento hasta que el trabajo estuviera completado.

Continuará....

 

(C) Román Ceano. Todos los derechos reservados.

 

Aumenta el plazo de devolución para compras por Internet en la Unión Europea

Barrapunto - 15 June 2014 - 6:07pm
Un pobrecito hablador nos cuenta: «Leo en Slashdot que el plazo de devolución de bienes comprados a través de Internet en la Unión Europea aumentará a 14 días naturales desde la recepción del paquete. Hasta ahora, el comprador disponía sólo de 7 días para devolver su compra si no estaba satisfecho. El nuevo plazo de devolución ha entrado en vigor el 13 de Junio. La Comisión Europea emitió una directiva hace unos años, por la que obligaba a los países miembros de la UE a integrar las nuevas reglas de ventas por internet en sus legislaciones nacionales.»

Tesla abre el código fuente de sus patentes al resto de la industria

Barrapunto - 15 June 2014 - 9:25am
Un_notas nos cuenta: «La prensa destaca que Tesla, el fabricante norteamericano de automóviles eléctricos, libera el código de sus patentes con el objetivo aprovechar sinergias con sus competidores. Que la competencia vea reducidos sus costes puede incentivar sus inversiones y a larga conseguir reducir costes para Tesla y sus consumidores. El CEO Elon Musk explica la decisión en la entrada All our patents are belong you. Estas decisiones tienen aspectos comunes con las teorías sobre clústeres industriales de Porter, no es sorprendente viniendo de una empresa que siempre ha querido innovar la industria automovilística inspirándose en el éxito de SiliconValley. Sus usuarios suman una razón más para estar orgullosos de comprar sus vehículos.»

Reciclarse en Java

Barrapunto - 13 June 2014 - 8:23pm
Un pobrecito hablador nos cuenta: «No sé si sere el único, pero por motivos diversos (programadores ocasionales nuestro proyecto esta en una determinada version), nos perdemos todas esas novedades y facilidades que van incorporando a Java. ¿Algún libro, sitio o recurso, para actualizarse?»

Ataque a AES ejecutado desde VMWARE

Foros: 

Por squirrel

Visto vía SoylentNews, se ha encontrado un ataque a AES (PDF) que permite la recuperación de la clave mediante un ataque lateral (side-channel) cuando se cumplen las siguientes condiciones:

  • El cifrado AES se realiza en una máquina virtual.
  • El ataque se realiza desde otra máquina virtual del mismo servidor físico.
  • La Deduplicación de memoria está activada.

Cumpliendo esas condiciones, los investigadores han conseguido recuperar la clave de cifrado AES de la máquina objetivo (en este caso, OpenSSL 1.0.1) mediante la combinación de varios ataques laterales ya existentes y uno nuevo basado en la deduplicación.

Si bien se ha atacado un cifrado concreto en una arquitectura concreta, los investigadores afirman que el ataque es lo suficientemente genérico como para ser posible en otras arquitecturas que empleen deduplicación de memoria y con otros cifrados de bloque cuya implementación también esté basada en el empleo de tablas.

OpenXava 5.0 disponible

Barrapunto - 12 June 2014 - 3:06pm
Javier Paniza nos cuenta: «OpenXava, el framework para desarrollo rápido con Java, acaba de liberar su versión 5.0. Esta versión tiene un nuevo estilo visual, incluye navegación entre módulos, identificación de usuario (por tanto ya no necesitas Liferay), colecciones editables en línea (como en una hoja de cálculo), un nuevo editor para adjuntar archivos a tu entidad y muchísimas cosas más. Ver el anuncio oficial.»

Disponible nuevo núcleo Linux 3.15

Barrapunto - 12 June 2014 - 11:26am
Un pobrecito hablador nos cuenta: «Se acaba de anunciar la disponibilidad del núcleo Linux 3.15. Entre las novedades a destacar cabe reseñar: El núcleo de 64 bits puede ejecutarse en UEFI de 32 bits; retorno más rápido del modo de suspensión al modo normal en sistemas con discos duros; mejoras en el algoritmo de paginación de memoria para detectar que se envía a 'swap'; nuevo sistema de bloqueo de ficheros con una semántica más sencilla que la 'POSIX'; funciones para borrado rápido de partes de un fichero y para su rellenado con ceros; mejoras de rendimiento y soporte a compresión LZ4 en ZRAM; mejoras de rendimiento de escritura en 'FUSE'; y soporte para instrucciones 'Intel AVX-512'. La lista con todos los cambios y novedades está disponible aquí. Y en este enlace puedes ver lo que se prepara para el próximo núcleo Linux 3.16.»

Civilization V, en Linux

Barrapunto - 12 June 2014 - 7:38am
Un pobrecito hablador nos cuenta: «Leo en reddit que la platadorma Steam ha lanzado Civilization V de Sid Meier en versión Linux. Es muy interesante leer también la respuesta de los propios usuarios.»

América Latina y Caribe entran en la fase de agotamiento de direcciones IPv4

Barrapunto - 12 June 2014 - 4:13am
Un pobrecito hablador nos cuenta: «Según informa LACNIC, el Registro de Direcciones de Internet para América Latina y el Caribe, al haberse alcanzado la cota de 4.194.302 direcciones IPv4 en su stock, se van a comenzar a seguir políticas restrictivas, que establecen que sólo se podrán hacer asignaciones de direcciones IPv4 para nuevos miembros, en bloques de entre 256 y 1.024 direcciones, donde cada nuevo miembro podrá recibir solamente una asignación de este espacio.»

RHEL 7 ya disponible

Barrapunto - 11 June 2014 - 4:59pm
Finalmente ya ha salido RHEL 7 que finalmente pasa de la rama 2.6 del kernel a la 3.10. Como características destacadas incluye XFS por defecto, el paso a systemd como substituto del init y los contenedores con Docker. Podemos ver el detalle de características en las release notes

Cumbre del Buen Conocer

Barrapunto - 10 June 2014 - 12:05pm
La Cumbre del Buen Conocer, llevada a cabo del 27 al 30 de mayo en Quito, Ecuador, reunió en un solo lugar a hackers, políticos, académicos y ciudadanos, a fin de que colaborasen en propuestas de conocimiento libre con beneficio social para esa nación.

Destapando hipocresías: sobre el consumo colaborativo

Barrapunto - 10 June 2014 - 10:28am
Un pobrecito hablador nos cuenta: «Esto es libertad, ¡sí señor! 'Fomento multará con hasta 6.000 euros a las webs para compartir coche sin licencia'. Anda que si esto lo hacen en Cuba...¡multar por compartir coche! Más información sobre el consumo colaborativo en este artículo.»

Una computadora supera por primera vez el Test de Turing

Barrapunto - 10 June 2014 - 6:38am
eggun nos cuenta: «Esto es enorme, publica LinuxParty. Un equipo ha logrado con éxito 'engañar' a un grupo de investigadores que pensaban que se trataba de un niño de 13 años de edad, llamado 'Eugene Goostman'. Al conseguirlo, se ha convertido en la primera computadora en el mundo que ha superado con éxito la prueba del Test de Turing. Para superar la prueba que lleva el nombre del pionero de la computación Alan Turing, una computadora tiene que engañar al 30 por cien de los jueces humanos en los chats de texto durante cinco minutos, una hazaña que hasta ahora nunca se había logrado. 'Eugene' fue creado por un equipo con sede en Rusia, y superó el test organizado por la Universidad de Reading, a duras penas, consiguió engañar a un 33 por ciento de los jueces. También hay que señalar su estrategia para conseguir tal fin fue aparentar ser un niño de 13 años de edad, para quienes el inglés es su segundo idioma, osea, que no es exactamente Hal 9000.»