Title: Remember from last Tuesday
1Remember from last Tuesday
- RSA cryptosystem
- Encryption (Public)
2Remember from last Tuesday
M D(E(M)) ? M ? D(E(M)) ?
3But what about
- John,
- Please loan Alice 128,370.
- The Bank will guarantee it.
- -The Bank
4Digesting the message
- Alice
- M
- E(Digest(M))
- D(E(Digest(M)))
- The Bank
- M
- Digest(M)
- E(Digest(M))
Digest(M) D(E(Digest(M))) ? Digest(M) ?
D(E(Digest(M))) ?
5Hash Functions
6What is hash?
- hash
- \hash\
- transitive verb
- from French hacher, from Old French hachier, from
hache battle-ax, of Germanic origin - ca. 1590
- 1a to chop (as meat and potatoes) into small
pieces - 1b confuse, muddle
- 2 to talk about  review often used with over
or out
7What is hash?
- hash
- noun
- ca 1663
- 1 chopped food specifically  chopped meat
mixed with potatoes and browned - 2Â a restatement of something that is already
known - 3a hodgepodge, jumble
- 3b a confused muddle project
8What is hash?
- Hans Peter Luhn of IBM appears to have been the
first to use the concept - memo dated January 1953
- Robert Morris
- survey paper in CACM (Commuication of the
Association for Computing Machinery) (1968?) - elevated the term from technical jargon to formal
terminology. - SHA-1 (a type of hash function)
- domain is "flattened" and "chopped" into "words"
which are then "mixed"
9What is hash?
- Mathworld
- A hash function projects a value from a set with
many (or even an infinite number of) members to a
value from a set with a fixed number of (fewer)
members. - Hash functions are not reversible.
- Wikipedia
- Any well-defined procedure or mathematical
function for turning some kind of data into a
relatively small integer. - A fingerprint of a larger object
10Examples of Hash Functions
-
- MD5 (Message-Digest algorithm 5)
- SHA-1 (Secure Hash Algorithm-1)
http//scriptserver.mainframe8.com/md5.php
11Properties of CryptographicHash Functions
- Preimage Resistant
- Difficult to find message m given H(m)y
- Random but still Deterministic
- Second Preimage Resistant
- Weak-collision Resistant
- Given m, difficult to find n s.t. H(m)H(n)
- Collision Resistant
- Stong-collision Resistant
- Difficult to find m and n s.t. H(m)H(n)
- Birthday Attack
12Collisions in MD5
- A 128-bit hash can have 3.4 x 1038 possible
values - 340,282,366,920,938,463,463,374,607,431,768,211,45
6 - Guessing a collision in MD5 is less likely than a
million people correctly guess all the California
Lottery numbers every day for a billion trillion
years.
13Hash Tables
- Assigns memory locations
- Speeds searches
- Ex Social Security Numbers
-
- Must choose m intelligently
- Good distribution
- Minimal collisions
14Ex Social Security Numbers
- Choices for m
- Powers of 10
- relies on last several digits
- A number dividing
- same digits rearranged leads to collision
- Prime which approximates number of memory
locations - 5000 memory locations m4969
15Ex Social Security Numbers
- Collision Resolution Option 1
- Link memory locations together and search within
in bucket - Collision Resolution Option 2
- If occupied, define a set of new functions H1,
H2, H3, to find a new memory location
16Ex Social Security Numbers
-
- All memory locations checked
- Leads to clustering
- Double Hashing
- , where m-2 is
also prime -
17Ex Social Security Numbers
18Other uses of hash functions
- Storing passwords
- File integrity
- Duplicates
- Near duplicates
- Geometric hashing
- Audio identification
19Hash Function in the News
- MD5
- Replaced MD4 in 1991
- Flaw found in 1996
- SHA-1 suggested (160 bit vs 128 bit)
- Flaw found in 2004 (also found in SHA-1)
- Collision algorithm found in 2007
20SHA-3?
- In 2007 the National Institute of Standards
and Technology announced a contest to design a
hash function which will be given the name SHA-3
and be the subject of a Federal Information
Processing Standard.
21(No Transcript)