SHA3-384 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 SHA3-384 algorithm is a member of the SHA-3 family, which is based on the Keccak cryptographic function. It generates a fixed-length hash output of 384 bits for any arbitrary-length input data. The design of SHA3-384 emphasizes resistance to collision, preimage, and second-preimage attacks, adhering to modern cryptographic security standards.

Initialization

SHA3-384 starts with the definition of a state matrix consisting of 5×5 lanes, each 64 bits in length. All bits of the state are initially set to zero. The algorithm uses a sponge construction that alternates between absorbing input data and squeezing output bits to produce the final hash.

Padding and Absorption

The input message is first padded using a multi-rate padding rule, appending a delimiter followed by zeros and ending with a final bit to ensure the message length is a multiple of the rate. The padded message is then divided into blocks of a specified rate size. Each block is XORed with the corresponding portion of the state and transformed using the Keccak-f permutation function.

Permutation Function

The core of SHA3-384 is the Keccak-f[1600] permutation, which consists of 24 rounds of operations including Theta, Rho, Pi, Chi, and Iota. Theta mixes columns to ensure diffusion, Rho and Pi provide rotations and permutations of bits across the state, Chi introduces non-linear transformation per row, and Iota adds round constants to prevent symmetry. This sequence guarantees thorough mixing of input data into the internal state.

Squeezing

After all input blocks have been absorbed and permuted, the state enters the squeezing phase. The output hash is extracted from the state in sequential blocks equal to the algorithm's rate until 384 bits are collected. If additional output is required, further permutations are applied, continuing the extraction process without altering the integrity of the initial hash.

Security Properties

SHA3-384 provides strong cryptographic properties, including preimage resistance, meaning it is computationally infeasible to determine the original input from its hash. It also ensures collision resistance, where no two distinct inputs produce the same hash, and second-preimage resistance, preventing a second input from producing the same hash as a given input. Its sponge-based construction offers robustness against length-extension attacks common in previous SHA families.

Performance Considerations

The algorithm is optimized for both hardware and software implementations. Its parallelizable operations and predictable memory usage make SHA3-384 suitable for secure applications requiring fixed-length hash outputs, such as digital signatures, message authentication codes, and secure random number generation.