首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用64位字号比使用32位字号的优点

使用64位字号比使用32位字号的优点
EN

Cryptography用户
提问于 2016-09-30 10:34:47
回答 1查看 1.1K关注 0票数 3

我正在学习密码散列函数,还有一些关于SHA-2的问题。

沙-256使用8个32位字.沙512使用8个64位的单词.

SHA-512之所以使用64位单词有什么具体原因吗?为什么不是16个32字呢?

如果64位单词比32位词有其优势的话。为什么SHA-256不使用4个64位的单词?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2016-09-30 12:07:48

使用64位字大小超过32位字大小的主要原因是速度,在顺序操作字的CPU上。增加一倍的字大小可以希望在给定的时间内,在64位的CPU上执行的基本位操作的数量增加一倍,比如使用AMD64 64指令集的一个。

另外,对于一个算法的内部状态(如散列)中的常量字数,状态中的位数是该算法的两倍大,这可以改善密码电阻(如果适用其他条件;特别是,至少是多个比特操作的两倍);并且允许更大的结果。

因此,对于大输入,SHA-512通常比64位CPU上的SHA-256更快,尽管SHA-512使用25%的回合,并且有两次多比特的状态,这可以说更安全。

评论更新:字大小对安全性没有直接影响。作为一个例子,可以将SHA-512重新表示为使用32位的单词,结果是相同的安全性;32位CPU的编译器可以自动完成这一任务。

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

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

复制
相关文章

相似问题

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