The claw finding problem is a classical problem in
complexity theory, with several applications in
cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adve ...
. In short, given two functions ''f'', ''g'', viewed as
oracles
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The word '' ...
, the problem is to find ''x'' and ''y'' such as ''f''(''x'') = ''g''(''y''). The pair (''x'', ''y'') is then called a ''claw''. Some problems, especially in cryptography, are best solved when viewed as a claw finding problem, hence any algorithmic improvement to solving the claw finding problem provides a better attack on cryptographic primitives such as
hash function
A hash function is any function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called ''hash values'', ''hash codes'', ''digests'', or simply ''hashes''. The values are usually ...
s.
Definition
Let
be finite sets, and
,
two functions. A pair
is called a ''claw'' if
. The claw finding problem is defined as to find such a claw, given that one exists.
If we view
as random functions, we expect a claw to exist iff
. More accurately, there are exactly
pairs of the form
with
; the probability that such a pair is a claw is
. So if
, the
expected number
In probability theory, the expected value (also called expectation, expectancy, mathematical expectation, mean, average, or first moment) is a generalization of the weighted average. Informally, the expected value is the arithmetic mean of a l ...
of claws is at least 1.
Algorithms
If classical computers are used, the best algorithm is similar to a
Meet-in-the-middle attack, first described by
Diffie
Bailey Whitfield 'Whit' Diffie (born June 5, 1944), ForMemRS, is an American cryptographer and mathematician and one of the pioneers of public-key cryptography along with Martin Hellman and Ralph Merkle. Diffie and Hellman's 1976 paper ''New Dire ...
and
Hellman Hellman is a surname. Notable people with the surname include:
* Åke Hellman (1915–2017), Finnish centenarian, painter, and art professor
* Bonnie Hellman (born 1950), American actress
*C. Doris Hellman (1910–1973), American historian of scie ...
. The algorithm works as follows: assume
. For every
, save the pair
in a
hash table
In computing, a hash table, also known as hash map, is a data structure that implements an associative array or dictionary. It is an abstract data type that maps keys to values. A hash table uses a hash function to compute an ''index'', ...
indexed by
. Then, for every
, look up the table at
. If such an index exists, we found a claw. This approach takes time
and memory
.
If
quantum computer
Quantum computing is a type of computation whose operations can harness the phenomena of quantum mechanics, such as superposition, interference, and entanglement. Devices that perform quantum computations are known as quantum computers. Thoug ...
s are used, Seiichiro Tani showed that a claw can be found in complexity