Logo

MonoCalc

/

Tiger 192 Hash Calculator

Programming
Runs entirely in your browser 5 known-answer tests passing192-bit digest · 512-bit blocks · 24 rounds
43 characters · 43 bytes
How the text becomes bytes.
160 and 128 are truncations of the 192-bit digest.
Tiger appends 0x01; Tiger2 appends 0x80.
Rendering only — the digest computed is the same.
Hex or Base64. Case, whitespace and 0x are ignored.

Tiger/192

Tiger paddingLittle-endian
6d12a41e72e644f017b6f0e2f7b44c6285f06dd5d2c5b075
43 bytes in1 block21 padding bytes0.5 ms0.1 MB/s

Every rendering of this digest

FormValue
Tiger/1926d12a41e72e644f017b6f0e2f7b44c6285f06dd5d2c5b075
Tiger/1606d12a41e72e644f017b6f0e2f7b44c6285f06dd5
Tiger/1286d12a41e72e644f017b6f0e2f7b44c62
Base64bRKkHnLmRPAXtvDi97RMYoXwbdXSxbB1
Base32NUJKIHTS4ZCPAF5W6DRPPNCMMKC7A3OV2LC3A5I
Decimal2674457684939335239102129062869216648004700769642057412725
Big-endian twinf044e6721ea4126d624cb4f7e2f0b61775b0c5d2d56df085
Tiger2 twin976abff8062a2e9dcea3a1ace966ed9c19cb85558b4976d8

Binary: 01101101 00010010 10100100 00011110 01110010 11100110 01000100 11110000 00010111 10110110 11110000 11100010 11110111 10110100 01001100 01100010 10000101 11110000 01101101 11010101 11010010 11000101 10110000 01110101

Register breakdown

register a

6d12a41e72e644f0

register b

17b6f0e2f7b44c62

register c

85f06dd5d2c5b075

Digest bytes

6d
12
a4
1e
72
e6
44
f0
17
b6
f0
e2
f7
b4
4c
62
85
f0
6d
d5
d2
c5
b0
75

Bytes 1–8 are register a, 9–16 register b, 17–24 register c. Tiger/128 stops after byte 16 and Tiger/160 after byte 20 — both outlined above.

What was actually hashed

43 message bytesterminator 0x0112 zero bytes8-byte little-endian bit length= 1 block of 64 bytes

Avalanche effect

Flipping one bit of the first input byte changes 93 of 192 digest bits (48%).

5e937b57db70d9804e4031d3f371eb904d88ce7ecfdd41f3

How one 512-bit block is compressed

Pass 1

×5

rounds 1–8 over a, b, c

c ^= x; a -= S(c); b += S(c); b *= mul

Pass 2

×7

registers rotate to c, a, b

c ^= x; a -= S(c); b += S(c); b *= mul

Pass 3

×9

registers rotate to b, c, a

c ^= x; a -= S(c); b += S(c); b *= mul

A key schedule scrambles the eight message words between passes, and each block closes with the feed-forward a ^= aa; b -= bb; c += cc. Every S(c) is four lookups into the 256-entry Tiger S-boxes, indexed by four of the eight bytes of c.

Digest size in context

MD5

128 bits

SHA-1

160 bits

Tiger

192 bits

SHA-256

256 bits

Whirlpool

512 bits

Known-answer tests

Load a published vector to check this calculator against Anderson and Biham's own results.

InputTiger/192Status
Empty string3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3matches
"abc"2aab1484e8c158f2bfb8c5ff41b57a525129131c957b5f93matches
"Tiger"dd00230799f5009fec6debc838bb6a27df2b9d6f110c7937matches
Pangram6d12a41e72e644f017b6f0e2f7b44c6285f06dd5d2c5b075matches
64-byte alphabet48ceeb6308b87d46e95d656112cdf18d97915f9765658957matches
Not for new designs or for passwords

Tiger is a 1995 design that is no longer maintained or standardised. Pick SHA-256 or SHA-3 for anything new, and Argon2, scrypt or bcrypt for stored passwords — no unsalted, unstretched hash is safe there.

Digests are computed in this page. Nothing you type and no file you choose is uploaded anywhere.

A mismatch against another tool is usually padding (Tiger vs Tiger2) or byte order, not a corrupt file — both twins are shown above so you can check.

About This Tool

Tiger 192 Hash Calculator – 192-bit digests for text and files

The Tiger 192 hash calculator computes the Tiger cryptographic hash of anything you type or of a file you pick, without sending a single byte anywhere. Tiger was designed in 1995 by Ross Anderson and Eli Biham at Cambridge, and it was built for a world that was just starting to get 64-bit processors: where MD5 and SHA-1 shuffle 32-bit words, Tiger works on three 64-bit registers and four large lookup tables, which made it dramatically faster on Alpha and later on x86-64.

What Tiger actually does to your message

Your message is padded to a whole number of 512-bit blocks and each block is compressed into a state of three 64-bit registers named a, b and c. Each block runs through three passes of eight rounds — 24 rounds in total. A single round reads c ^= x, then a -= S(c), b += S(c) and finally b *= mul, where mul is 5 on the first pass, 7 on the second and 9 on the third. S(c) is four lookups into the four 256-entry S-boxes, indexed by four of the eight bytes of c. Between passes a non-linear key schedule stirs the eight message words, and each block closes with the feed-forward a ^= aa; b -= bb; c += cc. The final a, b and c are the 24-byte digest.

Tiger vs Tiger2: one byte of difference

Tiger terminates the message with the byte 0x01, a habit inherited from MD4. Tiger2 switched to 0x80, the convention that MD5, SHA-1 and SHA-2 all use. That is the only difference between them, yet it produces digests that share nothing: Tiger of the empty string is 3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3 while Tiger2 of the empty string is 4441be75f6018773c206c22745374b924aa8313fef919f41. This calculator shows both at once, so you can tell in one glance which one your source system used.

Byte order, the other reason digests disagree

The state is three 64-bit numbers, and implementations disagree about how to write them down. The reference implementation dumps the register file of a little-endian machine, so each register appears least-significant byte first — that is the form used by every published Tiger test vector and by the base32 hashes in urn:tree:tiger magnet links, and it is this calculator's default. Implementations that print each register as a 64-bit number instead emit the same 24 bytes with every 8-byte group reversed, which is why two tools can disagree on a digest neither of them got wrong. The byte order toggle renders both, and the result panel always lists the twin alongside the value you asked for.

Tiger/160 and Tiger/128

There is no separate short algorithm. Tiger/160 is the first 20 bytes of the 192-bit digest and Tiger/128 is the first 16, kept for older protocols with fixed-width checksum fields. Because they are simple prefixes, a correct Tiger/128 value will always be the opening 32 hex characters of the Tiger/192 value for the same input — a quick way to sanity-check a legacy record.

Where Tiger is still used

Tiger's most visible descendant is the Tiger Tree Hash (TTH), a Merkle tree over 1024-byte chunks that Direct Connect, DC++ and Gnutella use to identify and verify shared files. A TTH root is published as a 39-character base32 string, which is why this tool offers base32 output in the same encoding and byte order. Note that a TTH root is not a plain Tiger digest: the THEX rules prepend a 0x00 byte to every leaf and a 0x01 byte to every internal node before hashing, so this page computes the underlying primitive rather than the tree. Tiger also turns up in older archive formats, in checksum listings for long-lived downloads, and in interoperability tests against mhash and PHP's hash('tiger192,3', …).

Hashing files and comparing checksums

Switch to File mode to hash a local file of up to 5 MB by picking it or dropping it on the upload area. The bytes are read by the browser and hashed in the page; the file is never uploaded. Paste a published checksum into compare with hash and the tool normalises case, whitespace and a leading 0x, accepts hex or base64, and highlights the first hex character that differs. If the length does not match the variant you selected, it tells you that instead of reporting a bogus mismatch.

HMAC, salt and iteration

Entering an HMAC key switches the tool to HMAC-Tiger(key, message) using the standard ipad/opad construction over Tiger's 64-byte block size, with over-long keys hashed first, exactly as RFC 2104 specifies. A salt can be prepended or appended before hashing, and iterations repeats the hash over its own output up to ten thousand times. Both are there to make a point, not to secure anything.

Do not store passwords with Tiger
Iterating a fast hash a few thousand times is nothing like a real key-derivation function. Passwords belong in Argon2, scrypt or bcrypt, which are deliberately slow and memory-hard. Tiger, like MD5 and SHA-256, is far too fast to resist offline guessing.

Is Tiger still safe?

There is no published collision on the full 24-round Tiger, but there are attacks on reduced-round variants, and the design has not been maintained or standardised since the 1990s. It is a reasonable choice for the integrity checks and legacy interoperability it is already used for. For anything new, pick SHA-256 or SHA-3, both of which are standardised, widely reviewed and available natively in every browser and runtime.

Verify the calculator itself
The tool re-runs Anderson and Biham's published known-answer vectors on every load and shows the result. If the badge at the top does not say the tests are passing, do not trust the digests.

Frequently Asked Questions

Is the Tiger 192 Hash Calculator free?

Yes, Tiger 192 Hash Calculator is totally free :)

Can I use the Tiger 192 Hash Calculator offline?

Yes, you can install the webapp as PWA.

Is it safe to use Tiger 192 Hash Calculator?

Yes, any data related to Tiger 192 Hash Calculator only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How does this Tiger 192 hash calculator work?

The Tiger compression function runs entirely in your browser: your text or file is turned into bytes, padded to whole 512-bit blocks, and pushed through three passes of eight rounds over three 64-bit registers driven by the four published Tiger S-boxes. Nothing is uploaded, and the tool asserts the official Anderson and Biham test vectors on every render, so if the implementation were broken the self-check panel would say so instead of quietly returning a plausible digest.

Why does my Tiger digest not match the one from another tool?

Almost always one of two reasons. Either the other tool used Tiger2, which appends the 0x80 padding byte instead of Tiger's 0x01 and therefore produces a completely different digest, or it wrote the three 64-bit registers out in the opposite byte order. This calculator shows both padding schemes and both byte orders side by side so you can see immediately which convention your source used.

What is the difference between Tiger/192, Tiger/160 and Tiger/128?

They are the same computation. Tiger always produces 192 bits; Tiger/160 and Tiger/128 are simply the first 20 or 16 bytes of that digest, kept for legacy protocols that only had room for a shorter field. Because they are prefixes, a Tiger/128 digest will always match the first 32 hex characters of the Tiger/192 digest of the same input.

Is Tiger still secure enough to use?

Tiger has no practical collision attack against the full 24-round function, but it is a 1995 design that is no longer maintained or standardised, and reduced-round attacks exist. It is fine for the integrity checks and legacy interoperability it is used for today, such as Direct Connect and Gnutella tree hashes. For anything new, choose SHA-256 or SHA-3, and never use a plain hash of any kind to store passwords - use Argon2, scrypt or bcrypt.

What is the Tiger Tree Hash used in magnet links?

The Tiger Tree Hash (TTH) builds a Merkle tree over 1024-byte chunks of a file using Tiger as the leaf and node hash, and publishes the root as a 39-character base32 string in urn:tree:tiger magnet links. This tool computes plain Tiger, not the tree construction, so its digest will not equal a TTH root even for a small file: the THEX rules prepend a 0x00 byte to every leaf and a 0x01 byte to every internal node before hashing. The base32 rendering here is the same encoding and byte order TTH publishes, so it is the right form to compare once you have a genuine TTH value.

Can I hash a file, and does it leave my machine?

You can hash any single file up to 5 MB, by picking it or dropping it on the upload area, and its bytes never leave your machine - the file is read with the browser's own file API and hashed in the page. The tool reports the digest along with the file name, byte size, block count and how long the computation took.