首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Schnorr签名的安全性是否取决于所使用的散列函数?

Schnorr签名的安全性是否取决于所使用的散列函数?
EN

Cryptography用户
提问于 2021-12-07 06:18:58
回答 1查看 589关注 0票数 4

当创建Schnorr签名时,数字r与消息连接,生成一个新值,然后对该值进行散列,以给出一个由e表示的数字。然后,将数字e连同在验证期间使用的一些其他数据发送给签名验证器。然后,签名验证器将尝试使用提供给他们的信息重新计算数字r,一旦他们这样做,他们将连接他们与接收到的消息计算的数字r,并使用相同的哈希函数获得一个表示为e\prime的输出。如果是e\prime = e,则签名是有效的。

我的问题是:所使用的散列函数是对签名算法的总体安全性有贡献,还是在签名时用于将数字r和消息的级联压缩为固定的位数?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2021-12-07 07:47:12

它确实有助于安全。特别是,哈希函数H必须具有“抗随机前缀预图像”的能力,才能避免只存在密钥伪造和“随机前缀第二预图像抵抗”,才能避免已知的消息伪造。

所谓“抗随机前缀预图像”,是指给定一个输出值e和一个随机r,很难找到像H(r||m)=e这样的m (在第二个预图像情况下,即使提供了一个示例m,也很难找到第二个示例)。

如果简单的话,我们可以选择任意的es,然后(按照Schnorr验证过程)计算r=g^sy^e,然后解决er的图像前问题,以获得(s,e)是有效签名的消息m。请注意,我们不一定控制m,因此此攻击是创建存在主义伪造的关键攻击,并且该方案不会是EUF安全的。

类似地,在第二种预映像情况下,我们可以为消息m获取现有签名,并使用H(r||m)=H(r||m’)创建第二条消息m’。签名(s,e)用于m也将作为m’的签名,并且该方案不会是EUF安全的。

票数 6
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/96488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档