Ir al contenido principal

Entradas

Programación (III): Reto 1

Comienzo con éste la serie de posts dedicada a retos de programación . En esta ocasión se trata de un reto de dificultad media en el que también se ve involucrada la criptografía (RSA) . Doy prevalencia a la programación sobre la criptografía en la catalogación de este reto porque, aunque también puede resolverse mediante software especializado en el citado criptosistema, e incluso mediante herramientas online, creo que es más didáctico resolverlo programando un poco. Daré la solución utilizando un script en Python, y después usando un software especializado (GenRSA). Como siempre, se admiten soluciones en forma de comentarios a esta entrada. Pasado un tiempo iré proporcionando pistas para su resolución, un máximo de tres, y posteriormente actualizaré este post con la solución. Reto 1 : "¿Dónde están mis primos?". ¿Puedes descifrar el criptograma (c) que se facilita como recurso asociado al reto?. Para ello tendrás que averiguar, de entre los diez números que figuran t...

Programación (II): Solución Reto CTFLearn "Can your memory handle prime numbers?"

En este post la  solución a otro de los retos de programación de la plataforma CTFLearn . Este reto tiene el  tí tulo  " Can your memory handle prime numbers? "  y mi valoración sobre su  dificultad  es:   ★ ★ ★ ☆ ☆ . Su  enunciado  dice lo siguiente: How many prime numbers are smaller than 987163160? Give the answer in base64 format . Flag: CTF{number_in_base64_format}. Solución : utilizo el siguiente  script de Python . from time import time def buscar_primos(num_max):       global primos, tot_primos       primos = [2]       tot_primos = 1       i = 3       while i <= num_max:              es_primo = True              sqrt = int(i**(0.5) + 1)              for primo in primos:                 ...

Programación (I): Solución Reto CTFLearn "The adventures of Boris Ivanov. Part 3"

En este post la  solución a uno de los retos de programación de la plataforma CTFLearn . Este reto tiene el  título  "The adventures of Boris Ivanov. Part 3"  y mi valoración sobre su  dificultad  es:   ★ ★ ☆ ☆ ☆ . Su  enunciado  dice lo siguiente: The KGB agent Boris Ivanov found the place where one of the criminals was hiding for a long time. Unfortunately the criminal disappeared and more than that he shredded the piece of paper with important information. Help Boris to restore it. Here is a bin with the strips of paper . P.S.: Boris is an experienced agent and he instantly realized that the size of the sheet was 500x500. Solución : creo el siguiente script de Python para intentar recomponer la hoja de papel triturada y que según el enunciado del reto contiene información importante. from PIL import Image The_adventures_of_Boris_Ivanov_Part_3 = Image.new("RGB",(500,500),"black") file = 0 while file < 500: ima...

Criptografía (CIX): Solución Reto CTFLearn "Skynet Is (Almost) Taking Over"

En este post la  solución a otro de los retos de criptografía de la plataforma CTFLearn . Este reto tiene el título  " Skynet Is (Almost) Taking Over "  y mi valoración sobre su  dificultad  es:  ★ ★ ★ ★ ☆ . Su  enunciado  dice lo siguiente: Skynet is using a very small list of primes for RSA style encryption purposes. In fact their list is only the size of the smallest odd prime. One of the robots sent a message to three other robots. These are futuristic robots with the ability to use quantum computing and so they don't mind prime factoring huge numbers.You can't do that though. Find out what message the robot sent to his friends. Flag is in flag{} format . Y   nos dan los siguientes datos : e: 65537 c1: 5024836662627906750454817701922271080214720765897113783786369197810770999608528443597447448508876214100063962982376037712548944474807897847869334582773452689962992522987755069402952836848501053684233233850594080254869 n1: 10603...

Criptografía (CVIII): Solución Reto 21

El  enunciado del vigésimoprimer reto que puse en este   post   era el siguiente : " Al igual que en el famoso  Western , en el Departamento de Sistemas de mi empresa cometieron dos errores a la hora de generar las claves RSA de los empleados y enviarles mensajes cifrados, posibilitando que un criptoanalista en ciertas circunstancias pueda descifrar algunos de estos últimos sin necesidad de conocer la clave privada de los usuarios que los reciben. ¿Puedes descifrar sin factorizar el módulo los dos criptogramas interceptados a sendos usuarios? ". Este reto es de criptografía y  su solución es : 1.- Ya decía en las pistas que puse para facilitar la resolución de este reto que podemos considerar que el "primer error" que cometió el Departamento de Sistemas de mi empresa fue  utilizar el mismo módulo para diversos usuarios, aunque con diferente exponente público para cada uno de ellos, y que el "segundo error" se produciría si, además, se envían a varios ...

Criptografía (CVII): Reto 22

Otro reto de dificultad media sobre criptografía . En esta ocasión se trata de descifrar un criptograma obtenido mediante un criptosistema consistente en la sustitución de pares de letras o digramas empleando una tabla o matriz generada por una clave. Como siempre, se admiten soluciones en forma de comentarios a esta entrada. Pasado un tiempo iré proporcionando pistas para su resolución, un máximo de tres, y posteriormente actualizaré este post con la solución. Reto 22 : "LO RD PL AY FA IR". Evidentemente, ya sabes a qué criptosistema me refiero (ver este post en el que lo explico), pero lo importante en este reto es descifrar el criptograma asociado al mismo, cosa que entiendo no es fácil sin conocer la clave. Para facilitar esta tarea te proporciono, también como recurso asociado al reto, texto en claro conocido correspondiente al criptograma. ¿Puedes descifrarlo?. Dificultad : Tipo :           Criptografía. Recursos :  -  Criptogr...

Criptografía (CVI): Reto 21

En esta ocasión  un reto de dificultad media sobre criptografía  en el que se vuelve a ver involucrado el algoritmo de cifrado asimétrico más utilizado en la actualidad, RSA . Como siempre, se admiten soluciones en forma de comentarios a esta entrada. Pasado un tiempo iré proporcionando pistas para su resolución, un máximo de tres, y posteriormente actualizaré este post con la solución. Reto 21 : "Cometieron dos errores". Al igual que en el famoso Western , en el Departamento de Sistemas de mi empresa cometieron dos errores a la hora de generar las claves RSA de los empleados y enviarles mensajes cifrados, posibilitando que un criptoanalista en ciertas circunstancias pueda descifrar algunos de estos últimos sin necesidad de conocer la clave privada de los usuarios que los reciben. ¿Puedes descifrar sin factorizar el módulo los dos criptogramas interceptados a sendos usuarios?. Dificultad : Tipo :          Criptografía. Recursos : - Us...