On Sat, 2007-11-24 at 21:50 -0300, Roberto Bonvallet wrote: > El 24/11/07, Rodrigo Fuentealba <[EMAIL PROTECTED]> escribió: > > > deciendome que era muy peligroso publicar las llaves en internet. > > > > Lo es cuando son llaves débiles (MD5, SHA, etc), pero la llave pública > > ES para aquello. > > MD5 y SHA *no* son llaves, son funciones de hash. Y tampoco es > encriptación, lo que es un malentendido bastante frecuente: un > mensaje encriptado se puede desencriptar, pero a partir del hash no se > puede obtener el mensaje original, sencillamente porque hay infinitas > cadenas que entregan el mismo hash.
Sorprende la cantidad de información a medias que se maneja en general, y las confusiones. Roberto tiene razón en que MD5 y SHA no son llaves, sino funciones de Hash. Y como tales tampoco manejan llaves. Simplemente convierten un mensaje en un "hash" de largo fijo. En algunos casos, se usan para esconder una password y que un servidor pueda verificar que un usuario conoce una password, sin tener la password propiamente tal, sino solamente este hash que se calcula en base a la password. En el artículo citado se critica la forma en la cual Wordpress usa esa técnica, porque se hace sin una parte fundamental, que es agregarle un par de caracteres antes de encriptar (la "sal"). Eso se hace en el caso de linux para esconder la password usando algún algoritmo conocido (crypt, md5, etc.) Claro que todo eso no tiene mucha relación con la criptografía asimétrica (o criptografía de llave pública), donde la llave pública justamente está pensada para ser publicada lo más ampliamente posible. La idea es que un atacante malicioso que quiera calcular la llave privada en base a la llave pública se demore un tiempo del orden de la edad del universo. Hay varios algoritmos de los cuales se sospecha fundadamente que cumplen con eso (claro que no hay demostraciones). Dentro de ellos están los algoritmos utilizados por RSA y otros. Ahora, siempre es posible tener la mala suerte que justo algún perejil generó aleatoriamente el mismo par de llave pública y privada, y decide publicar _ambas_ en una página web y así puedas usar Google para llegar a encontrar la llave privada a partir de una búsqueda por la llave pública. Pero la probabilidad es tan baja que conviene más confiar en que eso no pasará en lugar de usar métodos alternativos al uso de criptografía pública (como que alguien viaje con un maletín esposado a la muñeca para entregar el mensaje secreto cada vez). Saludos, -- Jens