Este reto tiene el título "Weak Primes", mi valoración sobre su dificultad es: ★★☆☆☆, y tras su resolución se obtienen 300 puntos.
Su enunciado dice lo siguiente:
It looks like our
flag.txt
file was encrypted with this an RSA public key. We were able to save the public key key.pub
though.
For some reason the public key file looks a little small...
Can we potentially decrypt the flag file even though we don't have the private key?.
Y nos dan los ficheros mencionados: flag.txt y key.pub.
Solución: utilizo openssl para obtener el módulo (n) y el exponente público (e) de la clave pública:
Can we potentially decrypt the flag file even though we don't have the private key?.
Y nos dan los ficheros mencionados: flag.txt y key.pub.
Solución: utilizo openssl para obtener el módulo (n) y el exponente público (e) de la clave pública:
Por tanto, el módulo (n) en hexadecimal es:
9a4810d098b1cbff75682a0a9dda84315197eb4daa58186256274c0361dce60d
9a4810d098b1cbff75682a0a9dda84315197eb4daa58186256274c0361dce60d
Y en decimal es (para ello utilizo uno de los muchos conversores de base online disponibles):
69783507722178132619820485783352049428969858299739616863075072996637000132109
Después, utilizo diverso software para factorizar el módulo (n), y, en este caso, el más eficiente es una herramienta online (factordb):
Como se observa los dos factores primos del módulo son los siguientes:
208032399874738495835162222153730872959
335445381412686320307419854821396116851
Como en el post anterior, una vez factorizado el módulo (n), ya estamos en disposición de obtener el exponente de la clave privada (d). Para ello utilizo el software "ExpoCrip" (Criptosistemas > RSA):
El exponente de la clave privada (d) es:
35967729791529290961821813468359077736893887537311695609401294089983649127573
Y, también como en el post anterior, ya podemos descifrar el criptograma. Para ello pulso el botón "Cifrar/Descifrar", en "Texto a cifrar/descifrar" incluyo el criptograma contenido en flag.txt y pulso el botón "Descifrar":
El resultado obtenido en formato texto es: flag{bad_primes_are_best_primes}.
69783507722178132619820485783352049428969858299739616863075072996637000132109
Después, utilizo diverso software para factorizar el módulo (n), y, en este caso, el más eficiente es una herramienta online (factordb):
Como se observa los dos factores primos del módulo son los siguientes:
208032399874738495835162222153730872959
335445381412686320307419854821396116851
Como en el post anterior, una vez factorizado el módulo (n), ya estamos en disposición de obtener el exponente de la clave privada (d). Para ello utilizo el software "ExpoCrip" (Criptosistemas > RSA):
El exponente de la clave privada (d) es:
35967729791529290961821813468359077736893887537311695609401294089983649127573
Y, también como en el post anterior, ya podemos descifrar el criptograma. Para ello pulso el botón "Cifrar/Descifrar", en "Texto a cifrar/descifrar" incluyo el criptograma contenido en flag.txt y pulso el botón "Descifrar":
El resultado obtenido en formato texto es: flag{bad_primes_are_best_primes}.
Comentarios
Publicar un comentario