Teach Time Encyclopedia - Learn About Our World
Home Page
Teach Time
Featured Topics

United States
by state

CITYology

Academic Disciplines

Historical Timelines

Themed Timelines

Calendars

Reference Tables

Biographies

How-tos



Tuesday, December 02, 2008

Birthday attack

A birthday attack is an attack on a cryptographical system that exploits the mathematics underlying the birthday paradox. 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 arguments x1 and x2 with f(x1) = f(x2).

Digital signature systems are susceptible to a birthday attack. A message m is typically signed by first computing f(m), where f is a cryptographically secure hash function, and then using some secret key to sign f(m). Suppose Bob wants to trick Alice into signing a fraudulent contract. Bob prepares a fair contract m and a fraudulent one m'. He 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, he can create a huge number of variations on m which are all fair contracts. In a similar manner, he also creates a huge number of variations on the fraudulent contract m'. He then applies the hash function to all these variations until he finds a version of the fair contract and a version of the fraudulent contract which have the same hash value. He presents the fair version to Alice for signing. After Alice has signed, Bob takes the signature and attaches it to the fraudulent contract. This signature then "proves" that Alice signed the fraudulent contract.

To avoid this birthday attack, it is recommended that Alice slightly modify any digital contract that's presented to her, before signing it.

The birthday attack can also be used to compute 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.



Internet Hotel Solutions

Site Sponsors
AC Units
Baltimore Harbor
Boot Camp Grads
Bra Size
Burkittsville
College Hotels
Digital Harbor
Free Cell Phones
Golden Hare Travel
Golf Vacations
Golf Courses
Gourmet
Hair Styles
Hippodrome
iWoman
Lesson Plans
Maryland Hotels
MD Genealogy
Minor League Stuff
Motel Site
Ocean City
OC Real Estate
Old Agers
Office Supplies
Orlando
Pet Friendly Hotel
Room Prices
Savannah, GA
Ski Vacations
South Baltimore
Student Teaching
Travel Sources
University Hotels
Visit Military Bases
Washington, DC

Brought to you by NoChildLeftBehind.com and the Beaches and Towns Network, LLC.