out=[[58831,56263,46164,34042],
[55579,48157,2944,35950 ],
[35507,38933,1938,2559 ],
[63419,51803,24116,33843],
[40423,47237,20923,43307],
[33599,43441,4324,37076 ],
[43541,40771,42833,32799],
[54869,40031,21847,16617],
[48953,34841,36031,3788 ],
[34403,58271,12464,55665],
[33457,61463,3512,47396 ],
[53047,57283,185,38171 ],
[52583,59281,45851,38603],
[60727,58043,36261,37164]]
import libnum
L=[]
for a,b,c,d in out[::-1]:tmp=libnum.solve_crt([c,d],[a,b])if not libnum.n2s(tmp).isascii():tmp+=a*bL.append(libnum.n2s(tmp))else:L.append(libnum.n2s(tmp)) # print(libnum.gcd(a,b))
print(L)
print(b''.join(L))
enc是四字节循环右移
outp是四字节x对p,q取模的结果,使用crt定理可破,但需注意的是x可能大于p*q,而crt求得的解是p*q范围内的最小整数解,所以需要时手动找一下。