Admin Admin
Cantidad de envíos : 40 Fecha de inscripción : 24/10/2008
| Tema: Reto nº 4 por Admin Dom Feb 01, 2009 6:40 pm | |
| ----------------------------------------------------------- Criterios para definir al ganador: -Soy el único miembro del foro que no participará en el concurso, por lo tanto la elección de ganador/es queda a mi criterio. -Se puntuará que la solución sea de las primeras, que sea mejor, más rápida, más efectiva, más económica en código etc. -La/s persona/s ganador/as tendrán un apartado especial del foro donde se mostrará su nick o nombre real(como prefieran), esta zona se mostrará junto al chat(la parte más visitada del foro), y en la cabecera. Las soluciones deben enviarse a mi correo: soccer.javi()gmail.com no las pongais en el foro para evitar el copy paste. No seais ilusos -------------------------------------------------------------- Este reto ha sido cerrado, cuando pueda publicare otro. UN SALUDO Este reto trata de criptografía Este es el mensaje, envuelto en una variable char, listo para llevar.
char codificado[]="OWRABLGAEUGAZVKDJCUWKX.DSEPBCEQYTMNEAAVVNIB\ XDYWFCCÑVGOIEJKCKZ XAHEAAPRWYBYKHYSSAE FPBICLQAJFKCSDTBNLC T\ SGBRYXGFNÑKHYEZEB.EAEDTVDXOOABJXCJLA. NJ EAACOTJVITCFFICXT EU\ PNUC.UTBTNWAWLOAMPBGSKHDDZCDAFWTGPPSGRCROLGVEAGCRFSFJVW.E\ EUOP MMFKBÑRUUIYQJTHWCÑDNDE.IXAVSECTSJAEGCULDVOAFF.WÑUZDJHDDUA\ QFJ LODTVACBB.CEXEMVILP";
Tenemos este mensaje encriptado que usa este conjunto de caracteres: A la izquierda el caracter y a la derecha su valor equivalente. A=0 B=1 C=2 D=3 E=4 F=5 G=6 H=7 I=8 J=9 K=10 L=11 M=12 N=13 Ñ=14 O=15 P=16 Q=17 R=18 S=19 T=20 U=21 V=22 W=23 X=24 Y=25 Z=26 .=27 ESPACIO=28 2=29 6=30 0=31
Es decir, cada letra(además de punto, espacio,2 y 6) tienen un código asignado. Al siguiente mensaje se le han pasado dos algoritmos.
1.El primero ha traslocado las letras en grupos de 7 bytes, es decir:
Esto se llama transposición, no doy a conocer el orden de traslocación correcto, tu deberás averiguarlo usando tu ingenio y tu capacidad de inventiva. Probar todas las posibilidades, sumando mucha paciencia(hay 4040 posibilidades), pueden llevarte a la victoria. Lo mejor es que halles el método de resolver sin observación humana, o reducir esta observación al máximo.
2.El segundo realiza una curiosa maniobra de distracción al enemigo. En primer lugar obtiene la posición del caracter en la cadena, despues realiza la raiz cuadrada a ese valor, del resultado sólo, única y exclusivamente necesitamos el primer decimal. Luego buscamos en la tabla de valores su valor correspondiente, a ese valor le sumamos el dígito anterior(primer decimal de la raiz cuadrada de su posición) y obtenemos su nuevo valor y por tanto su nuevo equivalente a letra. En este algoritmo pueden ocurrir dos circunstancias: 2.1.El caracter es por ejemplo 'B' con valor 1. El primer decimal de su posición es 8(por ejemplo), entonces tenemos que hacer 1+8=9 que da como equivalente 'J', El valor resultante se ha mantenido dentro del rango. 2.2 El caracter es por ejemplo 'X' con valor 24. El primer decimal de su posición es 9(por ejemplo), entonces... 24+9=33, en este caso 33 se sale del rango. Sencilla solucion, al pasar de 32 se vuelve a empezar a contar desde 0 y acabaría con valor 1 dando lugar a 'B'.
Imagen que vale más que mil palabras.
Para resolver el mensaje secreto tenemos que actuar en sentido inverso, primero resolvemos el segundo algoritmo(evidentemente en vez de sumar el digito lo restamos) y obtenemos un mensaje que debe de ser ordenado por el primer algoritmo.
En el segundo algoritmo no tenemos nada que descubrir, su única dificultad es conseguir implementar en c la solución. Para el primer algoritmo tenemos que descubrir el orden de traslocación correcto, el método de ensayo error es válido, el metodo aleatorio también, pero aqui en este paso en particular vuestro intelecto demostrará su talla con respecto al de los demás. Tras ese galimatías de letras encontrareis un mensaje de ruta, una explicación, unas coordenadas de la red de redes, un lugar oculto... allí debereis firmar usando "La llave de poder". El nivel de dificultad de este ejercicio es alto, 7 puntos para el que lo resuelva. !He dicho!----------------------------------------------------------- Criterios para definir al ganador: -Soy el único miembro del foro que no participará en el concurso, por lo tanto la elección de ganador/es queda a mi criterio. -Se puntuará que la solución sea de las primeras, que sea mejor, más rápida, más efectiva, más económica en código etc. -La/s persona/s ganador/as tendrán un apartado especial del foro donde se mostrará su nick o nombre real(como prefieran), esta zona se mostrará junto al chat(la parte más visitada del foro), y en la cabecera. Las soluciones deben enviarse a mi correo: soccer.javi()gmail.com no las pongais en el foro para evitar el copy paste. No seais ilusos --------------------------------------------------------------
Última edición por Admin el Miér Mar 04, 2009 8:33 pm, editado 1 vez | |
|
juan Maestro de código
Cantidad de envíos : 83 Fecha de inscripción : 25/10/2008 Edad : 36
| Tema: Re: Reto nº 4 por Admin Dom Feb 01, 2009 8:52 pm | |
| ai esta el tio!!
esto si es un reto mas en condiciones!!
Va a estar reñida la cosa si señor | |
|