In
cryptography, Tiger is a
cryptographic hash function designed by
Ross Anderson and
Eli Biham in 1995 for efficiency on
64-bit platforms. The size of a Tiger hash value is 192 bits. Truncated versions (known as Tiger/128 and Tiger/160) can be used for compatibility with protocols assuming a particular hash size. Unlike the
SHA-2 family, no distinguishing initialization values are defined; they are simply prefixes of the full Tiger/192 hash value.
Tiger2 is a variant where the message is padded by first appending a byte with the hexadecimal value of 0x80 as in
MD4
The MD4 Message-Digest Algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms. The initialism "MD" st ...
,
MD5 and
SHA, rather than with the hexadecimal value of 0x01 as in the case of Tiger. The two variants are otherwise identical.
Algorithm
Tiger is based on
Merkle–Damgård construction. The
one-way compression function operates on 64-bit words, maintaining 3 words of state and processing 8 words of data. There are 24 rounds, using a combination of operation mixing with XOR and addition/subtraction, rotates, and
S-box lookups, and a fairly intricate key scheduling algorithm for deriving 24 round keys from the 8 input words.
Although fast in software, Tiger's large S-boxes (four S-boxes, each with 256 64-bit entries totaling 8
KiB
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
) make implementations in hardware or
microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable i ...
s difficult.
Usage
Tiger is frequently used in
Merkle hash tree
In cryptography and computer science, a hash tree or Merkle tree is a tree in which every "leaf" (node) is labelled with the cryptographic hash of a data block, and every node that is not a leaf (called a ''branch'', ''inner node'', or ''inode'') ...
form, where it is referred to as TTH (
Tiger Tree Hash). TTH is used by many clients on the
Direct Connect and
Gnutella file sharing networks, and can optionally be included in the
BitTorrent metafile for better content availability.
Tiger was considered for inclusion in the
OpenPGP standard, but was abandoned in favor of
RIPEMD
RIPEMD (RIPE Message Digest) is a family of cryptographic hash functions developed in 1992 (the original RIPEMD) and 1996 (other variants). There are five functions in the family: RIPEMD, RIPEMD-128, RIPEMD-160, RIPEMD-256, and RIPEMD-320, of w ...
-160.
OID
refers to TIGER as having no
OID
Oid or OID may refer to:
* ''Oid'', a 2005 album by Space Manoeuvres
* Object identifier, an object used in computing to name an object
* Oracle Internet Directory, a directory service produced by Oracle Corporation
* OpenID, a shared identity se ...
, whereas the
GNU Coding Standards list TIGER as having OID
1.3.6.1.4.1.11591.12.2
. In the
IPSEC subtree, HMAC-TIGER is assigned OID
1.3.6.1.5.5.8.1.3
. No OID for TTH has been announced yet.
Byte order
The specification of Tiger does not define the way its output should be printed but only defines the result to be three ordered 64-bit integers. The "testtiger" program at the author's homepage was intended to allow easy testing of the test source code, rather than to define any particular print order. The protocols
Direct Connect and
ADC
ADC may refer to:
Science and medicine
* ADC (gene), a human gene
* AIDS dementia complex, neurological disorder associated with HIV and AIDS
* Allyl diglycol carbonate or CR-39, a polymer
* Antibody-drug conjugate, a type of anticancer treatment ...
as well as the program
tthsum
use little-endian byte order, which is also preferred by one of the authors.
Examples
In the example below, the 192-bit (24-byte) Tiger hashes are represented as 48
hexadecimal
In mathematics and computing, the hexadecimal (also base-16 or simply hex) numeral system is a positional numeral system that represents numbers using a radix (base) of 16. Unlike the decimal system representing numbers using 10 symbols, hexa ...
digits in
little-endian byte order. The following demonstrates a 43-byte
ASCII input and the corresponding Tiger hashes:
Tiger("The quick brown fox jumps over the lazy og") =
6d12a41e72e644f017b6f0e2f7b44c6285f06dd5d2c5b075
Tiger2("The quick brown fox jumps over the lazy og") =
976abff8062a2e9dcea3a1ace966ed9c19cb85558b4976d8
Even a small change in the message will (with very high probability) result in a completely different hash, e.g. changing to :
Tiger("The quick brown fox jumps over the lazy og") =
a8f04b0f7201a0d728101c9d26525b31764a3493fcd8458f
Tiger2("The quick brown fox jumps over the lazy og") =
09c11330283a27efb51930aa7dc1ec624ff738a8d9bdd3df
The hash of the zero-length string is:
Tiger("") =
3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3
Tiger2("") =
4441be75f6018773c206c22745374b924aa8313fef919f41
Cryptanalysis
Unlike MD5 or SHA-0/1, there are no known effective attacks on the full 24-round Tiger
except for pseudo-near collision. While MD5 processes its state with 64 simple 32-bit operations per 512-bit block and SHA-1 with 80, Tiger updates its state with a total of 144 such operations per 512-bit block, additionally strengthened by large S-box look-ups.
John Kelsey and
Stefan Lucks have found a collision-finding attack on 16-round Tiger with a time complexity equivalent to about 2
44 compression function invocations and another attack that finds pseudo-near collisions in 20-round Tiger with work less than that of 2
48 compression function invocations.
Florian Mendel et al. have improved upon these attacks by describing a collision attack spanning 19 rounds of Tiger, and a 22-round pseudo-near-collision attack. These attacks require a work effort equivalent to about 2
62 and 2
44 evaluations of the Tiger compression function, respectively.
See also
*
Hash function security summary
*
Comparison of cryptographic hash functions
Comparison or comparing is the act of evaluating two or more things by determining the relevant, comparable characteristics of each thing, and then determining which characteristics of each are similar to the other, which are different, and t ...
*
List of hash functions
*
Serpent
Serpent or The Serpent may refer to:
* Snake, a carnivorous reptile of the suborder Serpentes
Mythology and religion
* Sea serpent, a monstrous ocean creature
* Serpent (symbolism), the snake in religious rites and mythological contexts
* Serp ...
– a block cipher by the same authors
References
External links
*
{{Cryptography navbox , hash
Cryptographic hash functions