CTF/Crypto

[RCTF 2022] guess

BaaaaaaaaaaaaaaaaaaaaaaarkingDog 2022. 12. 13. 15:18

$U[i] // T[i]$ is very similar with $x$. So just calculate $U[i] // T[i]$ and manually check the near integer which has the last 5 chars are _cfrt.

from sage.all import *
from pwn import *
from Crypto.Util.number import *

r = remote("190.92.234.114", 23334)

r.recvuntil(b" = ")
q = int(r.recvline())

r.recvuntil(b" = ")
T = eval(r.recvline())

r.recvuntil(b" = ")
U = eval(r.recvline())

for i in range(90):
  z = U[i] // T[i]
  print(long_to_bytes(z), z)
  for j in range(-3,3):
    print(long_to_bytes(j+z), j+z)

r.interactive()