elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
07 Octubre 2008, 17:41  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía
| | | |-+  Nota al diseñador aficionado de cifras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Nota al diseñador aficionado de cifras  (Leído 310 veces)
Xpeed

Desconectado Desconectado

Mensajes: 480


Res Publica Non Dominetur


Ver Perfil
Nota al diseñador aficionado de cifras
« en: 09 Junio 2006, 04:59 »

Bueno leyendo por ahi, encontré un artículo bastante interesante sobre el tema de desarrollo de algoritmos de cifrado de la mano de Bruce Schneier diseñador de Twofish ... dejo la traducción realizada en esta web:http://webs.ono.com/usr005/jsuarez/aficiona.html

Nota al diseñador aficionado de cifras

El siguiente texto fue publicado en el boletín Crypto-Gram de Bruce Schneier de Octubre de 1998 y creo que a cualquiera que le guste la criptografía debería leerlo, especialmente si alguna vez ha pensado en diseñar su propio algoritmo de cifrado, esa es la razón de que lo haya traducido.

Felicidades. Has inventado este estupendo nuevo cifrado y quieres hacer algo con él. Eres nuevo en este campo, nadie ha oído hablar de ti y no tienes credenciales como criptoanalista. Quieres que criptoanalistas conocidos vean tu trabajo. ¿Qué puedes hacer?

Desgraciadamente te queda un difícil camino por delante. Veo unos dos nuevos cifrados de diseñadores aficionados cada semana. La probabilidad de que alguno de estos algoritmos sea seguro es pequeña. La probabilidad de que cualquiera de los dos sea a la vez seguro y eficiente es despreciable. La probabilidad de que cualquiera de los dos valga dinero de verdad es virtualmente inexistente.

Cualquiera, desde el aficionado más despistado hasta el mejor criptógrafo, puede crear un algoritmo que él mismo no pueda romper. Ni siquiera es difícil. Lo que es difícil es crear un algoritmo que nadie más pueda romper, incluso después de años de análisis. Y la única forma de demostrarlo es someter al algoritmo a años de análisis por los mejores criptógrafos existentes.

"Los mejores criptógrafos existentes" rompen un montón de cifrados. La literatura académica está cubierta por los cadáveres de los cifrados que sus análisis derribaron. Pero son gente ocupada; no tienen tiempo de romperlo todo. ¿Cómo deciden en qué concentrarse?

Lo ideal sería que los criptógrafos solo se fijasen en cifras que tengan una razonable probabilidad de ser seguras, esto significa que los criptógrafos sólo deberían analizar cifrados creados por personas cuyas opiniones se valoran. A nadie le impresiona que una persona cualquiera cree un cifrado que no puede romper por si mismo; pero si uno de los mejores criptógrafos del mundo crea un cifrado que él no puede romper, bueno, eso es algo que merece la pena ver.

En el mundo real no todo es tan claro. Los criptógrafos estudian los algoritmos que o bien son interesantes o bien que es probable que produzcan resultados publicables. Esto significa que se fijarán en algoritmos que provengan de criptógrafos respetados, algoritmos que aparezcan en grandes sistemas públicos (p.ej. teléfonos móviles, decodificadores de TV de pago, productos de Microsoft), y en algoritmos publicados en la literatura académica. Los algoritmos que se publican en los grupos de noticias de Internet por desconocidos no recibirán una segunda mirada. Tampoco lo harán algoritmos patentados pero no publicados o algoritmos propietarios incluidos es oscuros productos.

Es difícil conseguir que se publique un algoritmo criptográfico. La mayoría de congresos y talleres no aceptan diseños de desconocidos y sin un análisis exhaustivo. Puede parecer injusto: los desconocidos no consiguen que se publiquen sus cifras porque son desconocidos, y por tanto nadie verá su trabajo. Realmente, si el único "trabajo" que uno hace es el de diseñar probablemente no merece la pena publicarse. Un desconocido puede darse a conocer publicando criptoanálisis de cifras existentes, la mayoría de los congresos aceptan estas ponencias.

Cuando comencé a escribir "Applied Cryptography" escuché la máxima de que los únicos buenos diseñadores de algoritmos eran las personas que pasaban años analizando cifras existentes. La máxima tenía sentido y la creí. Con los años, mientras pasaba más tiempo diseñando y analizando, la verdad de la máxima se ha hecho mayor y mayor. Mi trabajo diseñando Twofish me ha hecho creer en ello aún con más fuerza. La fuerza de la cifra no está en su diseño, cualquiera podría diseñar algo parecido. La fuerza está en su análisis. Pasamos más de 1000 horas-hombre analizando Twofish, rompiendo versiones simplificadas y variantes y estudiando modificaciones. Y no podríamos haber hecho ese análisis, ni hubiéramos tenido ninguna confianza en ese análisis si todo el equipo de diseño no hubiera tenido experiencia rompiendo muchos otros diseños de algoritmos.

Un amigo criptógrafo cuenta la historia de un aficionado que le molestaba continuamente con el cifrado que había inventado. El criptógrafo rompía la cifra, el aficionado hacía un cambio para "arreglarlo" y el criptógrafo la rompía de nuevo. Este intercambio se repitió unas cuantas veces hasta que el criptógrafo se hartó. Cuando el aficionado volvió a visitarlo para oír lo que pensaba, el criptógrafo puso tres sobres boca abajo sobre la mesa. "Coge uno y léelo. No vuelvas hasta que hayas descubierto los otros dos ataques" Nunca más se oyó hablar del aficionado.

No quiero ser completamente negativo. A veces la gente diseña cifras fuertes. Incluso los criptógrafos aficionados diseñan cifras fuertes. Pero si no eres conocido en la comunidad criptográfica, y esperas que otros vean tu trabajo, debes hacer varias cosas:

  • Describe tu cifra usando una notación estándar. No significa código fuente C. Hay una terminología establecida en la literatura. Apréndela y úsala; nadie aprenderá tu terminología especializada.
  • Compara tu cifra con otros diseños. Lo más probable es que use algunas ideas que han aparecido antes. Haz referencia a ellas. Esto hará más fácil para otros entender tu trabajo, y muestra que entiendes la literatura.
  • Demuestra por qué tu cifra es inmune a los ataques más importantes que aparecen en la literatura. No es suficiente decir simplemente que es segura, debes mostrar por qué es segura contra estos ataques. Esto requiere, por supuesto, no sólo que hayas leído la literatura existente sino que la hayas comprendido. Espera que el proceso te lleve meses y resulte en un grueso documento con fuerte contenido matemático. Y recuerda, los test estadísticos no son muy significativos.
  • Explica por qué tu cifra es mejor que las alternativas existentes. No tiene sentido fijarse en algo a menos de que tenga claras ventajas sobre lo anterior. ¿Es más rápido en los Pentiums? ¿Ocupa menos en hardware? ¿O qué? He dicho a menudo que, con suficientes rondas, casi cualquier cosa es segura. Tu diseño tiene que tener ventajas significativas. Y "no puede romperse" no es una ventaja, es un prerrequisito.
  • Publica el algoritmo. La experiencia demuestra que las cifras que no se publican son la mayoría de las veces muy débiles. Mantener la cifra en secreto no mejora la seguridad una vez que su uso se extiende, así que si tu cifra debe mantenerse en secreto para ser segura, es inútil.
  • No patentes el cifrado. No se hace dinero vendiendo un cifrado, hay demasiados buenos que son gratis. Todos los que remitieron su cifrado al AES estaban deseando regalarlo, muchos de los propuestos pertenecen ya al dominio público. Si patentas tu diseño, todo el mundo utilizará otra cosa. Y nadie lo analizará por ti (a menos de que les pagues), ¿por qué deberían trabajar gratis para ti?
  • Se paciente. Hay muchos algoritmos que estudiar ahora. La competición del AES ha ofrecido a los criptógrafos 15 nuevos diseños que analizar. Cualquier buen criptógrafo con tiempo disponible, está hurgando en estos algoritmos.
Si quieres diseñar algoritmos, empieza por romper los que están ahí fuera. Practica rompiendo algoritmos que han sido rotos antes (sin mirar las soluciones). Rompe algo que nadie haya roto. Rompe uno más. Haz que tus roturas sean publicadas. Cuando te hayas creado una fama como alguien que sabe romper algoritmos, entonces puedes empezar a diseñar nuevos algoritmos. Antes de eso, nadie te tomará en serio.

Crear un cifrado es fácil. Analizarlo es difícil.

Crypto-Gram Octubre 1998, por Bruce Schneier.

Espero que lo puedan leer, es muy interesante los puntos que se plantean

un slaudo.
En línea

Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC