Páginas: 1 2 [3] 4
|
 |
|
Autor
|
Tema: Torneo de Criptografia elhacker.net (Leído 17576 veces)
|
|
ghastlyX
|
Sobre esto: Citar CriptoLiga
El objetivo en la criptoliga es presentar, jornada a jornada, el mejor algoritmo criptográfico posible.
En cada jornada, los colaboradores del concurso valoraran cada algoritmo y se puntuaran segun la gente que participe. Luego, los puntos del algoritmo iran directametne al casillero del participante, luego, tras 5 jornadas (dependiendo de la gente que se apunte se adaptara este numero de jornadas), el que tenga mas puntos sera el ganador de esta CriptoLiga. ¿Qué quiere decir jornada tras jornada? ¿Que se puede participar en 5 sesiones distintas? ¿Entonces en cada jornada tu posibilidad de ganar depende de qué otros algoritmos se presenten en esa misma jornada? Es decir si en la jornada 1 hay dos algoritmos muy buenos, sólo uno gana, y si en la jornada 2 todos los algoritmos son muy malos al menos uno gana? :S ¿O es que se van a definir distintas pautas a seguir en cada jornada? Ej. Jornada 1: Hacer un algoritmo de clave simétrica. Jornada 2: Hacer un algoritmo de clave pública y clave privada. Jornada 3:.... No entiendo lo de hacerlo en distintas jornadas.
Se llama CriptoLiga porque haremos una liguilla en cinco jornadas. Cada jornada hay que presentar un algoritmo diferente y se asignarán puntos en función del algoritmo presentado. El que tras las cinco jornadas tenga más puntos (sumando las puntuaciones de cada jornada) será el ganador. Tal y como dices las posibilidades de ganar en cada jornada dependen del resto de algoritmos de esa jornada (quizá en otra se llevaría más o menos puntuación), pero lo que creo que no entiendes bien es lo de las jornadas, que no són independientes, es como una liga de fútbol, hay varias jornadas y cada jornada ganas unos determinados puntos para la clasificación general, hay una sola liga. Aquí tengo otras dudas: Citar HashWar
En esta sección se enfrentaran usuario Vs usuario, los usuarios tendran que presentar sus algoritmos de hash y luego, romper los de su adversario. El primero que rompa el hash de su adversario sera el ganador y se le sumara 3 puntos, si ninguno de los 2 a conseguido romper el hash del otro pasados 2 dias se apuntara un punto a cada uno. ¿Se van a enfrenter todos los usuarios con todos los usuarios? ¿O sólo con alguno(s) al azar? ¿Y te enfrentas siempre con el mismo algoritmo o lo puedes ir cambiando según tus contrincantes van demostrándote tus debilidades?
Se harán enfrentamientos establecidos aleatoriamente, lo de ir cambiándolo o no se comentará algo en breve. Otra duda más: Citar Criterios a elvaluar:
- Romper el algoritmo (Si se rompe el algoritmo del adversario antes de que se rompa el tuyo as ganado) ¿A qué llamamos exactamente a romper el algoritmo del adversario? ¿A presentar un código que genere unos datos válidos por cada hash? ¿O a presentar unos datos válidos para un hash determinado? Sé que a alguno le puede parecer igual pero si es el primer caso es muy difícil demostrar quien es más rápido, y si es el segundo caso habría que conocer algo sobre los datos de entrada (por ejemplo, es una clave alfanumérica de hasta 15 caracteres).
Y otra duda, ¿en el hash no importa que sea lento? lo digo porque uno puede ralentizar su algoritmo deliberadamente para retrasar los intentos por fuerza bruta del contrario. ¿eso se penaliza o se permite para que sea el contrario el que trate de modificar la función para atajar? Yo impondría alguna restricción de tipo: el algoritmo tiene que poder calcular los hashes de 1000 (ó N) entradas distintas en 1 segundo (en un Pentium XXX...). Si no, se corre el riesgo de que se hagan algoritmos poco prácticos con la única finalidad de hacer que el contrario pierda más tiempo del debido. Por romper el algoritmo se entiende lo siguiente: En teoría un hash no puede ser reversible, es decir, del hash no se debe de poder volver al texto en claro (ahí está la gracia). Por romperlo entendemos encontrar un método para llegar a partir del hash al texto original, o dicho de otra manera, demostrar que NO es un hash correcto porque el proceso es reversible. El que encuentre una manera de hacerlo antes gana. Aparte se premia el encontrar colisiones. Sobre la rapideza, los participantes han de entregar el código y no el ejecutable. Teniendo el código, para romperlo da igual, para hacer ataques por fuerza bruta para encontrar colisiones, si se ha hecho lento a propósito, el contrario lo puede reprogramar más efectivamente porque tiene el código. La gracia es que el hash sea bueno, no que cueste entenderlo, ya que en ese segundo caso es una mera cuestión de tiempo romperlo. Y ya una última duda más general... ¿los que no vamos a participar podremos echar un vistazo a los algoritmos presentados? Lo ideal es que sí, salvo que algún participante no lo desee. Un saludo de ghastlyX  PD: Recordad que el plazo de inscripción termina el día 15 de este mes (el domingo).
|
|
|
|
|
En línea
|
|
|
|
Phas
Desconectado
Mensajes: 3
|
Por romperlo entendemos encontrar un método para llegar a partir del hash al texto original, o dicho de otra manera, demostrar que NO es un hash correcto porque el proceso es reversible. El que encuentre una manera de hacerlo antes gana. Aparte se premia el encontrar colisiones. Hombre, pero si de verdad es un hash llegar al texto original no es posible, por ejemplo un simple CRC32 puede ser considerado un hash con colisiones muy fáciles, pero no puedes afirmar cual es el texto original por lo que no es reversible. Yo me imagino que la mayor parte de nosotros sabe hacer un algoritmo "no reversible" y segun lo que dices dichos algoritmos serían irrompibles. Mi duda iba más por saber si el romper el algoritmo del contrario se refiere a "encontrar un texto plano para el hash xxx" o a "hacer un algoritmo que dado cualquier hash generado con el algoritmo del contrario te encuentre un texto plano válido en un tiempo razonable". Pero si es lo que dices entonces se limita sólo a que el contrario haya hecho un algoritmo que no es un hash :S Entonces con que sepas hacer un algoritmo irreversible al final no te llevas 3 puntos por lo bueno que sea tu hash si no por que el del contrario no sea un hash. Es curioso.
|
|
|
|
|
En línea
|
|
|
|
|
ghastlyX
|
Si haces un algoritmo que dado cualquier hash, puedas sacar un texto original válido, ya sirve como romper el hash, aunque no sea lo mismo el hash ya no se podría utilizar por falta de seguridad, estaría roto. Un saludo de ghastlyX 
|
|
|
|
|
En línea
|
|
|
|
Dogui@
Desconectado
Mensajes: 1
|
Nombre del participante: Dogui@ Sección: Ambos Lenguajes: C#, C++.
|
|
|
|
|
En línea
|
|
|
|
|
ghastlyX
|
De acuerdo a lo que se dijo, el plazo de inscripción al Torneo de Criptografía ha terminado. Aquí pongo a continuación las reglas definitivas del mismo. CriptoLigaEl objetivo en la CriptoLiga es presentar, jornada a jornada, el mejor algoritmo criptográfico posible. En cada jornada, los colaboradores del concurso valorarán cada algoritmo. Cada participante ha de entregar un algoritmo diferente cada jornada. La puntuación será escalonada, no habrá dos algoritmos con la misma puntuación en una jornada si no se hace necesario, de tal manera que el mejor de la jornada recibirá x puntos (la cantidad de puntos para el mejor algoritmo será determinada en función de diferentes factores luego aún no ha sido establecida. Los puntos del algoritmo irán directamente al casillero del participante en la clasificación general de la CriptoLiga, después, tras las cinco jornadas que en principio se realizarán, el usuario que tenga más puntos será el ganador. Los algoritmos se valorarán en función de los siguientes aspectos: • Robustez. Se tendrá en cuenta la seguridad del algoritmo. • Rapidez. Se tendrá en cuenta la velocidad del algoritmo para cifrar. • Tamaño final. Se tendrá en cuenta la relación final que se establece entre el tamaño del texto sin cifrar y una vez cifrado, es decir, se premiará que el resultado tras cifrar aumente lo mínimo posible de tamaño o, aún mejor, disminuya el tamaño. A la hora de puntuar, la robustez tendrá un porcentaje de 60%, la rapidez tendrá un 30% y el tamaño final un 10%. HashWarHashWar En esta sección se enfrentarán dos usuarios entre sí. Tendrán que presentar sus algoritmos de hash y luego, romper los de su adversario. Los enfrentamientos tendrán una duración de dos días y serán establecidos aleatoriamente. Se hará una competición en forma de torneo eliminatorio. Criterios de evaluación: • Rotura del algoritmo hash. La rotura del algoritmo contrario se premia con tres puntos, hace que finalice el enfrentamiento y da automáticamente la victoria al que lo consiga antes. Se considerará el algoritmo roto si se da una de las dos siguientes circunstancias: 1. Se demuestra que el proceso para generar el hash es reversible y por lo tanto no es un hash válido. 2. Se realiza un método computacionalmente viable de encontrar un texto original válido a partir de cualquier hash. • Detección de colisiones. Se dará un punto al usuario si detecta colisiones en el algoritmo del contrincante. La detección de colisiones no pondrá fin al enfrentamiento, que sólo acabará cuando se produzca la rotura de uno de los algoritmos o finalicen los dos días. Si se produce un empate tras los dos días de plazo, lo que tan sólo puede suceder si ninguno de los dos usuarios rompe el algoritmo contrario y ambos o ninguno han detectado colisiones, se realizará lo siguiente: • Si ambos han encontrado colisiones, ganará el que las haya encontrado antes. • Si nadie ha encontrado colisiones, se hará otra ronda dos días después de la finalización entre los dos mismos oponentes, pudiendo cambiar los hashes a usar, pero no siendo necesario hacerlo. Reglas del Torneo• Los algoritmos tienen que ser propios, no vale copiar algoritmos. Puede ser basado en algún otro, pero nunca puede ser igual. • Los algoritmos sería mejor que se escribieran en C, pero si esta escrito en un lenguaje que el contrincante del HashWar no lo pueda entender se intentará traducir o se posteará en pseudocódigo. • Se tienen que presentar el código, el algoritmo escrito en un .txt o en un .doc. No se pueden entregar ejecutables ni nada que difiera a lo anterior. Se tienen que pasar a los colaboradores del torneo (en la CriptoLiga y en la HashWar) y al usuario (en la HashWar). Al final del torneo, se hará una recopilación de todos los algoritmos y se publicarán en el foro. En el caso de la HashWar, se mandará el código comprimido con contraseña en .zip o .rar y a los colaboradores se les mandará también en el mensaje la contraseña, al contrincante no. Una vez los colaboradores tengan ambos códigos, se postearán las respectivas contraseñas. De esta manera, ambos usuarios empezarán a la vez y se marcará una hora de inicio de la prueba (la hora exacta en que se postee). Presentación de los códigos y resultadosLos códigos se entregarán cada semana los viernes como máximo para ambas secciones, por lo que los primeros códigos han de mandarse este viernes. Para la CriptoLiga, los colaboradores evaluaremos los algoritmos durante el fin de semana y se postearán las puntuaciones el lunes, salvo retrasos imprevistos. En la HashWar se producirán los enfrentamientos durante el fin de semana y se harán semanalmente, tal y como en la CriptoLiga, pudiendo cambiar o modificar los hashes participantes entre enfrentamientos. En el caso de la HashWar, como se comentó arriba, en caso de empate se podrá realizar una ronda de desempate entre semana (martes, miércoles o jueves). Suerte a todos en el torneo!! Un saludo de ghastlyX 
|
|
|
|
|
En línea
|
|
|
|
TG_Cid
Desconectado
Mensajes: 19
|
OK, pero los codigos los posteamos aqui...
o tenemos que mandarlo a algun(os) correos?
|
|
|
|
|
En línea
|
|
|
|
Mamsaac
Desconectado
Mensajes: 139
|
Bueno, yo ya no entré, pero tengo una pregunta.
¿Y si alguien usa el mismo algoritmo para los 5 enfrentamientos? Es decir, si no lo pueden romper, significa que es muy seguro... no hay necesidad de crear 5 algoritmos de encriptación, o si?
|
|
|
|
|
En línea
|
|
|
|
Hendriҳ
Colaborador
Desconectado
Mensajes: 2.005
The Lord of his Middle Earth
|
OK, pero los codigos los posteamos aqui...
o tenemos que mandarlo a algun(os) correos?
Los tienen que enviar a los colaboradores (con enviarlo a un solo colaborador ya vale)....  Bueno, yo ya no entré, pero tengo una pregunta.
¿Y si alguien usa el mismo algoritmo para los 5 enfrentamientos? Es decir, si no lo pueden romper, significa que es muy seguro... no hay necesidad de crear 5 algoritmos de encriptación, o si?
Eso en la criptoliga no se puede, ya que va por jornadas y lo ideal seria que cada jornada se publicase un algoritmo nuevo....en el Hashware si se puede eso.
|
|
|
|
|
En línea
|
Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer
|
|
|
manuonda
Desconectado
Mensajes: 3
|
participante: manuonda sección: el hacker net lenguaje: c,c++,visual basic que tal cuando se entregarian los trabajos gracias nos vemos 
|
|
|
|
|
En línea
|
|
|
|
|
ghastlyX
|
Lo siento manuonda, pero el plazo de inscripción terminó el día 15. Un saludo de ghastlyX 
|
|
|
|
|
En línea
|
|
|
|
Kratos_crk
Desconectado
Mensajes: 1
|
 Hey, Que tal yo tambien quiero entrar al torneo de cripto y asi aprender de todos un poko Lenguaje : VisualBasic6,C,C++
|
|
|
|
|
En línea
|
|
|
|
|
ghastlyX
|
Lamentando mucho el retraso habido, comunico que ya están listas las puntuaciones de la primera jornada de la CriptoLiga. Como la culpa del retraso es nuestra, se pospone la próxima jornada una semana para que la gente tenga más tiempo de programar el siguiente algoritmo, siendo el viernes de la semana que viene el último día de plazo para entregar el código. Las puntuaciones se han hecho (y se harán) de la siguiente manera: 3 puntos para el mejor algoritmo de la jornada, 2 para el segundo mejor y 1 para el tercer mejor algoritmo. Si bien queda así mucha gente sin puntuación, lo hemos hecho para que sea más fácil remontar (todos podemos tener una mala jornada) y que no surjan grandes diferencias rápidamente. Antes de dejar el enlace a las puntuaciones, sólo me queda por decir de cara a los siguientes algoritmos, que el usar contraseña da mucha más seguridad, ya que si un código se basa en no ser conocido no es seguro. Vamos a valorar más en robustez (que es el 60% de la nota del algoritmo) si tiene contraseña, obviamente además de ser un buen cifrado. Muchas gracias a todos por la participación y sentimos el retraso. Los que no han entregado código esta jornada y están apuntados, pueden presentar código para la siguiente jornada. Aquí están las puntuaciones: http://foro.elhacker.net/index.php/topic,172512.0.htmlEn cuanto al HashWar, no se ha dicho nada, porque no hay suficientes códigos presentados (por ahora sólo dos). Se da de plazo hasta el jueves de la semana que viene para entregar el hash. El dia siguiente (viernes) se dará un comunicado sobre los enfrentamientos. Un saludo de ghastlyX  EDITO: Se me olvidó comentar que como no es justo que los que han presentado código y no han puntuado tengan la misma puntuación que los que no han presentado, por cada jornada sin presentar código se restarán 0,5 puntos al usuario. esto no impide que sigan participando, todo lo contrario, es una medida para que puedan seguir.
|
|
|
|
« Última modificación: 26 Julio 2007, 00:12 por ghastlyX »
|
En línea
|
|
|
|
|
ghastlyX
|
Análisis general de los algoritmos: En cuanto al tema de rapidez, los algoritmos eran todos bastante rápidos cifrando, en el tema del tamaño final ha habido ya más diferencias, pero lo que ha determinado más ha sido la robustez, por su peso del 60%. Algoritmos ganadores: Kasswed: Su algoritmo era el único con contraseña no limitada a una longitud especifica y que permitía todo tipo de caracteres. Además el procedimiento de cifrado era bastante original. Estas dos cosas eran las que hacían que su algoritmo fuera el más difícil de atacar. El único punto flaco del algoritmo era el tamaño final. Ferchu: A diferencia del de Kasswed, este algoritmo cifraba archivos y pese a ser un algoritmo sencillo, incorporaba contraseña. Si bien es segundo porque a pesar de ser el mejor algoritmo en cuanto a tamaño, en robustez pierde contra el de Kasswed porque limita la contraseña a seis caracteres y el algoritmo es mas sencillo, lo que hace viable un ataque de fuerza bruta. hades: Excepto los dos anteriores, ninguno de los restantes incorporaba contraseña, lo que hacía que el apartado de robustez se resintiera. El algoritmo de hades ha quedado tercero puesto que el tamaño final era muy bueno, tan sólo superado por Ferchu, y el algoritmo basado en caracteres aleatorios, pese a ser simple, era muy original y proporcionaba un buen resultado. Un saludo de ghastlyX 
|
|
|
|
|
En línea
|
|
|
|
chow-chow
Desconectado
Mensajes: 4
|
Hmmmm.. Se van a publicar los códigos? Me encantaría echarles un ojo.
|
|
|
|
|
En línea
|
|
|
|
|
ghastlyX
|
Al final del torneo se publicarán todos salvo que alguien no quiera. Un saludo de ghastlyX 
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: 1 2 [3] 4
|
|
|
|