There is only one hex string that maps to 0x0 at step 8. I present below.
Blog Summary
In my prior blog (https://steemit.com/mathematics/@magnebit/deep-dive-into-sha256-step-1-present-the-algorithm-in-color), I presented a graphical representation to explain SHA256. In this blog, I will show that there is only one hex string that maps to the zero hash (0x0) at Step 8; and none map to zero has in earlier steps. In next blog, I will extend this approach to a 16 step zero hash function (using a calculation, not a search method or reduction algo) to show 2^(32*5) collisions.
SHA256 8 Step Zero Hash
There is only one solution to step 8 that maps to 0x0. In order to map to 0x0, the Final Hash (A&B&C&D&E&F&G&H) at Step 8 (denote as H8) must be as pictured (in blue at bottom). This is because we add the initial hash value (H0) is added to the Step 8 to get the SHA256 Hash.
Given the fixed intermediate hash of H8 implies -> D7 and H7 have to be the specific values. Likewise, the resulting H7 implies -> D6 and H6 must the specific values. And on-and-on until you get the intermediate hash of H4 (A$&B$&C4&D4&E4&F4&G4&H4).
As a result, there is only one solution to step 8 zero hash. One easy way to think of this is that (w1,w2,w3,w4) are setting up the values in H4 that (w5, w6, w7, and w8) will then transpose over to the final resulting hash. This concept will be an important concept for next post (16 steps with collision).
Blue = Static Values
Green = Message (hex input) (2E194E1FC83518D521131826897D682E5EECB3CDF27DD075EE8DC46CAB577844)
Yellow = Calculated Values
Grey = Calculations (Intermediate)
(right click and open in new tab for zoom-in)
SHA256-LowerStep Zero Hash
This is more of a footnote. For steps 0 to 7, there is no zero hash. It is impossible to arrive at the final hash value needed to produce the zero hash. This should be somewhat obvious as how the 8-step was shown above.