首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用私钥加密原始签名消息有什么缺点吗?

用私钥加密原始签名消息有什么缺点吗?
EN

Cryptography用户
提问于 2018-04-05 22:42:15
回答 2查看 58关注 0票数 0

为签名目的加密原始消息是否有任何缺点。据我所知,这并不能提供实际的保障,而任何持有公钥的人士(如果公开的话,世界上任何一个都是公开的),但似乎这些公钥只限于TLS隧道及所需的密码进入,这似乎是一小层保障。好处很小,但有什么坏处吗?

EN

回答 2

Cryptography用户

发布于 2018-04-06 06:11:09

实际上有一些缺点,主要取决于原始消息的大小。

因此,回想一下,为了签名目的,散列(或消息摘要)用于对文档进行签名。因此,假设消息很大,我们可能面临几个可能的问题:

1.效率:回顾签名方案使用比对称加密慢得多的非对称加密。因此,如果你要签署整个信息,这可能需要一些时间。(散列或消息摘要的大小相对较小,因此签名速度很快)

2.完整性:由于电文太大(对于签名空间而言),可能需要将电文分割成单独的块(单独的电文)。现在,必须以不同的方式对创建的每条消息进行签名,并且可能需要保留消息块的顺序,这是额外的开销。

3.兼容性:有些签名方案(如RSA )不能对位字符串进行操作,因此增加了重新配置消息或更改签名方案的额外困难。

当然,如果消息是小的,它可以解决前两个问题与小的间接费用,但它可能更好地使用密钥共享加密方案与签名,而不是必须通过所有这些开销。

如果这引起其他问题,请告诉我,干杯!

票数 1
EN

Cryptography用户

发布于 2018-04-06 11:52:02

由于签名值与私钥的大小完全相同,因此无法直接使用私钥加密。所以消息+签名太大了,私钥无法加密。因此,首先需要使用混合密码系统(例如AES + RSA)进行加密。

通常需要对签名进行加密,否则对手可能会尝试重构消息并根据已知的签名对其进行验证。

通常,加密不会使用私钥执行:

  • 这样做的操作可能根本不可用(例如,如果密钥存储在硬件中,或者如果库具有更高级别的API);
  • 如果私钥(仅)包含CRT参数(而不是私有指数),则操作可能失败;
  • 如果执行需要一个小的甚至特定的公共指数,操作可能会失败;
  • 操作可能选择错误的填充机制进行签名;
  • 操作可能不会受到保护,以防止可用于查找私钥的侧通道攻击。

如果您需要将公钥保密,那么您也可以使用对称加密:分发对称密钥并为收件人执行经过身份验证的加密。如果需要的话,仍然可以对明文消息签名。

当然,您可以使用公钥加密对称密钥,并在希望加密消息的一方解密该密钥。然后,就可以用来执行经过身份验证的加密。它仍然会使用公钥,但它避免了上面列出的许多缺点。

当然,使用TLS也是一种选择,尽管您仍然需要控制谁被允许进入。

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

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

复制
相关文章

相似问题

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