[ksnctf] Math I

投稿日: 更新日:

問題

数値が与えらえました。m=??とあるのでmの値を求める問題です。

問題

解法

これはRSA暗号なので求められていないdの値を求める問題です。RSAについては以下の記事に詳しく書いています。

https://www.ochappa.net/posts/rsa-calc

解答のPythonのコードです。pycryptodomeというライブラリを利用しています。
※数字は省略してます。

from math import lcm
from Crypto.Util.number import long_to_bytes
e = 65537
n = 15173.....
c = 22554.....

p = 34111....
q = 44481....
l = lcm(p-1, q-1)
d = pow(e, -1, l)

m = pow(c, d, n)
print( long_to_bytes(m).decode() )

書いた人

profile_image

お茶の葉

物理とプログラミングが好きな人