42、NTRUEncrypt与NTRUSign:性能、安全与参数优化

NTRUEncrypt与NTRUSign:性能、安全与参数优化

1. NTRUSign签名方案基础

1.1 公私钥签名误差

在使用公钥生成签名时,存在一定的预期误差,其表达式为 $\sqrt{\frac{N}{12q}}$ 。通过合理选择 $|f|$ 和 $q$ ,私钥能够产生比公钥更小的签名误差。接收方可以通过确保签名误差小于公钥可能产生的误差,来验证签名是否由私钥所有者生成,从而确认签名的有效性。

1.2 抵御选择消息攻击

为防止选择消息攻击,消息代表 $m$ 需以伪随机的方式从输入文档 $D$ 生成。当前NTRUSign推荐使用简单的全域哈希函数。具体步骤如下:
1. 将消息哈希为“种子”哈希值 $H_m$ 。
2. 若参数设置导致签名失败概率较大,可引入随机化机制。额外输入随机数长度 $r_{len}$ 。
- 签名时:
1. 如前所述哈希消息生成 $H_m$ 。
2. 选择由 $r_{len}$ 个随机比特组成的随机数 $r$ 。
3. 以计数器模式对 $H_m | r$ 进行哈希,得到足够的输出作为消息代表 $m$ 。
4. 签名时检查签名是否能正确验证:
- 若签名验证失败,使用不同的 $r$ 重复上述过程。
- 若签名验证成功,将元组 $(r, s)$ 作为签名发送。
- 验证时:验证者使用接收到的 $r$ 和计算得到的 $H_m$ 作为输入,以计数器模式进行哈希,生成与签名者相同的消息代表 $m$ 。

随机数 $r$ 的大小应与签名失败概率相关。在大多数情况下, $r_{len} = 8$ 或 $32$ 通常足够,但

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值