【picoCTF】~Mind your Ps and Qs~ WriteUp

問題文

In RSA, a small e value can be problematic, but what about N? Can you decrypt this? values

valuesファイルが与えられる。

Decrypt my super sick RSA:
c: 861270243527190895777142537838333832920579264010533029282104230006461420086153423
n: 1311097532562595991877980619849724606784164430105441327897358800116889057763413423
e: 65537

WriteUp

nが小さいとどうなるかと問題文に書いてあるので、factorddbを使ってnを因数分解してみる。

pとqが分かったので、計算するだけ。

from Crypto.Util.number import inverse, long_to_bytes

c = 861270243527190895777142537838333832920579264010533029282104230006461420086153423
n = 1311097532562595991877980619849724606784164430105441327897358800116889057763413423
e = 65537
p = 1955175890537890492055221842734816092141
q = 670577792467509699665091201633524389157003

d = inverse(e, (p - 1) * (q - 1))
print(long_to_bytes(pow(c, d, n)))