NTRUSign
- 什么是NTRUSign1
NTRUSIGN [15] is a special instantiation of GGH with the compact lattices from the NTRU encryption scheme [12], which we briefly recall: we refer to [4,15] for more details. In the NTRU standards [4] being considered by IEEE P1363.1 [19], one selects . Let be the ring whose multiplication is denoted by Using resultants, one computes a quadruplet such that in and is invertible mod , where and have coefficients (with a prescribed number of 1), while and have slightly larger coefficients, yet much smaller than . This quadruplet is the NTRU secret key. Then the secret basis is the
following matrix:
where denotes the coefficient of of the polynomial . Thus, the lattice dimension is . Due to the special structure of , it turns out that a single row of is sufficient to recover the whole secret key. Because is chosen invertible mod , the polynomial is well defined in : this is the NTRU public key. Its fundamental property is that in . The polynomial defines the following (natural) public basis of the lattice:
which implies that the lattice volume is .
The messages are assumed to be hashed in . Let
be such a hash. We write with . It is shown in [15] that the vector which we would obtain by applying Babai’s round-off CVP approximation algorithm to using the secret basis can be alternatively computed using convolution products involving and the NTRU secret key . In practice, the signature is simply s and not , as can be recovered from thanks to .Besides, might be further reduced mod , but its initial value can still be recovered because it is such that ranges over a small interval (this is the same trick used in NTRU decryption). This gives rise for standard parameter choices to a signature
length of bits. While this signature length is much smaller than other 格上签名方案,例如GGH,但比起传统DSA方案,其签名还是太大。
-
NTRUSign的优势2
NTRUSign 是Hofstein 等人针对R-NSS 签名算法的缺点而改进的一种新型数字签名算法,该算法的签名值是两个私钥的线性组合,这样就能抵抗Gentry 和Szydlo 的攻击。NTRUSign的安全性是基于格上的近似最近向量问题( app-CVP) 的困难问题。
1.**生成
a) 随机选择,并且满足系数分别有个1,其余均为0。另外要求在
中可逆,逆元记做。为验证时使用的限。表示最高次数为的多项式,表示最高次数为、系数模的多项式。
b) 计算: 。
c) 计算,并且满足系数,且
,。
2.签名
a) 用函数作用于消息,得到上的多项式。
b) 计算 ,
c) 计算签名值 。
3.验签
a) 与签名一样用 函数对消息 进行变换得到。
b) 计算。
c) 验证,若成立,则 是消息 的签名。
-
运用
Todo