El reto de Kriptoniano

Enviado por kriptoniano en

Foros: 

Hola chi@s (no creo que existan as acá, pero vale... por cortesía)

pues estoy programando algo sencillo que no se basa tanto en números al azar, sino en diccionarios, palabras, textos, en fin, para ocultar un mensaje.

¿alguien se anima a descifrar lo que iré sumando aquí?

aquí va el primer texto, si desean textos más largos o una explicación sobre el algoritmo, avisen:

ithtmmmai reduzca incluye posibilidades. implicaciones Verint avanzó ─Securitas no Direct yo filial tanto en Madrid al presta atacante en servicios empresas aplicaciones en mejorar ojo Impact atención un cliente

Si no das más datos...

Mírate otras respuestas a propuestas de retos de cara a que sean interesantes. En resumen:

- Una cantidad de texto suficiente. Pon un texto cifrado que corresponda al menos a 20Kb de texto claro . Si el algoritmo es muy resistente puede que haga falta más.
- Detalla el algoritmo usado. Únicamente la clave de cifrado ha de permanecer oculta.
- Pon un ejemplo de uso con una pareja claro/cifrado explicando paso a paso (para los primeros carácteres) que se convierte en que.
- Si es posible presenta una implementación que podamos usar, por ejemplo en Python, VB, Java o C.

Saludos

No le veo ningún sentido a

No le veo ningún sentido a todo esto: ¿cómo se cifran las diferentes flexiones verbales? ¿con cientos de miles de entradas en el diccionario? Pero entonces, ese diccionario, ¿debería de tener, también, todas las entradas en todos los géneros y números posibles?
Y si las palabras desconocidas se añaden al diccionario...¿Cómo demonios las descifrará el receptor del mensaje cifrado? ¿es que también le enviamos el diccionario actualizado?

Comparto las dudas de Tokamak

El diccionario parece ser una parte esencial del proceso de cifrado/descifradoy deberá ser poseido (y actualizado) por todos los interlocutores. Por ejemplo, imaginemos una situación en que A, B y C intercambian mensajes.

- A cifra un mensaje y se lo pasa a B. Entiendo que DESPUES de cifrar el mensaje se enriquece el diccionario de A (si no B no podría descifrarlo), quien a su vez, una vez descifrado enriquece el suyo.
- Si A o B hablan con C deberán mantener un diccionario específico para sus respectivas conversaciones distinto del que A mantiene con B, puesto que se enriquecen con distintas palabras.
- Con pocos interlocutores podría ser funcional, pero a la que el número crezca se va a hacer inviable. Otra cosa sería usar un diccionario centralizado, pero va a perder toda la gracia. Es más va sería una vulnerabilidad terrible puesto que un análisis diferencial revelaría las palabras nuevas usadas en el último cifrado.
- La clave parece que la generas al cifrar (al azar) con lo que el destinatario la desconoce previamente por lo que habrá que comunicársela y necesitarás un sistema seguro distinto para hacerlo, pero si ya tienes un método seguro para enviar información ¿para que necesitas otro cifrado?

Por otra parte se adivina bastante de las distancias entre letras por la proximidad de las palabras, ya que parecen mantener el orden alfabético. Dado que introduces un elemento de modificación del diccionario podrías incluir, además, un desorden del mismo tras cada operación de cifrado.

Respecto al reto en si mismo. Queda claro que el diccionario es una parte del algortimo con lo que debería ser conocido, pero al mismo tiempo es una especie de "clave" con lo que debe permanecer oculta. En estas condiciones no creo que podamos abordarlo.

Como opinión personal, me gusta mucho el tema de usar palabras como símbolos y alguna cosa he pensado en ese sentido, pero justamente la dificultad de concretar el alfabeto me ha hecho desistir. Tengo en mente algo un poco en la línea de generar textos legibles (aunque no inteligibles) en base a usar trigramas válidos en castellano como símbolos.

Saludos

Discrepo

El cifrado que propones puede ser efectivo en determinadas circunstancias pero su uso no creo que sea relamente funcional puesto que implica demasiadas pasos previos a su uso. Respecto a no enviar el diccionario actualizado eso implicaría el no poder cifrar palabras no contenidas en él, como por ejemplo apellidos o nombres de empresa; y enviarlo actualizado, pues eso, implica enviarlo con todo lo que comporta.

Como ya te he dicho que creo que la idea de usar palabras como símbolos es muy potente, puesto que el alfabeto será inmenso. Aunque tal y como lo propones se me hace inviable, creo que se puede refinar para cubrir esas carencias que le vemos. Por ejemplo añadiendo un sistema de adición de palabras mediante deletreo. Podrías usar en tu diccionario determindas palabras para codificar letras de la A a la Z para cifrar las palabras ausentes, que al final del proceso se añadirían al diccionario, de esta manera nos ahorramos los envíos. Por supuesto habría que buscar la manera de que esta adición se hiciera de manera segura, con algún tipo de desorden previo del diccionario (habría que darle algunas vueltas, pero supongo que pillas la idea).

Aún nos queda el tema de la clave. No acabo de entender eso de que se envia junto al mensaje y en el ejemplo no acabo de verlo claro. De todos modos la generación de parte de ella al azar no acabo de verlo necesario y nos crea el problema de tener que transmitirla. ¿No podría obtenerse ese desplazamiento a partir de una clave previamente acordada entre los interlocutores?, de ese modo nos ahorramos también ese envío.

Saludos

Pues entonces queda claro que

Pues entonces ya queda claro que no tiene objeto este cifrado. Si el usuario ha de recibir, se supone que por medios seguros, una actualización del diccionario ¿por qué no enviarle, en vez de eso, una OTP (libreta de un solo uso)? con la ventaja de que ello nos proporcionará un cifrado inviolable.

Es más: si el diccionario se envía por métodos seguros ¿por qué no enviar el mensaje, directamente, por tales medios?

En cuanto al caso -que el autor nos cuenta ahora, a toro pasado-, de que no se actualicen, ni se remitan, las actualizaciones del diccionario, la codificación del mensaje no se diferenciará mucho a la de los antiguos libros de códigos diplomáticos, sistema conocido y muchas veces vulnerado.

Por otra parte la necesidad de repartir un diccionario con cientos de miles de entradas entre varios interlocutores es algo a lo que no acabo de verle la gracia, una cosa es compartir una clave, que puede memorizarse, y otra repartir con seguridad ese repertorio, un viejo y bien conocido problema de seguridad.

Y en tal caso, repito, ya puestos y si se van a repartir claves, es mejor compartir con los interlocutores una OTP aleatoria que garantice la inviolabilidad de la comunicación.

Por último, me desagradan estos retos en los que el autor manifiesta tan poco interés por su creación, que ni siquiera facilita una explicación clara y completa del algoritmo, al contrario de como hace todo el mundo por aquí.

basado en secreto

Si mal no recuerdo de la clase de criptografía, comentaba el profe (que lo compoarto totalemente) un algoritmo de criptografía no puede basarse en un secreto, insisto el algoritmo en sí, y de ahí nos explicaba la dificultad de factorizar y de obtener logaritmos discretos.

Por lo que veo este método no se basa en ningún principio matemático donde la función inversa tiene un alto coste temporal. Yo arrancaría haciendo un estado del arte y después proponiendo algo.

Ánimo con la iniciativa!!

matemática...

Lo que pasa es que tu profesor está hablando de cifrados basados en métodos matemáticos. En todo cifrado hay al menos un secreto: la clave. En el caso de la máquina enigma (que usaba un cifrado muy seguro incluso hoy en día), había otro secreto más: el conexionado interno de las ruedas.

Pero tu profesor te hablaba de métodos matemáticos (como RSA y Cia.) que basan su seguridad no en el secreto sino en la complejidad de los cálculos que hace que la prueba "a lo tonto" sea demasiado lenta. El problema de eso es que lo que es "demasiado lento" va cambiando constantemente y un día, cuando la computación cuántica sea práctica, ese tiempo desaparecerá.

El cifrado que se propone en este reto justamente intenta encarar el problema de forma diferente. Deduzco que la idea implica un algoritmo tan sencillo que incluso podría aplicarse a mano pero que al no utlizar operaciones matemáticas, no se puede romper por simple prueba y error.

Bueno, en realidad eso depende del origen del diccionario que se usa para el cifrado. Porque si se usan textos preexistentes como libros, pienso que sí podría alimentarse una computadora con una biblioteca entera. Creo que se podría hacer un análisis de frecuencias de palabras de la misma forma que se hace análisis de frecuencias de letras, se debe poder hacer con palabras. Claro que esto no será una sustitución simple pero conociendo el algoritmo podría ser factible.

El problema que yo veo acá es que nosotros no tenemos los recursos que tendría alguien que de verdad quiera romper un cifrado así (como podría ser una empresa importante o la NSA). No disponemos de bibliotecas llenas de libros.

Tal vez "kriptoniano" podría limitar las fuentes de palabras a algunas conocidas que usa para que sea más factible atacar este problema.

En absoluto: Si hay que

En absoluto: Si hay que repartir diccionarios gigantescos entre cada contertulio de la comunicación, y por lo visto esto no genera ningún problema de seguridad, pues entonces sin duda podremos repartir entre todos, también con seguridad, una copia de un fichero con una larga ristra de caracteres aleatorios. Así cada usuario, cuando tuviese que comunicarse con alguien, le enviaria su mensaje sumado, o xoreado, con una ristra del repertorio aleatorio, publicando además, para todos los usuarios, la posición inicial y la final de la ristra, con el objeto de que nadie la vuelva a utilizar.

Este sistema, tan sencillo, la OTP, o libreta de un solo uso, genera mensajes completamente indescifrables, que cumplen la condición de secreto perfecto de Claude Sahnnon. Nadie podría romper un sistema así, si el reparto inicial de claves fue seguro.

Como el sistema propuesto en este reto, por definición no puede ser más seguro que una OTP, y presenta el mismo inconveniente que las OTP (la distribución inicial de claves -es más incluso las realiza a posteriori, con sus actualizaciones de diccionario-) y además incumple una de las principales reglas de Kerckhoffs: la efectividad del sistema no debe depender de que su diseño permanezca en secreto se cumple lo que llevo diciendo desde el primer momento: este sistema no tiene sentido ni objeto.

repartir

?Y si en vez de repartir diccionarios, utilizar diccionarios que todos ya tengan, por ejemplo libros o los artículos de Enigma que se publican en kriptopolis?

Bueno, y entonces: ¿para qué

Bueno, y entonces: ¿para qué sirve este método de cifrado, si una OTP ya me asegura de una forma demostradamente perfecta la seguridad de la información y cuando tu sistema no elimina el problema de la distribución de claves, sino que redunda en él?

OTP

Si quieres asegurarte de que no te espíen, lo mejor es usar un algoritmo público que esté sobradamente auditado. OTP es lo más seguro que encontrarás. No existe nada más seguro que OTP, pero su debilidad está en tener que distribuir las libretas.

La idea de tu algoritmo, si se basa en "libretas" que no necesitan ser distribuidas porque puedes encontrar ya en tu casa (como un libro) podría ser una solución de compromiso intermedia.

Pero insisto en que si la NSA tiene los recursos suficientes, probablemente se pueda atacar a tu cifrado de la misma forma que se ataca a cifrados de alfabetos: probando por fuerza bruta más análisis de frecuencias, en este caso de palabras y no de letras.

No necesariamente perfecto

El cifrado no tiene por qué ser completamente perfecto. Basta con que no sea descifrable en un tiempo razonable. RSA dista mucho de garantizar el secreto perfecto de Shannon, pero aún así es de lo más usado hoy en día.

Ya, claro y si resulta que

Ya, claro y si resulta que con mucho menos trabajo (el cifrado con OTP es un procedimiento lineal, simplísimo) , puedo disponer de un procedimiento perfecto ¿para qué demonios necesito este trasto, indeseable criptográficamente? la gran pregunta sin responder....

¿Ventaja? ¿Qué ventajas?

¿Ventaja? ¿Qué ventajas? ¿Dónde están? Tienes que distribuir los diccionarios al principio, como las claves en la OTP, y encima puede que también después.

En cambio, con respecto a esta extraña cosa, la libreta de un solo uso sí que tiene ventajas: si es aleatoria su seguridad es perfecta, y si ha sido segura su distribución, nadie podrá intervenir la comunicación, está formalmente demostrado por Claude Shannon.

¿Puede ofrecer lo mismo tu cifrado? No, para nada, y además, para más inri, rompe varias de las reglas de Kerckhoffs, es decir: presenta propiedades criptográficamente indeseables.

Sigo preguntado, entonces: ¿para qué sirve? ¿dónde están esas "ventajas" que no se ven?

ventaja

La única ventaja que se me ocurre es que no distribuyas diccionarios, sino que utilices diccionarios ya distribuidos por otros medios. Por ejemplo podrías usar el diario del día, o el último artículo de kriptópolis. O un libro que busques en la biblioteca.

El problema es que debe ser completo

Tal y como se plantea el cifrado el diccionario debe contener todas las palabras que vayan a ser cifradas (y si no lo están se las incluye al final, con lo que se genera una nueva versión del diccionario). Así pues no nos va a valer un periódico o una fuente cualquiera de texto, a menos que se cambie de raiz el algoritmo.

Una nueva cosa que me intranquiliza respecto a las palabras incluidas es el proceso de la propia inclusión. Si las palabras nuevas entran en el momento de cifrarlas, el diccionario final no nos va a valer para descifrar, puesto que las posiciones de las palabras a sustituir al final no serán las mismas que las que obtenemos en cada sustitución, por ejemplo:

Imaginemos que tenemos un texto:

"El agente Smith viajará a Tombuctú el viernes"

Y que en el diccionario (versión 1.0) tenemos todas las palabras salvo Smith y Tombuctú.

Cifraremos "El agente" añadimos "Smith" y lo ciframos Obteniendo la versión 1.1 del diccionario. Con esa versión ciframos "viajará a", añadimos "Tombuctú" y ciframos. Tenemos la versión 1.2, con la que ciframos "el viernes".

El destinarario deberá recibir la versión 1.2, que es la final, pero con ella no podrá descifrar las partes que hemos cifrado con la 1.0 y la 1.1

A menos que añadamos a priori todas las palabras ausentes antes de empezar a cifrar, pero eso nos obliga a conocer todo el texto al inicio. Adiós a cifrar flujos,

O eso es lo que deduzco. Es lo que tiene no conocer el algoritmo en profundidad.

Buf, que el diccionario debe

Buf, que el diccionario debe ser completo ya se lo decía yo hace tiempo. Y lo del proceso de la inclusión. Este pseudocifrado es un déjà vu como otro de funesto recuerdo, cuyo autor también escondía sospechosamente el método, y cada vez que se le argumentaba alguna incoherencia, salía con una nueva chorrada que, por supuesto, se le había olvidado de aclarar al principio. Hay retos, que aún no han sido atacados, como el de Hazte, y que son cifrados de verdad.

La verdad es que es resultón

Como ya te he dicho en varias ocasiones la idea me parece muy atractiva y el resultado puede ser tremendamente difícil de atacar. Sin embargo sigo pensando en que hay que pulir algunos detalles, especialmente de procedimiento. Si finalmente nos lo detallas y presentas en sociedad podremos mirar de aportarle alguna cosa en ese sentido.

No, me temo que no

En lo que entiendo de tu planteamiento inicial al menos (a falta del algoritmo completo). He visto que la substitución es fija. Es decir, en el ejemplo "De" es siempre "Dagame" y "a" es siempre "zoster". Parece asequible un ataque estadístico buscando las palabras más frecuentes (artículos y preposiciones), que parece que han de poder ubicarse por su proximidad a la real. Una vez localizadas estas establecemos el desplazamiento usado y podemos aventurar que palabras pueden andar por ahí (parece que se mantiene el orden alfabético). Tambien podemos intentar ubicar estructuras repetidas frecuentes como "DE LOS" o "EN UNA".

Aunque en una única conversación puede ser complicado recrear suficientemente el diccionario, si se usa el mismo sin modificar de manera frecuente ha de ser posible cuando se disponga de una cantidad de mensajes suficientes.

A ver si encuentro tiempo y le echo un tiento al texto que pusiste.

Dado que el autor ha sido

Dado que el autor ha sido manifiestamente incapaz de explicar por qué su método es mejor que una OTP, y en tanto en cuanto no ofrezca una explicación detallada donde se explicite minuciosamente el cifrado, no veo, de momento, razones suficientes para creer que los galimatías expuestos sean cifrados reales. Con la escasa información aportada y tan confusas explicaciones, parece que todo apunta a una comedia.

¿te decodifica bien?

Estoy intentando pillar lo que hace el código y me da la impresión (probablemente lo esté entendiendo mal) de que no puede decodificar bien por el tema de la actualización del diccionario. ¿Podrías hacer la siguiente prueba (la que ponía en el post anterior)?

- Crear un mini-diccionario con sólo las palabras:

A
AGENTE
EL
VIAJARA
VIERNES

- Cifrar

EL AGENTE SMITH VIAJARA A TOMBUCTU EL VIERNES

- Descifrarlo con el diccionario modificado.

Me de la impresión de que el resultado del descifrado no puede ser igual al texto claro, aunque como ya digo es muy posible de que sea un problema mio de interpretación de tu código. Si es así, ¿te importaría detallar paso a paso como se hace este cifrado y descifrado?

No basta, de momento, como

No basta. De momento, como dije en mi anterior mensaje, mantengo mis reservas, pues para saber si los cifrados son reales o no, es necesario conocer el diccionario, lo que nos lleva a la cuestión fundamental que llevo demandando desde el primer momento:

Si hace falta que cada usuario comparta un monstruoso diccionario, ¿cuál es la ventaja sobre una OTP, que además es un procedimiento mucho más seguro y mucho más fácil de aplicar?

Basta con compartir la OTP aleatoria en un sitio ftp, como hace esto, y el programa serán tres líneas para sumar la clave con el texto.

Sigo esperando, con gran paciencia a que se me aclare esto de una vez. El que calla, otorga...

Ps:

Por cierto: si además tenemos que recurrir a la seguridad de un sitio ftp, y fiarnos de AES para la descompresión del archivo...¿por qué no pasar los mensajitos directamente en los archivos comprimidos y descargados?

Otra cosa sería que hubiese presentado este reto como un mero pasatiempo, pero en realidad lo presenta como un auténtico desafío a la NSA: es un método de cifrado que no puede ser descifrado , dice.

Y luego dice que no es una comedia...

Bueno, eso sería esteganografía

Si buscamos que pase desapercibido mas que un cifrado eso sería esteganografía. De todos modos Tokamak tiene mucha razón en su argumento. Óbviamente el diccionario es la clave (o parte de ella aunque disponiendo de él el ataque es trivial) y tiene un tamaño muy superior al del mensaje, cosa tremendamente poco útil si hemos de compartirlo. Si lo principal que buscamos es camuflar el mensaje puede que lo justifique, pero sigue siendo muy farragoso de usar por esa compartición. Sería necesario mejorar el método para que los diccionarios no precisen actualizarse. ¿Qué tal incluir las letras individuales y deletrear las palabras ausentes?. Así el diccionario podría ser incluso público, aunque habría que cambiar el método de sustitución para no hacerlo tan evidente.

Bueno, por lo menos celebro

Bueno, por lo menos celebro que hayas intentado dar una respuesta a la gran pregunta, vamos a verla:

Tú te quieres encerrar en las debilidades, pero no miras las fortalezas. Aún siendo menos seguro que un one time pad, tiene ventajas sobre el mismo, porque podés mandar un mensaje de texto por cualquier medio (celulares, facebook, chat, mail, web, lo que sea) sin que sea percibido como un texto encriptado

En realidad por que ocultes un cifrado, éste no se fortalece, eso un error de concepto, una cosa es la criptografía, y otra la esteganografía.

¿Que las quieres mezclar? pues perfecto, es lo adecuado, pero nuevamente tu sistema no supone ninguna ventaja especial, y sí evidentes desventajes, puesto que puedes cojer el sencillísimo (y segurísimo) cifrado de una OTP y puedes esteganografiarlo en una imagen con cualquiera de los cientos de programas y apps a tal efecto, no hace falta inventar la rueda, o lo puedes esteganografiar en un texto sin sentido, con otros programas que hay para ello. Incluso es posible incluirlo en un texto con pleno sentido semántico y gramatical con un método propuesto por mi.

En cualquiera de estos casos tendrías siempre más seguridad, más sencillez y la misma o mejor ocultación. Es decir que por muchas vueltas que le des, un sistema que obliga a compartir repertorios genera un tremendo problema de seguridad; ya te decía antes que me recordaba a los libros de claves diplomáticas, que tenían miles de cifras o palabras para codificar mensajes, pero el problema de reparto de las claves fue tan terrible, había que mandarlas a tantos, que a pesar de las grandes precauciones tomadas, siempre acababa alguno en malas manos. Si eres un seguidor de la serie Enigma, sabrás lo amargamente que pagaron los británicos en el Norte de África la caída en manos del enemigo de cierto libro de códigos americano.

Por cierto, acabo de ver que Sqrmatrix había hecho algún avance con el reto de la esteganografía en cuatro líneas . Voy a verlo.

La rueda

A estas alturas de la Historia es muy difícil inventar un método de cifrado que valga la pena, y desde luego, no es posible hacerlo sin un gran bagaje matemático. Eso no impide explorar algunas recetas caseras que resulten atractivas, con las que podamos divertirnos y quizá aprender algo. Pero desgraciadamente, yo diría que éste no es el caso.

matemática...

Justamente el asunto es ese: los cifrados actuales se basan muchísimo en la matemática, y las computadoras son cada vez mejores y más rápidas para hacer cálculos. Ultimamente la computación cuántica amenaza con dejar inservibles todos esos sistemas.

Tal vez deberíamos empezar a buscar sistemas de cifrado que requieran algo que no sea matemática para descifrarlos. Un mensaje así como "nos vemos el día del sentido de la vida menos 13". Es un "mensaje secreto" que muchísimos humanos descifrarían inmediatamente pero que es imposible de resolver con los algoritmos informáticos de la NSA. Es más, el mensaje no se detectaría como un mensaje cifrado y ni siquiera oculto artificialmente.

No cuentes con ello, ¿o es

No cuentes con ello, ¿o es que no recuerdas lo que fue de los libros de códigos diplomáticos? además, los principios de Kerckhoffs, que solo son sentido común, ya nos dicen que el sistema debe ser fácil de utilizar
A la hora de la verdad, cuando sea necesario, no solo quedar a la vuelta de la esquina, sino cifrar documentos y mantener comunicaciones constantes, fluidas y con muchos interlocutores, todos esos sistemas, tan infantiles, se revelan como inútiles y como auténticos coladeros de información: es imposible utilizarlos. La solución son las matemáticas, que han permitido el moderno comercio electrónico y la banca a distancia sin problemas verdaderamente relevantes.

Y para comunicaciones totalmente seguras, con pocos interlocutores, la rueda ya está inventada: la OTP. Por ejemplo creo recordar que en unas negociaciones de la guerrilla colombiana con el gobierno, los negociadores de la guerrilla, reunidos con representantes del gobierno, comunicaban sus avances y recibían órdenes por medio de cartas públicas cifradas con dicho sistema.

Pues hacían mal

Si usaban una OTP tendrían el problema de enviarla para cada mensaje. Si reutilizaban la OTP estaban fritos. Creo recordar que para mensajes con estructura de lenguaje con unos 6 o 7 reusos del mismo pad se garantizaba el descifrado completo. Con tener la certeza de que, alineando todos los mensajes, aparezca el caracter más frecuente del lenguaje en cada posición para alguno de ellos es suficiente. Posiblemente con mucho menos baste, puesto que si podemos deducir alguna palabra en alguno de ellos pillamos esa parte del pad para todos los demás.

No, no enviaban ni

No, no enviaban ni reutilizaban la OTP, era algo bien hecho -por la cuenta que les tenía-, de acuerdo al procedimento correcto de una libreta de un solo uso (ya lo dice el nombre). La dirección y la guerrilla disponían cada cual de una copia, en sus bolsillos, de un largo repertorio aleatorio y los mensajes cifrados, que creo que eran públicos, los cifraban sin reutilizar las partes empleadas anteriormente de la OTP, es decir el sistema tenía una seguridad de Shannon, el secreto perfecto.

problema diferente

Acá tenemos dos problemas distintos:
1) un mensaje que sea difícil de leer por una persona
2) un mensaje que sea difícil de leer por una máquina.

Para resolver el primer problema, tenemos la matemática. Para el segundo tenemos el lenguaje coloquial humano.

Nuestro problema actual parece ser la fuerza bruta matemática de la NSA, e intentar resolver ese problema con matemática es jugar justamente el juego que ellos quieren. En recursos informáticos y mentes matemáticas están muy por adelante de nosotros y jamás nos pondremos a su altura. Si lo que quieres es evitar que la NSA te espíe, tienes que buscar un algoritmo que requiera razonamiento racional para su solución.

Mi mensaje de "el sentido de la vida menos 13" resulta de resolución trivial para todo humano que sepa cuál es el sentido de la vida ;) pero es imposible de resolver por pura fuerza matemática. Tal vez el sistema watson de IBM podría resolverlo, pero siempre podemos complicarlo un poco más. Podemos decir algo así como "la segunda palabra del título de película que dieron ayer a la noche en el canal que te gusta ver". Un humano puede resolverlo, pero la NSA no tiene suficientes humanos para "descifrar" todos los mensajes del mundo y sí tiene suficientes máquinas.

Eso no es así, te han

Eso no es así, te han informado mal. La criptografía moderna no puede resolverse con fuerza bruta. Con una longitud de clave suficiente nadie puede romper, con un ataque a las claves, un cifrado con clave pública como RSA, o con clave privada como AES.

Los ataques a los cifrados se basan siempre en debilidades de los mismos, y ahí el público tiene una gran ventaja, ya que los algoritmos de cifrado son totalmente públicos, y hay muchísimos más matemáticos fuera, que dentro de las agencias gubernamentales, con lo que cualquier debilidad de dichos algoritmos podrá ser publicada en cuanto alguno de esos matemáticos de con ella, por ejemplo hace muy poco, en julio, se han descubierto algunos problemas más de RC4. El mismo Julian Assange afirma que los algoritmos de cifrado modernos son de las pocas cosas en las que se puede confiar.
Este sistema de diccionarios repartidos no es mejor que los libros de códigos diplomáticos...que se resolvían ya en siglo XIX sin ordenadores. Confiar en eso parece muy inteligente, sí.

RSA?

Pareces muy seguro de RSA. No te olvides de que hablamos de la manera de burlar a la NSA

En una conferencia sobre criptografía a la que asistí, el matemático disertante nos contaba que la NSA tiene contratados a los mejores matemáticos del mundo y que se estima que están unos 10 años adelantados con respecto al resto del mundo en lo referente a criptografía. Eso implica que lo que nosotros consideramos seguros tal vez para ellos no lo sea tanto.

No hace mucho en kriptópolis salió este artículo: http://www.kriptopolis.com/caida-rsa-diffie-hellman (Apuntan a una posible caída de RSA y Diffie-Hellman en pocos años) No te quepa duda de que si RSA tiene alguna debilidad, es muy probable que la NSA ya la conozca y la esté usando en este momento cuando lo considera conveniente.

Como dices, la criptografía moderna no puede resolverse con fuerza bruta, pero la fuerza bruta es parte de lo que hace falta para resolverla cuando hay alguna debilidad. Y no te olvides de la computación cuántica que si resulta como parece que va resultando, nos volverá a la edad de piedra en lo referente a cifrados.

Un cifrado no basado en la matemática, aunque parezca un retroceso, puede resultar lo único que resista al avance de la tecnología.

Como autor del artículo

Como autor del artículo que indicas me gustaría resaltar su naturaleza altamente especulativa: Desde los conocidos peligros de interpolar la velocidad de descubrimientos matemáticos que está en la raíz de dicho artículo a lo que no dejan de ser meras reflexiones personales sobre sucesos a los que se les presupone (al menos yo lo hago) una motivación más allá de la mera casualidad. Pero son eso, indicios, que tampoco nos pase como con las previsiones de los coches voladores. Ni suponer que RSA permanecerá incólume durante siglos, ni pensar que el cielo ya ha caído sobre nuestras cabezas y sólo algunas agencias ya lo saben.

--
Yo que sé. No me hagan caso. Lean lo que quieran y analicen. (by Sasha)

No me acaba de cuadrar...

si "2 y 2 son 4 y 2 son 6, 6 y 2 son 8 y 8 16" equivale a "venadero enlerdar venadero insinuativa susurrón enlerdar venadero insinuativa desparramo espumadora enlerdar venadero insinuativa invocador enlerdar invocador escroto", me falla el segundo "6" espumadora" en vez de "desparramo". El "16" que sería "escroto" tampoco casa con el que aparece antes en "hasta el 16" que parece cifrado como "trasijada". ¿Se me escapa algo?

Páginas

opinar

Texto puro

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.
Imágenes
Puedes añadir hasta 10 imágenes explicativas a tus comentarios (pantallazos, etc).
Los archivos deben ser menores que 8 MB.
Tipos de archivo permitidos: png gif jpg jpeg.
By submitting this form, you accept the Mollom privacy policy.