Post
Topic
Board Development & Technical Discussion
Re: SHA256 Scheduler?
by
hhanh00
on 03/03/2015, 16:36:16 UTC
Why does it need to be expanded if the input has already been compressed/padded?

You state that is expands it into an array of 64 x 4 bytes which turns into the message schedule.

From what I'm seeing, the data in the message scheduler is also part of the data you're compressing but it is somehow separate from the "compressor" as labeled in the diagram.
This "Expander", which is part of the message scheduler, takes in "Wt", a chunk of data from the message schedule and "Kt", a predefined constant. I assume I understand this correctly?
These diagrams have to be read as if everything executes in parallel because that's what the hardware will do. Each box contains one word (= 4 bytes) and on the next clock tick, every arrow is 'executed' and it repeats. It's not a description of the algorithm that someone will use to write code but it shows how to do it in hardware. It is better for finding the critical paths, i.e. the paths that take the longest time because they involve more steps.