[NSSRound#11 Basic]NTR
题面:
1 | import gmpy2 |
分析:
我们看一下能否用LLL格基规约算法,看Hermite定理是否满足:
$$
||v||\ \leq\ \sqrt{n}det(L)^{\frac{1}{n}}\
||v||\ =\ \sqrt{f^2+g^2}\
\sqrt{n}\ =\ \sqrt{2}\
det(L)^{\frac{1}{n}}\ =\ (1p-h0)^\frac{1}{2}
$$
通过粗略计算,||v||约等于2^1024^,因为有根号2右侧要比2^1024^大,所以可以使用LLL格基规约算法。
exp:
1 | from Crypto.Util.number import * |
第二届黄河流域网络安全技能挑战赛-easyntru
题面:
1 | from secret import flag |
分析:
我们还是先分析,是否满足了Hermite定理:
$$
(f,-k)*\begin{bmatrix}
1 & h\
0 & p
\end{bmatrix}\ =\ (f,g)\
题目中提供的\ g=512bits,f=1536bits,q=2048bits\
与上一题不同的是:上一题是f = \theta(g),但本题是f=O(g)
$$
更紧的界:
一般考虑的都是x = Θ(y),如果x=o(y)或者y=o(x)我们首先假设:
$$
x\ =\ \theta(P^\alpha)\
y\ =\ \theta(P^\beta)\
$$
根据上面构造的v * M = w:
$$
(x,k)*\begin{bmatrix}
1 & A\
0 & P
\end{bmatrix}=\ (x,y)
$$
有:
$$
w\ \approx\ (P^\alpha,P^\beta)
$$
推算一下的话可知道,w的长度其实是由"最大"的元素决定的,就是说假设
$$
\alpha>\beta\
有:\ ||w|| \approx\ \sqrt{2}P^a
$$
也就是如果对w和M的第二列同乘一个c,使得a=Θ(cb),