Tiger is a 192-bit cryptographic hash function designed by Ross Anderson and Eli Biham in 1995 for efficiency on 64-bit platforms. Three passes of eight rounds mix a 512-bit block through four published 64-bit S-boxes.
| Property | Value |
|---|---|
| Category | Hash Functions |
| Sub-category | Classical Hash |
| Security status | Not classified |
| Complexity | Intermediate |
| Inventor | Ross Anderson, Eli Biham |
| Year | 1995 |
| Origin | 🌐 International |
| Source | algorithms/hash/tiger.js |
| Parameter | Supported values |
|---|---|
| Output sizes | 24 bytes (192 bits) |
| Hash sizes | 24 bytes (192 bits) |
Status: not classified — treat as unverified.
| Issue | Description | Mitigation |
|---|---|---|
| Reduced-round collisions | Collisions are known for Tiger reduced to 19 of its 24 rounds; full Tiger has no published practical break, but newer designs are preferred for new work. | — |
14 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — NESSIE set 1 vector 0 - empty string
| Field | Value |
|---|---|
input |
(empty) |
expected |
3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3 |
Vector 2 — NESSIE set 1 vector 1 - ‘a’
| Field | Value |
|---|---|
input |
61 |
expected |
77befbef2e7ef8ab2ec8f93bf587a7fc613e247f5f247809 |
Vector 3 — NESSIE set 1 vector 2 - ‘abc’
| Field | Value |
|---|---|
input |
616263 |
expected |
2aab1484e8c158f2bfb8c5ff41b57a525129131c957b5f93 |
Vector 4 — NESSIE set 1 vector 3 - ‘message digest’
| Field | Value |
|---|---|
input |
6d65737361676520646967657374 |
expected |
d981f8cb78201a950dcf3048751e441c517fca1aa55a29f6 |
Vector 5 — NESSIE set 1 vector 4 - ‘abcdefghijklmnopqrstuvwxyz’
| Field | Value |
|---|---|
input |
6162636465666768696a6b6c6d6e6f707172737475767778797a |
expected |
1714a472eee57d30040412bfcc55032a0b11602ff37beee9 |
Vector 6 — NESSIE set 1 vector 5 - 56-byte ‘abcdbcde…nopq’
| Field | Value |
|---|---|
input |
61626364626364656364656664656667 65666768666768696768696a68696a6b 696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f 6d6e6f706e6f7071 |
expected |
0f7bf9a19b9c58f2b7610df7e84f0ac3a71c631e7b53f78e |
Vector 7 — NESSIE set 1 vector 7 - 80-byte ‘1234567890’ repeated eight times
| Field | Value |
|---|---|
input |
31323334353637383930313233343536 37383930313233343536373839303132 33343536373839303132333435363738 39303132333435363738393031323334 35363738393031323334353637383930 |
expected |
1c14795529fd9f207a958f84c52f11e887fa0cabdfd91bfd |
Vector 8 — NESSIE set 2 vector 8 - one zero byte
| Field | Value |
|---|---|
input |
00 |
expected |
5d9ed00a030e638bdb753a6a24fb900e5a63b8e73e6c25b6 |
Vector 9 — NESSIE set 2 vector 440 - 55 zero bytes, last length that fits one block
| Field | Value |
|---|---|
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000 |
expected |
a4ee394b2a208e9b0a74c6d57568e470f6e658c44689fc63 |
Vector 10 — NESSIE set 2 vector 448 - 56 zero bytes, first length needing a second block
| Field | Value |
|---|---|
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000 |
expected |
19208aef976eea1a1296ab46bb8519e4e35cc3d26d2b574f |
Vector 11 — NESSIE set 2 vector 504 - 63 zero bytes, one under the block size
| Field | Value |
|---|---|
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000000000000000000000000 |
expected |
a857dd168b22b65a6dd2ea8035c4edc4b890453d14ba6052 |
Vector 12 — NESSIE set 2 vector 512 - 64 zero bytes, exactly the block size
| Field | Value |
|---|---|
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
33ff9966ddd692427a9bc4d611f3c74cf629a0544a1a7ed7 |
Vector 13 — NESSIE set 2 vector 520 - 65 zero bytes, one over the block size
| Field | Value |
|---|---|
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00 |
expected |
759d79778fa748f8e828a568c45b7e2774a6052e0a4a06a7 |
Vector 14 — NESSIE set 2 vector 1016 - 127 zero bytes, two blocks plus padding block
| Field | Value |
|---|---|
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000000000000000000000000 |
expected |
00a569ccadb17662483ca36230bcc6956ba5c1d5595c044a |