TIGER128,4 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 Tiger128,4 algorithm is a cryptographic hash function designed to generate a fixed-size 128-bit output from arbitrary input data. It is derived from the original Tiger algorithm, which focuses on high performance on 64-bit architectures while maintaining strong security characteristics. The algorithm processes data in blocks of 512 bits, applying multiple rounds of transformations and mixing to ensure diffusion and resistance to cryptanalytic attacks.

Data Preparation

Before hashing, the input data is padded to a multiple of 512 bits. Padding involves appending a single '1' bit followed by a series of '0' bits and concluding with a representation of the original input length. This ensures alignment with the internal processing requirements and guarantees that any change in input produces a distinctly different output.

Initialization

The algorithm initializes four 64-bit state variables. These variables act as the internal hash state and are modified during the compression function's operations. The initial values are fixed constants derived from mathematical properties chosen to maximize avalanche effects and minimize predictable patterns.

Block Processing

Each 512-bit block is divided into eight 64-bit words. The algorithm applies a series of three passes over each block, using non-linear S-box lookups, key schedule mixing, and arithmetic operations such as addition, XOR, and rotation. Each pass modifies the state variables, ensuring that every input bit influences multiple output bits. The sequence of transformations is repeated for all blocks sequentially.

Finalization

After all blocks are processed, a final mixing stage combines the four state variables to produce the 128-bit hash. This stage ensures that small differences in input result in large differences in output, maintaining collision resistance. The final output is represented as a 128-bit binary value, which can also be encoded as hexadecimal for practical applications.

Security and Efficiency

Tiger128,4 is optimized for speed on 64-bit processors and maintains strong cryptographic properties. It offers resistance against known collision and preimage attacks within the bounds of its 128-bit output size. The design prioritizes efficient computation while preserving thorough diffusion, making it suitable for integrity checks, digital signatures, and secure storage of hashed data.