Skip to content

GCL ​

本题考查 LCG 相关分析。

FLAG 转数字得到 m。 素数 p ,两随机数 a,b ,序列 {sn} 满足关系:$$s_{n}=as^{-1}_{n-1}+b;\pmod{p}$$ gift 给了连续 10 项 s,我们需要求出下一项作为 key 解密 c=m^key

和 LCG 类似,我们肯定要先求出 p 出来。

si=asi−1−1+b(modp)sisi−1=a+bsi−1(modp)(消掉模逆)si+1si=a+bsi(modp)(再写一项)si+1si−sisi−1=b(si−si−1)(modp)(消掉a)si(si+1−si−1)=b(si−si−1)(modp)(整理一下)si+1∗(si+2−si)=b(si+1−si)(modp)(再写一项)

交叉相乘把 b 消掉:

si(si+1−si−1)(si+1−si)−si+1(si+2−si)(si−si−1)=0(modp)

求 GCD 可以求出 p (也可能是倍数),之后也可以求出 b,a