首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对SHA256块电路进行排序以获得包含多个512个块的消息的散列?

如何对SHA256块电路进行排序以获得包含多个512个块的消息的散列?
EN

Cryptography用户
提问于 2017-12-07 18:50:23
回答 1查看 834关注 0票数 3

我试图获得一个电路来计算大于512位的输入消息的SHA256散列。

我理解消息是如何填充的(我们添加了一个1和一些零,然后最后的64位包含原始消息的长度等等)。

做完填充物后,我有两个512位块.

我想使用这里提供的电路(用于压缩功能):

https://www.cs.bris.ac.uk/Research/CryptographySecurity/MPC/

电路的前512条是输入,最后256条是输出。我想我知道如何使用第一个街区的电路。我可以简单地将我的第一个512位块输入到电路的前512根线中。

但我不知道如何进行第二个街区。特别是,我需要更新h0、h1、.、h7值,但不知道如何更新,因为我无法确定与它们对应的电线在电路中的位置。

任何帮助都将不胜感激。

EN

回答 1

Cryptography用户

发布于 2017-12-07 20:37:28

一个人不能完全按照给定的方式使用电路。

要构建两个块SHA-256,第二轮必须输入第二512位(填充)块和第一轮256位输出。最后的散列是第二轮的256位输出.

对于第一轮,在给定的电路中,唯一可变的输入是512位第一块;其他256个输入位总是被设置为由SHA-256定义的常数,等于0x6a09e667bb67ae853c6ef372a54ff53a510e527f9b05688c1f83d9ab5be0cd19,,因此这256个输入位在给定的方程中丢失。

我猜您必须重写(或从另一个源)定义SHA-256循环的方程,然后检查当上一轮256位输入设置为正确的常数时,您的工作等效于给定的方程。

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

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

复制
相关文章

相似问题

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