Birthday Attack

A birthday attack is a type of cryptographic attack which exploits the mathematics behind the birthday paradox, making use of a space-time tradeoff. Specifically, if a function yields any of n different outputs with equal probability and n is sufficiently large, then after evaluating the function for about 1.2 n different arguments we expect to have found a pair of different arguments x1 and x2 with f(x1) = f(x2), known as a collision. If the outputs of the function are distributed unevenly, then a collision can be found even faster (Bellare and Kohno, 2004). Digital signatures can be susceptible to a birthday attack. A message m is typically signed by first computing f(m), where f is a cryptographic hash function, and then using some secret key to sign f(m). Suppose Alice wants to trick Bob into signing a fraudulent contract. Alice prepares a fair contract m and a fraudulent one m'. She then finds a number of positions where m can be changed without changing the meaning, such as inserting commas, empty lines, spaces etc. By combining these changes, she can create a huge number of variations on m which are all fair contracts. In a similar manner, she also creates a huge number of variations on the fraudulent contract m'. She then applies the hash function to all these variations until she finds a version of the fair contract and a version of the fraudulent contract which have the same hash value, f(m) = f(m' ) . She presents the fair version to Bob for signing. After Bob has signed, Alice takes the signature and attaches it to the fraudulent contract. This signature then "proves" that Bob signed the fraudulent contract. To avoid this attack, the output length of the hash function used for a signature scheme can be chosen large enough so that the birthday attack becomes computationally infeasible, i.e. about twice as large as needed to prevent an ordinary brute force attack. It has also been recommended that Bob cosmetically modify any contract presented to her before signing. An argument against this recommendation is that users should be able to treat cryptographic operations as simple "black boxes" without having to worry about modifying their behavior. The birthday attack can also be used to speed up the computation of discrete logarithms. Suppose x and y are elements of some group and y is a power of x. We want to find the exponent of x that gives y. A birthday attack computes xr for many randomly chosen integers r and computes yx-s for many randomly chosen integers s. After a while, a match will be found: xr = yx-s which means y = xr+s. If the group has n elements, then the naive method of trying out all exponents takes about n/2 steps on average; the birthday attack is considerably faster and takes fewer than 2√n steps on average.

See also

References

  • Mihir Bellare, Tadayoshi Kohno: Hash Function Balance and Its Impact on Birthday Attacks. EUROCRYPT 2004: pp401–418

External Link

 

<< PreviousWord BrowserNext >>
dav pilkey
orgy
msn tv
holli
sheepdog trial
manukau
wedge
millimeter cloud radar
soyuz 18
jeb bush
john d. sloat
oroogu programming language
spidermonkey
computing paradigm
quantum indeterminacy
lana lang
locke
impossible wheel
sourdough
richard long (artist)
angkor wat
edward fitzgerald, 7th duke of leinster
scientific determinism
rosenheim (district)
wasa
vaasa
lactobacillus
actuarial science
laryngeal theory
hogen rebellion
thomas sowell
quark (star trek)
heiji rebellion
samuel youd
uss boise (cl 47)
franois sebastien charles joseph de croix, count of clerfayt
uss boise
greedy reductionism
minamoto
taira
anomalous perturbation
cundinamarca
darryl strawberry
minamoto no yoriie