As we know, hash algorithms can be used for authenticity of a message. In my understanding, since the message lengths are too large, we convert it into a hash value using hash algorithms and these hash values will be sent along with the message for authenticity. This is my understanding on why we use hashing algorithms.

But in SHA3-512, if input is 128 bits long then we are getting a hash value of 512 bits.

My question then is that if the message length is small then why are we increasing it's size to 512 bits?

2 Answers 2


Hashes are not about reducing the size of a message. Collisions and pre-imaging are the main problems with hashing. SHA3-512 is more resistant to pre-imaging and collision attacks than it's predecessors.

Hashes are about one-way converting a message that cannot be decrypted. The problem with smaller hash spaces is that you eventually run into collision problems.

As hardware gets faster, you end up brute-forcing more of the space much faster, and you will soon find that multiple messages may end up matching the same hash... which means you can then log in with any hash that matches, or authenticate something that should not be authenticated.

  • Can you tell me the 'theta' step of compression box.
    – june
    Commented Feb 18, 2016 at 3:50
  • @JAYANTISHARMA This pdf may be better at explaining it than me. Commented Feb 18, 2016 at 3:56
  • Where SHA3 is currently being used ?? What are the applications of SHA3 in the real world ?
    – june
    Commented Feb 18, 2016 at 4:02
  • SHA3 is an incredible fast algorithm though, especially compared SHA1 and SHA2. Commented Feb 18, 2016 at 7:38

The direct answer as to why your 128-bits are converted into 512-bits from this hash, is because it is padded with 1s and 0s at different steps to be congruent (mathematically) with even variable numbers (mod 512).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .