首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RSA盲签名安全实现

RSA盲签名安全实现
EN

Cryptography用户
提问于 2021-10-23 10:49:43
回答 1查看 67关注 0票数 0

注意:我不是抄写员

我想检查我的RSA盲签名实现是否安全用于生产阶段的应用程序,我也有一些问题,我将非常希望得到回答。在过去的几天里,我做了大量的研究,并得出如下结论:

签名发布阶段

  1. 得到公钥;指数e,模n
  2. 生成一个小于模数n且相对于其素数的随机数D9
  3. 计算私有令牌m的散列
  4. 计算盲消息M = h(m).(r^emod n)
  5. 向服务器发送盲消息,该服务器将返回盲签名S = M^d mod n,其中d是私有指数。
  6. 计算非盲签名s = S.r^{-1}

如果我是正确的,这将以一个私有令牌m及其有效的签名s结束。

结果不会大于nQuestion 2:我可以在m上使用任何哈希算法吗?比如SHA-256?Question 3:服务器在签名之前不会散列或删除盲消息,对吗?

签名验证阶段

  1. 客户端发送其私有令牌m和签名s
  2. 服务器将检查签名s^e = h(m) mod n

Question 4:如何实现填充方案以防止由于Question 5的同态属性而伪造签名?<#>Question 5:此实现是否易受任何攻击?有什么改进吗?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2021-10-23 13:38:09

注意:我不是一个加密者,我想检查一下我的RSA盲签名实现是否安全,可以在生产阶段的应用程序中使用,我也有一些问题,我将非常感谢您的回答。

抱歉,但当我听到这样的问题时,听起来像是:

我不是外科医生,但我想做心脏手术。我已经做了很多研究了几天了,我想在我开始之前确保我了解基本知识.

好的,我不会那么糟糕,但听起来有点相似(如果它真的是一个“生产阶段的应用程序”,它可能并不是那么遥远。至少,如果你做错了心脏手术,你就会知道那是不管用的.

这是我的心上人,下面是一些答案:

问题1:如何将h(m)r^e \bmod n相乘?结果不会比n更好吗?

实际上,你把它们乘以模n

问题2:我能不能在m上使用任何散列算法,比如SHA-256?问题4:如何实现填充方案,以防止签名由于RSA的同态性而被伪造?

我把这两个问题结合在一起,因为它们的答案是一样的。h所需要的不是直接的SHA-256,而是一个您执行哈希(例如SHA-256),然后使用PKCS1.5SSA或PSS (取决于验证器所期望的)的结果。

问题3:在签署前,服务器不会散列或删除被蒙蔽的消息,这是否正确和安全?

在这种情况下,它是正确和安全的-如果服务器进行散列或填充消息,它会把事情搞砸。记住,您在步骤4中做了散列/填充操作。

另一方面(为了回到我最初的评论),如果你需要问这些问题,你可能还没有准备好自己去实现。

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

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

复制
相关文章

相似问题

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