Skip to content

FHE: 0 and 1

本题考查同态加密的分析。

pki=rip+si

其中 pkpublic_key 的值, ri 是一个随机数, si 是一个很小的数。

显然可以把 si 爆破然后求最大公约数。

这样会得到 p 的倍数,而先前给定了 p128 位,除以几个小因子就可以得到 p

ci=bi+ni+li

其中 bi 是每个比特, ni 是一个偶数小噪音, lip 倍数的大噪音。我们刚刚求出了 p ,模 p 就可以把 li 去掉,再对 2 取模就可以去掉 ni 。剩下的就是 bi ,拼起来就是我们要求的 flag 了。