首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哈希然后加密还是加密哈希?

哈希然后加密还是加密哈希?
EN

Cryptography用户
提问于 2018-09-08 09:07:29
回答 1查看 5K关注 0票数 -2

我的问题是,如果我散列一个数据块,然后使用RSA加密它,那么它会不会有什么不同呢?

这个问题是关于站点到站点的传输,接收方需要对输入的数据进行解密。

哪种方法更安全,更难解密:散列加加密还是加密哈希?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-09-08 12:57:14

哈希然后加密还是加密哈希?

传统上,这意味着在(A)对称加密中,有以下一种:

$$C=E_K(M)并行H(M)$$ $C‘=E_K(M)\并行H(C')$$ $C’=E_K(M)\并行H(M)$$

第一个方案是微妙的不安全,可以在这个答案中看到。第二种方案显然不提供额外的身份验证,因为攻击者可以继续更改密文,并且由于哈希函数是公共的,所以重新计算哈希值。第三种方案也是不安全的,因为它泄露了关于$M$的信息,特别是如果您猜测$M$可能是什么,只需计算$H(M)$并检查它是否与提供的值匹配。

从你的评论中听起来,你的意思是以下两个方案:

$$C=E_K(H(M))$$ $C‘=H(E_K(M))$$

但是请注意,这两种方案在功能上实际上都不是加密方案,因为给定$H(M)$通常很难恢复$M$,因此目标接收方实际上无法解密消息,即使使用密钥也是如此。

问题是在接收者需要解密输入数据的情况下,静坐传输。

正如otus在注释中正确地注意到的,在这个例子中,您想要的实际上是认证加密,在这里,您,发送者,对一些数据进行加密,例如使用AES-GCM,然后接收方使用相同密钥的知识来解密数据。您可能还需要注意,您可能实际上不想自己处理AES-GCM本身,但是您可能希望在站点之间拥有一个“简单”的安全传输通道,这正是传输层安全 (TLS)设计的目的。如果您在这两个站点上有一个共享密钥,您可以很容易地使用一个用于TLS的PSK密码套件,如果没有并且您只有另一个站点的(真实的)公钥,您可以使用更标准的基于签名的密钥交换。

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

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

复制
相关文章

相似问题

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