MiniL CTF 2023 - Modular
Modular
比较简单的题目
from data import t,h,p
m = len(t)
s = Matrix(ZZ, m+3 ,m+2)
for i in range(m):
s[i, i] = p
s[-3, i] = t[i]
s[-2,i] = h[i]
s[-1,i] = h[i]*t[i]
s[-2,-2] = 1
s[-1,-1] = 2**2048
s = s.BKZ(block_size = 10)
k = 0
for i in range(m+3):
v = s[i]
if v[-1] == 2**2048:
s = v[-2]
print(bytes_to_long(sha256(long_to_bytes(s)).digest()[:16]))
得到 shared_secret,直接 AES 正常解密即可。