Sunday, June 17, 2018

How SHA256 works

SHA-256
SHA-256 has the input message size < 2^64-bits. Block size is 512-bits and has a word size of 32-bits. The output is a 256-bit digest.

The compression function processes a 512-bit message block and a 256-bit intermediate hash value. There are two main components of this function: compression function and a message schedule.

The algorithm works as follows:

Pre-processing:

1.   Padding of the message, which is used to make the length of a block to 512-bits if it is smaller than the required block size of 512-bits.
2.   Parsing the message into message blocks that ensure that the message and its padding is divided into equal blocks of 512-bits.
3.   Setting up the initial hash value, which is the eight 32-bit words obtained by taking the first 32-bits of the fractional parts of the square roots of the first eight prime numbers. These initial values are randomly chosen to initialize the process and gives a level of confidence that no backdoor exists in the algorithm.


Hash computation:

1.   Each message block is processed in a sequence and requires 64 rounds to compute the full hash output. Each round uses slightly different constants to ensure that no two rounds are the same.
2.  First, the message schedule is prepared.
3.  Then, eight working variables are initialized.
4.  Then, the intermediate hash value is calculated.
5.  Finally, the message is processed, and the output hash is produced:


one round of SHA256 compression function


 
In the preceding diagram, abc,defg, and are the registers. Maj and Ch are applied bitwise.   performs the bitwise rotation. Round constants are Wjand Kj, which are added mod 2^32.

6 comments:

  1. I admire this article for the well-researched content and excellent wording. I got so involved in this material that I couldn’t stop reading. I am impressed with your work and skill. Thank you so much.cryptocurrency

    ReplyDelete
  2. Good day! I just wish to give you a huge thumbs up for
    the excellent information you've got right here on this post 카지노사이트

    ReplyDelete
  3. It¦s really a cool and useful piece of info. I am happy that you simply shared this useful information with us. 토토

    ReplyDelete

Thrilled to see that my book Mastering blockchain - the third edition is a best-seller at Amazon!  https://www.amazon.com/Mastering-Blockcha...