Secure Hash Standard - SHS: Federal Information Processing Standards Publication 180-4

  • Authors:
  • U.S. Department of Commerce; National Institute of Standards and Technology

  • Affiliations:
  • -;-

  • Venue:
  • Secure Hash Standard - SHS: Federal Information Processing Standards Publication 180-4
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

This National Institutes of Standards and Technology Federal Information Processing Standards Publication 180-4 Secure Hash Standard (SHS) specifies secure hash algorithms, SHA-1, SHA-224, SHA-256, SHA-384, SHA512, SHA-512/224 and SHA-512/256. All of the algorithms are iterative, one-way hash functions that can process a message to produce a condensed representation called a message digest. These algorithms enable the determination of a messages integrity: any change to the message will, with a very high probability, result in a different message digest. This property is useful in the generation and verification of digital signatures and message authentication codes, and in the generation of random numbers or bits. Each algorithm can be described in two stages: preprocessing and hash computation. Preprocessing involves padding a message, parsing the padded message into m-bit blocks, and setting initialization values to be used in the hash computation. The hash computation generates a message schedule from the padded message and uses that schedule, along with functions, constants, and word operations to iteratively generate a series of hash values. The final hash value generated by the hash computation is used to determine the message digest. The algorithms differ most significantly in the security strengths that are provided for the data being hashed. The security strengths of these hash functions and the system as a whole when each of them is used with other cryptographic algorithms, such as digital signature algorithms and keyed-hash message authentication codes, can be found in [SP 800-57] and [SP 800-107]. Additionally, the algorithms differ in terms of the size of the blocks and words of data that are used during hashing or message digest sizes.~