cakeCTF
crypto
RSA問題
以下の値が貰える。
まず、二項定理より
となることがわかる。
ここで
となる。(
つまり法
となり、
次に、(1)から
となる。(フェルマーの小定理より、
ここで、
となり、
以上より、
from Crypto.Util.number import long_to_bytes, inverse, GCD
exec(open("./../distfiles/output.txt").read())
q = GCD(n, x-y)
r = GCD(n//q, y - (x - q))
p = n // (q * r)
assert n == p*q*r
d = inverse(0x10001, (p-1)*(q-1)*(r-1))
print(long_to_bytes(pow(c, d, n)))
$ python3 solver.py
b'cakeCTF{This_chall_is_inspired_by_this_music__Check_out!__https://www.youtube.com/watch?v=vLadkYLi8YE}\n'
問題名とフラグはTimmy TrumpetのDiamondsから