首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想知道SHA(散列)和AES(可逆加密)计算成本的差异。

我想知道SHA(散列)和AES(可逆加密)计算成本的差异。
EN

Cryptography用户
提问于 2016-12-15 14:14:32
回答 1查看 385关注 0票数 1

我希望使用HMAC- low 256或AES/CBC/PKCS5Padd检测字符串的非法修改,以降低计算成本。哪一个是最好的答案?

我计划用以下格式之一将数据保存在DB中

代码语言:javascript
复制
| METHOD                   | original STRING | VALIDATION BY  |  
|--------------------------|-----------------|----------------|  
| H:= HMAC-SHA256          | org-string      | H(org-string)  |  
| A:= AES/CBC/PKCS5Padding | org-string      | A(org-string)  |  

如果无法解密A(org-string),则修改原始字符串。

这个问题很好地解释了SHA和AES的区别。

EN

回答 1

Cryptography用户

发布于 2016-12-15 14:27:16

在AES/CBC模式下,攻击者可以修改字符串,并使解密结果没有错误;唯一可能导致解密失败的是解密后的非法填充模式,并且:

  • 如果明文字符串至少有17字节长,则攻击者可以在不影响填充字节的情况下修改字符串(从而留下有效的填充模式)。
  • 或者,改变整个密文随机留下1/256的机会,在解密后,密码文本的最后字节是01 (这是一个有效的填充模式)。

因此,要回答您的问题,HMAC- the 256是最好的答案,因为AES根本不做这项工作。如果您的密码工具包提供了它,您可能需要考虑AES-CMAC (这是解决这个问题的另一个正确答案)。

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

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

复制
相关文章

相似问题

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