SHA224 Hash Tool

Other Hash Generator

MD2 MD4 MD5 SHA1 SHA224 SHA256 SHA384 SHA512/224 SHA512/256 SHA512 SHA3-224 SHA3-256 SHA3-384 SHA3-512 RIPEMD128 RIPEMD160 RIPEMD256 RIPEMD320 WHIRLPOOL TIGER128,3 TIGER160,3 TIGER192,3 TIGER128,4 TIGER160,4 TIGER192,4 SNEFRU SNEFRU256 GOST GOST-CRYPTO ADLER32 CRC32 CRC32B CRC32C FNV132 FNV1A32 FNV164 FNV1A64 JOAAT MURMUR3A MURMUR3C MURMUR3F XXH32 XXH64 XXH3 XXH128 HAVAL128,3 HAVAL160,3 HAVAL192,3 HAVAL224,3 HAVAL256,3 HAVAL128,4 HAVAL160,4 HAVAL192,4 HAVAL224,4 HAVAL256,4 HAVAL128,5 HAVAL160,5 HAVAL192,5 HAVAL224,5 HAVAL256,5 

The SHA-224 algorithm is a member of the Secure Hash Algorithm family, derived from SHA-256, and designed to generate a fixed-length 224-bit (28-byte) hash value from input data of arbitrary length. It is widely used in cryptography for data integrity verification, digital signatures, and password hashing.

Input Processing

The input message is first converted into a binary sequence and then padded to ensure its length is congruent to 448 modulo 512. Padding consists of appending a single "1" bit followed by enough "0" bits to reach the required length, and finally, a 64-bit representation of the original message length is appended. This ensures that the total message length becomes a multiple of 512 bits, which is essential for block processing.

Initialization

SHA-224 uses eight 32-bit words as its initial hash values. These constants are derived from the fractional parts of the square roots of the first eight prime numbers. Additionally, 64 constant words are defined for use in the main hash computation, each derived from the fractional parts of the cube roots of the first 64 prime numbers.

Message Schedule

The padded message is divided into 512-bit blocks. Each block is expanded into a 64-entry message schedule using bitwise operations such as right rotations and shifts, along with modular addition. This expansion introduces diffusion and ensures that every bit of the original message influences the final hash.

Main Compression Function

SHA-224 processes each 512-bit block in 64 rounds. In each round, intermediate values are updated using a combination of bitwise operations (AND, OR, XOR), modular addition, and predefined constants. The algorithm maintains eight working variables that are continuously modified by functions named "Ch," "Maj," "Σ0," and "Σ1," representing choice, majority, and two types of sigma functions that perform rotations and shifts.

Final Hash Computation

After all message blocks are processed, the working variables are added to the initial hash values to produce the final 224-bit hash output. The result is represented as a sequence of hexadecimal characters. This fixed-size hash ensures that even minor changes in the input message lead to completely different output hashes, providing strong collision resistance and preimage resistance.

Properties and Usage

SHA-224 is deterministic, meaning the same input always produces the same output. It is designed to be fast for software implementations while maintaining cryptographic security. SHA-224 is suitable for scenarios requiring a shorter digest than SHA-256, while preserving strong resistance against collision and preimage attacks. It is widely implemented in security protocols, certificate generation, and digital signatures where a 224-bit hash is sufficient.