SHA3-256 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-256 algorithm is a member of the Secure Hash Algorithm 3 family standardized by NIST. It produces a fixed-length output of 256 bits regardless of the input size. The algorithm is based on the Keccak sponge construction, which differs significantly from previous SHA-2 algorithms by using a permutation-based approach rather than a Merkle–Damgård structure.

Initialization

SHA3-256 starts by defining a state array of 5x5 lanes, each lane containing 64 bits. All bits in the state array are initialized to zero. The algorithm also sets parameters for the rate and capacity, where the rate defines the number of input bits absorbed per permutation, and the capacity ensures security against collision and preimage attacks. For SHA3-256, the rate is 1088 bits and the capacity is 512 bits.

Absorbing Phase

The input message is first padded using the multi-rate padding rule to match the required block size. The padded message is divided into blocks of the rate length. Each block is XORed into the corresponding portion of the state array. After XORing a block, a permutation function called Keccak-f[1600] is applied to the state array, mixing the bits thoroughly to ensure diffusion.

Permutation Function

The Keccak-f[1600] permutation consists of 24 rounds. Each round performs five operations sequentially: Theta, Rho, Pi, Chi, and Iota. Theta computes parity of columns and applies XOR to mix columns. Rho rotates each lane by a fixed offset. Pi rearranges lanes to achieve dispersion across the state array. Chi introduces nonlinearity by combining rows using bitwise operations. Iota adds round constants to prevent symmetry and ensure uniqueness of the transformation per round.

Squeezing Phase

After processing all input blocks, the algorithm enters the squeezing phase. Output bits are extracted from the state array at the defined rate. If more output is required, additional permutations of the state are performed. For SHA3-256, the first 256 bits of the squeezed output are used as the final hash value. The output is deterministic, collision-resistant, and preimage-resistant according to the security properties defined by the sponge construction.

Properties and Security

SHA3-256 guarantees fixed-length output, strong avalanche effect, and resistance to length-extension attacks. Its permutation-based sponge construction provides flexibility for variable output lengths and improved resistance against differential and linear cryptanalysis compared to older hash algorithms.