lunes, 11 de junio de 2007

Nuevo blog

Rompiendo la bella cifra de 42 posts (el sentido de la vida, del universo y de todo lo demás) escribo para hacer "pública" la dirección del blog sobre mi viaje a Burundi. A partir de este momento, y hasta que vuelva, dejaré este un poco mas de lado (pero no totalmente, espero) para dedicarme al otro. Espero que os guste.

lunes, 4 de junio de 2007

Doctor Livingstone, supongo

Hace tiempo que quería comentarlo aquí, pero ultimamente mi vida está muy ajetreada y no he tenido la posibilidad. (El ajetreo en parte viene provocado por lo que os quiero contar.)

El día 6 del próximo mes, a las 13.30 estaré cogiendo un avión para comenzar la que será la (hasta el momento) gran aventura de mi vida. Me voy a África :)

Tras 23 horas y media de viaje y dos trasbordos (Amsterdam y Nairobi) llegaré a mi país de destino: Burundi. Bujumbura, la capital de Burundi, se encuentra a orillas del lago Tanganika. Es una ciudad pequeña pero no exenta de peligros, sobre todo al llegar la noche, en la que se producen la mayor parte de los crímenes de la ciudad. Pero también con la noche llegan los temidos mosquitos, que pueden contagiar la peor cepa de malaria existente (y también la mas extendida en África: plasmodium falciparum; te puede llegar al cerebro, cosa que reduce las probabilidades de sobrevivirla enormemente).

Por suerte mi destino no es ese. Apenas recojamos el equipaje y hagamos alguna compra, y seguramente con el tiempo justo para llegar antes de que cierren las carreteras, comenzaremos un viaje de varias horas en coche hacia el norte del país, dirigiéndonos a la zona conocida como "las mil colinas" (cerca de la frontera con Rwanda), con destino a ciudad que nos acojerá las siguientes semanas: Ngozi. La ciudad se encuentra muy elevada sobre el nivel del lago (1820m sobre el nivel del mar), asi que por lo menos es previsible que no tengamos problemas con la malaria. Allí pasaremos un mes cooperando con la universidad local (solo hay dos en el país, una en la capital y otra en Ngozi).

En cuanto a mi estado de ánimo, me resulta imposible definirlo con una sola palabra. El sentimiento de euforia es grande, pero se entremezcla a menudo con el miedo y el estrés que me provoca el mes que me queda por delante de trabajo y preparación del viaje (para los que no entendierais el entrelazamiento cuántico, aquí hay un buen ejemplo con mi estado de ánimo: tengo euforia, miedo y estrés a la vez, pero hasta que no me observéis no sabréis cual tengo en ese momento).

Por cierto, a las orillas del lago Tanganica fue donde Stanley encontró a Livingstone y se produjo el archifamoso encuentro que da título al post. Una de las hipótesis dice que se encontraron precisamente en Bujumbura (aunque generealmente se acepta que se encontraron en Ujiji)

viernes, 1 de junio de 2007

viernes, 25 de mayo de 2007

reality bites

No, el post no tiene nada que ver con la película titulada así (que por cierto no he visto, aunque me da la sensación de que podré vivir sin ello). Lo que voy a contar es bien distinto. Comenzaremos por una pregunta simple: ¿sabeis qué es lo que aparece en la imagen de abajo?

Parece tan solo un puñado de tierra. Pero es una tierra un tanto especial: la fotografía anterior es de un kilo de un mineral conocido como Coltán (abreviatura de columbita-tantalita). El principal productor de dicho mineral es Australia, pero su producción está decayendo en los últimos tiempos. Otros paises que tienen reservas de Coltán son Brasil, Tailandia y la República Democrática del Congo (que tiene cerca del 80%).

Continuemos con otra fotografía muy distinta...
Esto es un teléfono móvil Nokia N95. Es la última maravilla de la compañía sueca. Con un peso de tan solo 120g tiene unas funcionalidades tremendas: 160MB de memoria interna, 240 minutos de tiempo en conversación y 225 horas en espera, una pantalla de 2,6" y 240 x 320 píxeles, cámara de fotos de 5 megapixeles... ¿A cuántas personas conocéis que se morirían (metafóricamente, por supuesto) por tener un móvil así?

Supongo que en este momento no comprendéis muy bien la línea argumental del post. A continuación enlazaré todo, pero para ello necesito poner otra foto:
Este es un niño soldado, algo muy común en los conflictos armados en África. Por increible que parezca, es el nexo de unión entre las dos primeras fotos.

Del coltán se extrae un mineral: el tantalio, que por sus propiedades es muy apreciado por las empresas de tecnología, entre otras cosas para la fabricación de baterías. Baterías como las del nokia n95 y las de todos los teléfonos y gadgets que tenemos todos. Como comentaba antes, el coltán hace unos años que escasea en Australia y todas estas multinacionales se han lanzado a conseguirlo en África. Pero no les compensa establecer una mina de forma legal y por lo tanto recurren al mercado negro. Los grupos paramilitares son los que dirigen este mercado, obteniendo el mineral de minas ilegales en las cuales se emplean trabajadores (a veces esclavos) que son explotados miserablemente. Algunos ejércitos de estados limítrofes como son Rwanda, Burundi y Uganda están obteniendo enormes beneficios debido a este tráfico ilegal de coltán. En una zona tan azotada por las guerras como esta, y por otro lado con tantas carencias por parte de la población, no parece muy apropiado tal incremento del poder militar.

No quiero que penséis que con este post pretendo ser demagógico o amarillista. Tan solo quería daros a conocer una muestra mas de hacia dónde nos lleva el liberalismo económico y la globalización: vivimos con un lujo excesivo, y todo gracias a que tenemos un tercer mundo que está pagando la cuenta de nuestro ritmo de vida. Por otro lado, paradójicamente, si un congoleño llega a Europa en busca de una vida distinta a la que se le ofrece en su país de origen hay quien tiene los santos cojones (perdonad por la expresión) de decir que no tiene derecho a estar aquí. Dejémonos de efectos llamada y demás memeces mediáticas: somos nosotros los que con nuestro irresponsable ritmo de vida hemos provocado (¡y seguimos aumentando!) unas desigualdades insostenibles. Ya que no podemos detener lo inevitable, al menos deberíamos evitar agravarlo con odios innecesarios. Invirtamos ese esfuerzo en repartir nuestra riqueza y acabar con este modelo de esclavitud encubierta.

jueves, 17 de mayo de 2007

Un par de clásicos

Para los amantes de la fórmula 1...

... y para los amantes de los animales


!Badger, badger, badger!

viernes, 27 de abril de 2007

Computación e información cuánticas

Tras n días sin escribir (cuando n tiende a un número muy gordo) vuelvo con un plato fuerte: la computación e información cuánticas. Aún no tengo claro cómo iré estructurando los distintos posts a partir de este momento, espero que seais comprensivos. Por cierto, he vuelto a "relajarme" en la regla aquella que dije sobre la longitud de los posts. Leedlo en dos o tres sesiones, si os satura mucho :)

Cuando uno lleva tanto tiempo sumergido en un tema y tiene que explicarlo es muy difícil hacerlo de forma que el nivel de la explicación se adecué a los lectores. Quizá haya cosas que pueda dar por obvias y no lo sean tanto y otras en las que me exceda con la explicación. Me gustaría que en los comentarios me fuerais guiando (y que nadie se corte de decir "no me he enterado de nada" o "eso que dices es tan obvio que prefiero leer elmundo.es"...).

Se puede decir que el origen de la computación cuántica se encuentra a finales de los años 70 y principios de los 80. En ese momento la miniaturización de la tecnología estaba comenzando. Una de las personas que abrió camino en ese campo (desde el punto de vista teórico) fue Richard Feynman. En sus propuestas no solo planteaba la posibilidad de construir máquinas microscópicas, sino que también teorizaba sobre la miniaturización de los computadores y su límite mínimo, que lo llevaba a proponer la utilización de un átomo por bit.

Pero miniaturizar no es un proceso tan simple como parece, no basta con reducir las dimensiones. Hoy en día todos los circuitos de los ordenadores están compuestos de transistores. Éstos, simplificando, lo único que hacen es enviar flujos de electrones en un sentido o en otro activando así otros transistores. Podría pensarse que una posible reducción de estos transistores, y quizá la mayor, sería aquella en la que los flujos fueran de un solo electron, que se movería entre tres átomos. Esta práctica tendría asociados unos problemas adicionales tremendos. Por ejemplo, la incertidumbre cuántica nos impediría conocer con precisión el movimiento y la localización del electrón, que además podría dar saltos aleatorios entre todas sus localizaciones, haciendo inútil el transistor. Pero no hace falta ir tan lejos. Actualmente los circuitos de silicio tienen serias dificultades de funcionamiento cuando se reduce su tamaño (una de las causas es la electromigración). La conclusión de esto es que para miniaturizar no basta con reducir el tamaño: también hay que resolver nuevos problemas y, a partir de ciertos límites, buscar nuevos paradigmas de funcionamiento. Feynman, con una de sus famosas analogías, equipara esta evolución a la ocurrida en aeronáutica cuando se dieron cuenta de que no se podrían superar ciertas velocidades con la propulsión mediante hélices (Ácido Cínico seguramente tendrá mas que decir en este punto ;). Ese límite no fue superado hasta que se encontró un nuevo paradigma: el reactor, que permitía alcanzar velocidades que hasta entonces parecían imposibles.

En computación cuántica ocurrió algo parecido. Se buscaron nuevos paradigmas para poder miniaturizar hasta el átomo por bit. Esto supuso la mayor revolución que nos ofrece este campo ya que nos permite utilizar una partícula por bit, pero además nos ofrece la posibilidad de utilizar en nuestro beneficio las particularidades de la mecánica cuántica. Nos olvidamos de los transistores y en su lugar utilizamos el estado de partículas individuales para representar los bits (por ejemplo, podríamos utilizar el sentido del spin de un electrón).

(... Perdonadme por los párrafos que vienen a continuación, pero es que no soy capáz de simplificar mas...)

Mientras que en computación convencional tenemos como unidad mínima el bit, en la computación cuántica utilizaremos lo que se conoce como el qubit. En mecánica cuántica, el estado "n" de una partícula se representa mediante un ket . Entonces, aplicando esto al terreno de la computación, definiremos dos estados ortogonales, que serán los equivalentes del "1" y el "0", que estarán representados por y .

La primera ventaja que nos ofrece la computación cuántica es la posibilidad de poder utilizar el principio de superposición cuántica, mediante el cual una partícula puede tener a la vez dos estados distintos. Esto quiere decir que nuestro estado no tiene porqué ser o sino que puede ser algo como

Es decir, tenemos un bit, que es 1 con probabilidad a² y 0 con probabilidad b² (evidentemente, a²+b²=1). Esto (además de liar un poco las cosas) nos permite hacer operaciones con ambos estados a la vez(¡!).

Pero también hay otra propiedad de la mecánica cuántica clave: el entrelazamiento cuántico. Que dos partículas estén entrelazadas se puede entender como que el estado de una depende directamente del estado de la otra. Es decir, dos bits separados podrán tener estados y , por ejemplo, y si los entrelazamos el estado pasa a ser único (pero sigue implicando a las dos partículas) y lo llamamos .

Si combinamos el entrelazamiento con el principio de superposición, tenemos estados compuestos, como por ejemplo:

Este estado contempla tan solo dos posibilidades, que ambos bits valgan 1, con probabilidad a², o que ambos bits valgan 0, con probabilidad b².

Estas dos propiedades de la computación cuántica nos permiten inicializar un registro con todas las opciones posibles al principio y realizar operaciones sobre todas al mismo tiempo. Por ejemplo, inicializamos el registro de tres bits:

Entonces, realizando operaciones sobre el registro podremos modificar las probabilidades (a²,b²,c²..., h²) de forma que el resultado correcto tenga una mayor probabilidad de aparecer cuando al final realicemos una lectura.

Esto deja entrever el primer problema que nos encontramos en la computación cuántica: los resultados son probabilísticos. Podemos hacer que la probabilidad del resultado correcto aumente mucho, pero siempre existirán posibilidades de leer un resultado incorrecto. Además no podemos saber qué probabilidad tenía el estado que hemos leido por lo que no sabremos que no es el correcto. En la práctica esto hace que los circuitos de corrección de errores sean, a falta de un mejor adjetivo, monstruosos; para trabajar con los 64 bits de la computación convencional actual necesitaríamos del orden de las decenas de miles de qubits.

Aquí lo dejo por el momento. Ya hay bastantes conceptos en el post como para pensar un buen rato en ello. Próximamente escribiré sobre algunos algoritmos específicos de computación cuántica que la convierten en un salto cualitativo con respecto a la tradicional. Mas tarde comenzaré con la primera aplicación madura de este campo: la criptografía cuántica.

lunes, 9 de abril de 2007

Trenes magnéticos

Siguiendo con la racha de vídeos, que os prometo que acabará pronto (estoy preparando un primer post de computación cuántica, pero no es sencillo de resumir...), quiero que veais hoy un juguete que me pido para reyes. En el vídeo explican el funcionamiento, pero para quien no domine mucho el inglés le diré que es básicamente un superconductor que cuando se enfría a -181ºC adquiere sus propiedades. De esta forma se puede enfriar sobre un material magnético y quedarse "fijo". Os recomiendo ver el vídeo hasta el final...



Si a alguno de los físicos le apetece meterse en explicaciones mas complejas, por favor, estáis en vuestro blog.

miércoles, 21 de marzo de 2007

Tomas falsas

¡Otro video de Matt Harding! Pronto comenzará su nuevo viaje, que por cierto le llevará hasta Madrid, donde tenemos que bailar todos...

martes, 6 de marzo de 2007

Decisión vital

Siempre le anima a uno ver que hay gente que se ha visto en la misma disyuntiva...

viernes, 2 de marzo de 2007

"Un físico es el medio que tienen los átomos para pensar en átomos"
~ Un conjunto de átomos sin identificar ~


P.D. Soy consciente de que llevo 20 días sin escribir un post serio; no es que esté en "crisis de blog" ni nada parecido: simplemente no estoy teniendo tiempo de escribir. Era conveniente aclararlo debido a la epidemia (1, 2, 3, 4)...

jueves, 22 de febrero de 2007

viernes, 16 de febrero de 2007

¿Sabéis que los físicos teóricos son unos amantes terribles?

Cuando encuentran el momento no encuentran la posición, y cuando tienen tiempo no tienen energía...


... Lo siento, siempre me ha hecho mucha gracia... lo tenía que contar ;-)

NOTA: Quien necesite una explicación: la wikipedia la tiene... y para todos recomiendo leer "partículas virtuales" del blog Historias de la ciencia.

jueves, 15 de febrero de 2007

Aleatoriedad (II)

En este post (continuación del anterior sobre aleatoriedad) voy a ser mucho mas práctico y comentaré tres formas de conseguir datos aleatorios bastante extendidas hoy en día.

Suponed que tenéis un átomo de un elemento radiactivo; es posible saber cuál es la vida media, pero lo que no es posible conocer de ninguna manera es el momento exacto de su desintegración. Es cierto que, aunque ese momento sea aleatorio, seguirá una distribución de probabilidad conocida, con lo que de por si no valdría como generador aleatorio. Por lo tanto un solo átomo no sirve, pero imaginad que tenemos una cantidad enorme de ellos. En este segundo caso podemos hacer observaciones de las desintegraciones, y lo que si sigue una distribución completamente aleatoria es la diferencia de tiempo entre una y otra. Por lo tanto, con un contador geiger conectado a un reloj, y algún postprocesado (que no es especialmente complejo) tendremos un generador verdadero de números aleatorios... bueno, al menos hasta que la mecánica cuántica aguante. Una cosa buena de este método es que cualquiera se lo puede fabricar en casa comprando un detector de humos (si, esas cosas que están en el techo de los edificios tienen fuentes de emisión de partículas alfa: lo digo como dato, no es para nada peligroso) y el detector.

Aunque la radiación alfa es la mas dañina de todas es también muy fácil protegerse de ella (un par de centímetros de aire o una lámina de papel valen) y por lo tanto no es especialmente peligroso el manejo de esas fuentes.

Hay otra forma de realizar un generador de aleatoriedad basándonos en fotones que nos proporciona una velocidad mucho mayor, aunque no puede hacerse en casa. Imaginad que polarizamos un flujo de fotones individuales en una dirección determinada (supongamos que es en vertical). Si hacemos atravesar a los fotones un filtro que solo deje pasar los polarizados en 45º resultará que la mitad de los fotones pasará y la otra mitad se reflejará. Si colocamos apropiadamente dos detectores de fotones (uno para los que pasan y otro para los que reflejan) ya tenemos nuestra fuente de números aleatorios (binaria, en este caso).



Hay sistemas comerciales que utilizan este principio (la imagen anterior es del Qantis de idquantique). El problema que tienen es que es complicado polarizar fotones en una dirección que se diferencie exactamente pi/4 con el filtro y, sobre todo, es complicado enviar fotones individuales, por lo que también necesitan un postprocesado para evitar sesgos.

Pero hay una forma mucho mas curiosa (y realizable por cualquiera en su casa) de construirse un generador de números aleatorios basándonos en la radiación de fondo. Basta con conectar una radio o televisión a un pc y sintonizarlo en una frecuencia en la que no haya nada (asegurarse de esto no es tan sencillo y previamente habría que ponerle ciertos filtros). Con un postprocesado de la señal similar al que necesitan los métodos anteriores tendremos nuestro propio generador de números aleatorios. Lo curioso de este método es que además, sabiendo que aproximadamente un 1% de ese ruido es producido por la radiación de fondo cósmica, ¡podremos presumir de que nuestra clave proviene del mismísimo Big Bang!

domingo, 11 de febrero de 2007

sábado, 10 de febrero de 2007

miércoles, 7 de febrero de 2007

Aleatoriedad (I)

El otro día, mientras compraba en Alcampo, me fijé en mis movimientos caóticos para realizar las compras. Después de tantos años, conozco bastante bien dónde se encuentra cada producto aproximadamente, pero soy completamente incapaz de hacer una compra ordenada si no estoy concentrado en ello. Me recordó una investigación sobre la que me habló un amigo en la que utilizaban los movimientos de las moscas para generar números aleatorios.

Es curioso que a la aleatoriedad no se le dé el valor que realmente tiene. Es extremadamente complicado hacer un generador de aleatoriedad, por rara que pueda parecer esta afirmación. Todo el mundo pensará inmediatamente en que tirar dados, lanzar una moneda al aire, etc, son sucesos aleatorios. Pero esto desde un punto de vista físico no es cierto. De hecho lo mas que podemos aspirar es a tener un generador de números virtualmente impredecible (aquí es donde encaja la famosa mariposa que mueve las alas en algún lugar del mundo). Es decir, generadores que se vean afectados por tantas variables que sea imposible en la práctica predecir su comportamiento (mi caso con la compra en Alcampo sería un ejemplo débil de esto).

Pero no está todo perdido. Hay algo que sí que es intrínsecamente aleatorio y no sujeto a variables externas: la incertidumbre cuántica. (En este punto puedo hacer dos cosas: dar por supuesto que todos teneis nociones básicas de mecánica cuántica o empezar a escribir otro blog sobre un tema que ni siquiera domino. Elegiré la primera ;)

Los que hayáis llegado aquí (es difícil aguantar tanto, lo reconozco: ha aparecido la palabra "cuántica", y no he metido ningún dibujo ni ningún chiste) os preguntareis porqué narices os cuento todo esto y, sobre todo, porqué tiene el post tiene la etiqueta de "criptografía". Es simple: la aleatoriedad es esencial para la seguridad de un sistema criptográfico. Los ataques pueden ir, por supuesto, dirigidos al algoritmo, pero también pueden ir dirigidos a la clave. Si la clave no es todo lo aleatoria que debería, el protocolo se resiente (podemos tener el mejor algoritmo, pero si luego como clave elegimos, por ejemplo, nuestro nombre será trivial encontrarla para un atacante).

Y aquí hay que tener mas cuidado del que puede parecer, ya que puede haber secuencias de números que tengan una apariencia aleatoria pero que no lo sean en realidad. Para comprobar esto existen una serie de tests que nos permiten medir este parámetro (métodos probabilísticos que serían largos de explicar aquí).

Pero además esto tiene un debate mas filosófico. En un universo determinista (un universo "clásico"), la aleatoriedad no parece posible. Por suerte la mecánica cuántica nos condujo de nuevo a un universo no determinista (en el que la criptografía puede ser completamente segura). Por cierto, no viene muy al caso pero me apetece contarlo: a Einstein no le gustó esa idea ("Dios no juega a los dados") y perdió muchos años de su vida intentando demostrar que era falsa, hasta que al final la aceptó. Y esto es realmente curioso, porque precisamente él fue quien dio la descripción del movimiento browniano, que es un movimiento aleatorio.



Bueno, de momento lo dejo aquí. Perdonad por la extensión y la rallada, aunque he de confesar que es mucho peor de lo que pensais: el post me ha quedado tan largo que después de escribirlo lo he dividido en dos, asi que os queda una segunda parte que pondré en próximas fechas.

sábado, 3 de febrero de 2007

jueves, 1 de febrero de 2007

"Physics is like sex. Sure, it may give some practical results, but that's not why we do it."
~Richard P. Feynman~
Premio Nobel de física, 1965


(Dedicado a Acido Cínico ;)

miércoles, 24 de enero de 2007

Criptografía asimétrica (o de clave pública)

Hasta el momento, todos los algoritmos criptográficos que hemos visto se engloban dentro de los conocidos como "simétricos" o de clave privada. Es decir, entre Alice y Bob se comparte un secreto (la clave) que se utiliza para cifrar el contenido de un mensaje. Esto tiene un grave inconveniente y es la distribución de dichas claves: Alice y Bob se tienen que ver en persona para intercambiarla de forma que sea completamente secreta. Además, hay que tener en cuenta que una clave reduce su eficiencia con el tamaño de los mensajes cifrados, por lo que hay que cambiarlas con relativa frecuencia. Todo esto provocaba que antiguamente la distribución de claves no fuera ni sencilla ni barata. Si querías intercambiar un número grande de mensajes tenías que ver en persona a la otra parte e intercambiar un libro entero de claves. El problema surgía cuando estas claves se agotaban: había que reunirse de nuevo o enviar a alguien de plena confianza con el libro (destacando lo de "plena confianza", ya que a partir de ese momento la tercera persona podía leer todos los mensajes que se intercambiaran con tan solo conservar una copia del libro). Imaginad el problema logístico que suponía la distribución de claves en la segunda guerra mundial, controlando hasta el último detalle para minimizar el peligro de que los libros cayeran en manos enemigas.

Unos años antes, allá por el final del siglo XIX, un economista inglés, William Stanley Jevons, se percató de que el coste de una operación y su inversa puede ser muy distinto. Por ejemplo, si os pido que me calculeis los factores primos de 851 seguramente me mandéis a paseo, pero en cambio todos podéis multiplicar sin esfuerzo 23 por 37 (aunque viendo el caso que le hicisteis al criptograma de felicitación del año nuevo, que era también bastante fácil, no me atrevería a pedírlo ;).

Pero no fue hasta la década de los 70 del siglo pasado cuando se aprovechó dicha propiedad (en concreto la del ejemplo, la factorización de números primos) para utilizarla en un protocolo criptográfico, revolucionando de esta forma la criptografía. Primero el conocido como Diffie-Hellman y posteriormente el RSA se convirtieron los primeros algoritmos públicos asimétricos que generalizaron su uso. Digo "públicos" porque el ejército del reino unido tenía algún desarrollo previo (y es de esperar que otros gobiernos poderosos también los tuvieran).

¿Y qué nos permiten estos algoritmos? Pues, en contraste con los simétricos, estos nos proveen con dos claves, una sirve para cifrar y la otra para descifrar (de ahí la consideración de "asimétricos"). De esta forma, la clave que utilizamos para descifrar la podemos mantener privada y publicar la que solo sirve para cifrar. Cualquier persona puede tomar nuestra clave pública y cifrar un mensaje con ella de tal forma que solo nosotros, los poseedores de la clave privada, podremos descifrar.

Pero esta forma de comunicación es muy costosa, asi que los protocolos nos recomiendan utilizarla solamente para intercambiar una clave que posteriormente utilizaremos en un algoritmo simétrico (conocida como clave de sesión). Así, cada vez que queramos intercambiar un mensaje podemos utilizar una clave distinta sin necesidad de tener que recurrir a los costosos libros de códigos y su engorrosa distribución.

Pero lo que es también muy interesante de estos protocolos es que nos ofrecen mas funcionalidades aparte de la confidencialidad (acordaos que ya escribí un post hablando de estos servicios). Por ejemplo, permiten "firmar" un mensaje proporcionando autenticidad a la comunicación. ¿Y cómo se hace? Pues resulta que el esquema anterior se puede invertir, es decir, podemos cifrar un mensaje con nuestra clave privada, de tal forma que tan solo se pueda descifrar con la pareja pública. Así, cualquiera puede saber de quién proviene el mensaje: de la única persona que tiene la clave privada.

Con estos protocolos, por tanto, obtenemos servicios de confidencialidad y autenticidad, pero también (no lo voy a explicar ahora, pero lo haré mas adelante) se consigue integridad y no repudio, con lo que por fin tenemos un protocolo que proporciona todos los servicios necesarios para realizar comunicaciones entre dos personas con toda la seguridad posible. Pero además dan mucho juego para otro tipo de servicios muy interesantes que dejo para otra ocasión.

Como es ya costumbre dejo muchas cosas en el tintero, de las que espero hablar mas adelante. Con esto nos adentramos ya en la criptografía contemporánea, ya que los dos algoritmos que he nombrado antes se utilizan en la actualidad (vosotros los utilizais cada vez que accedeis a la página del banco o haceis un comentario en este blog, por poner dos ejemplos), y preparamos el terreno para la aparición de la criptografía cuántica (que es eso que me permite escribir en el blog menos de lo que me gustaría :).

martes, 23 de enero de 2007

¿Cuesta mucho el Psittaciforme?

Recordaba esta mañana un chiste que me contaron hace muchos años:
Entra un tipo en una tienda de animales...
Tipo: "¿Es cara la kakatua?"
Tendero: "Lo siento, no hablamos euskera".
Como chiste hay que reconocer que muy bueno no es, pero actualmente contarlo es peor idea.

Tened cuidado con lo que decís y con quien habláis, no vaya a ser que os vean muchas "k" en vuestro discurso y la ciega justicia (o algún justiciero) vaya a tener que actuar. Ah, y también tened cuidado con los que tienen la verdad absoluta.

Y si quereis comprar algún pájaro, sabed que las cacatúas son de la familia de los Cacatuoidae, del orden de los Psittaciformes, no vaya a ser que tengáis un problema con la justicia por pedirla.

P.D. Si queréis, podéis seguir por aquí:
La madre de Irene Villa y su magnanimidad
Los periódicos de ficción siguen en su línea
Me pongo de pié, me vuelvo a sentar, porque a los oficios vamos a jugar

Y ya en otro tono:
Análisis de Joseph Carlin
Dios y el corderito

NOTA: De verdad que intento no mezclar la política con la criptografía, pero es que hay cosas que "claman al cielo".

viernes, 19 de enero de 2007

12 días en silencio (actualizado x2)

Hola de nuevo. Estos 12 últimos días sin postear tienen su razón de ser: en un par de horas participaré en una charla que dá mi grupo en un máster en computación cuántica y había que preparar un montón de cosas. Mi nivel de nervios es muy alto, a pesar de que la parte de la que yo tengo que hablar es corta y fácil, pero llevo fatal eso de hablar en público.

Con toda seguridad, cuando llegue mi turno de exponer, me quedaré con esta cara:



(Con esto además aprovecho para sumarme a la campaña "una foto al día" de Gema y Marco)

Saludos nerviosos.

NOTA: La foto es de Robert Doisneau

Actualización (15:47):
La charla ha ido razonablemente bien (incluso hemos tenido un "lleno" que no es muy normal en este tipo de exposiciones)... si no tenemos en cuenta el hecho de que mi parte, una exposición puramente práctica, la he tenido que comenzar sin ningún apoyo informático ya que por el "efecto presentación" el ordenador ha dejado de funcionar. Luego he podido explicar poco de lo que tenía pensado, ya que el tiempo ha sido bastante escaso. De todas formas he controlado bastante bien las ganas de gritar y esconderme debajo de la mesa a pesar de todas las circunstancias.

Tengo que mencionar el honor (y los nervios extra) que ha supuesto para mi que en la sala se encontrara escuchando la conferencia Alberto Galindo Tixaire, catedrático de física teórica de la Universidad Complutense y presidente de la Real Academia Española de Ciencias Exactas, Físicas y Naturales, que además en el descanso nos ha felicitado por la charla (no a mi, no flipemos tanto). Quiero remarcar que tras dos horas de charla, se ha quedado y ha escuchado mi parte y la de mi compañero (a pesar de que nos hemos pasado del tiempo establecido para la conferencia).

Con la vuelta al laboratorio hemos vuelto a la normalidad de la investigación española: damos charlas al presidente de la RAC pero hemos agotado nuestro último paquete de a4 y no podremos imprimir hasta que no nos agenciemos otro (tarea mas difícil de lo que parece a priori).



Actualización 2 (20:38):

Estaba releyendo yo el post cuando me he fijado en este detalle:
"...pero hemos agotado nuestro último paquete de a4..."
Creo que conviene aclararla porque puede dar lugar a confusiones con respecto a la pila de paquetes de a4 que tenemos normalmente. Nuestra pila es binaria, es decir, toma solo valores de 0 o 1. Pero lo que es mas curioso es que estos valores se encuentran superpuestos siguiendo las propiedades de la mecánica cuántica, por lo que hasta que no abrimos el armario donde los tenemos no colapsa la función de onda y vemos el resultado.

domingo, 7 de enero de 2007

El criptoanálisis del método Vigenère (II)

Aquí viene la segunda parte del criptoanálisis de cifrados polialfabéticos (en concreto lo hemos estado haciendo con el método Vigenère).

El método Kasisky tiene el problema de que en muchas ocasiones las posibilidades de la longitud de la clave son demasiadas. Además, pueden existir coincidencias de secuencias en el texto cifrado que no sean representaciones de la misma secuencia en el texto en claro, lo cual dificulta enormemente encontrar la longitud de la clave, ya que la diferencia entre ellas no será múltimplo del tamaño de clave y por lo tanto nos confundirá.

Aún con esos problemas el método se estuvo utilizando tal y como lo vimos durante casi un siglo, hasta que un criptógrafo del ejército de EEUU, William F. Friedman (que a mi me parece que se da un aire al abuelo de la familia Monster), descubrió que podía hacer un cálculo con los índices de coincidencia de las letras para determinar la longitud de la clave de manera mas directa y precisa. Este método, además, es mucho mas versátil ya que se puede aplicar a todos los cifrados polialfabéticos.



Su ataque se fundamenta en que si en un texto de un lenguaje determinado elegimos dos letras al azar, la probabilidad de que sean la misma es conocida (por métodos estadísticos). Esto se puede comparar con los datos obtenidos de realizar la misma operación en el texto cifrado y de esta forma hacernos una idea de la cantidad de alfabetos que se han utilizado para cifrar el mensaje. Esto ocurre porque al quedar difuminadas las frecuencias relativas de las letras (que además estarán mas difuminadas cuantos mas alfabetos se hayan utilizado para cifrar) cambiará este índice de coincidencia. Es decir, si, por ejemplo, en el inglés la probabilidad del uso de la E es la mayor de todas. Entonces, si superponemos dos textos, la probabilidad de que coincida una E sobre otra será alta. En cambio, en un texto cifrado la probabilidad observada será mucho menor, y dependerá del número de alfabetos con el que esté cifrado.

Al final, todo esto se reduce a una fórmula (que saco directamente de la wikipedia):


Donde la I es el índice de coincidencia, que viene dado por la siguiente expresión de combinatoria:



... donde los distintos valores para las enes vienen dados por las frecuencias absolutas de las apariciones en el criptograma de las 26 letras del alfabeto inglés, n es la longitud del texto, y el 0.065 es la probabilidad de que dos letras al azar en un texto inglés sean las mismas.

Este método realmente funciona para cualquier cifrado polialfabético, y en su momento consiguió romper muchos de los cifrados de algunas máquinas de rotores utilizadas. (De las máquinas de rotores ya hablaré mas adelante).

Ahora, apliquemos al ejemplo del post sobre cifrado polialfabético este método.

Hacemos un conteo de las frecuencias de las letras (A=2, B=4, C=2, D=3, E=3, F=1, G=2, H=1, I=5, J=2, K=2, L=0, M=2, N=1, O=0, P=1, Q=3, R=5, S=4, T=3, U=9, V=2, W=6, X=0, Y=1, Z=1). Antes de continuar con el método, una observación: se puede apreciar que las frecuencias relativas difieren poco unas de otras (salvo alguna excepción), que es lo que dijimos que provoca un cifrado polialfabético.

Seguimos. Calculamos el índice de coincidencia, que a mi me sale de 0,049, y lo introducimos en la primera expresión (.027*65/(64*0.049 -.038*65 + .065)) y nos da un resultado de 2,4. La longitud de la clave, por tanto, debe ser cercana a 2 o 3. Si, tenéis razón: no hemos obtenido el resultado correcto (que es 4), pero es que hay que tener en cuenta que este es un método que mejora mucho con la longitud de los criptogramas. Aun así, no tendríamos que hacer muchas pruebas hasta que diéramos con la clave correcta, ya que el resultado nos ha orientado acerca de la longitud de clave. Combinado con el método Kasisky nos permite ir seleccionando longitudes de clave que se aproximen a este valor.

Bueno, con esto queda explicado el criptoanálisis del cifrado Vigenère. Espero que os haya gustado, aunque reconozco que este post puede hacerse un poco pesado.

Es muy divertido romper textos utilizando estos métodos. Una vez que se consiguen entender, su aplicación es muy sencilla y mas rápida de lo que parece. Este tipo de criptoanálisis me trae buenos recuerdos, ya que en mi examen de criptografía me pusieron un texto cifrado y tuve que aplicar estos dos métodos para romperlo, asi que por primera vez disfruté en un exámen.

Una curiosidad descubierta en la wikipedia mientras me documentaba un poco: la universidad donde estudió William F. Friedman fue Cornell, la misma en la que han sido profesores gente como (el grandísimo) Richard P. Feynman, (el ínclito) Carl Sagan, Diane Fossy o... ¡John Cleese!... ¡todo acaba otra vez en Monty Python! ;-)

martes, 2 de enero de 2007

"Yo soy como soy y tú eres como eres, construyamos un mundo donde yo pueda ser sin dejar de ser yo, donde tú puedas ser sin dejar de ser tú, y donde ni yo ni tú obliguemos al otro a ser como yo o como tú."

~ Subcomandante Marcos ~   

lunes, 1 de enero de 2007

GDKOACNYNHKYJDSK

GDKOAZMUENRSJKROFSDGUNCUT
KNYMDBZPQDYZTMISHOZPEZTUD
OGSZPAJDMKTBQOCZKGDKZBF