CSICTF - By Computer Society of VIT is one of the finest CTFs hosted by India.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1.1 KiB

Quick Math

The main idea finding the flag is decrypting the RSA exponentiation.

Step-1:

Given statement

Ben has encrypted a message with the same value of 'e' for 3 public moduli - 
n1 = 86812553978993 n2 = 81744303091421 n3 = 83695120256591 and got the cipher texts - 
c1 = 8875674977048 c2 = 70744354709710 c3 = 29146719498409. Find the original message.

Step-2:

This article is quite renowned: https://www.johndcook.com/blog/2019/03/06/rsa-exponent-3/

Step-3:

So, I wrote exploit.py script to get the flag.

from sympy.ntheory.modular import crt

N = [86812553978993, 81744303091421, 83695120256591]
c = [8875674977048, 70744354709710, 29146719498409]
x = crt(N, c)[0]
print("Hex String:")
print(round(x ** (1. /3)))

After running the script by python3 exploit.py, I got a hex string.

Step-4:

I converted it online to ASCII here.

Step-5:

Finally the flag becomes: csictf{h45t4d}