Академический Документы
Профессиональный Документы
Культура Документы
Background
Vocabulary
Map a data structure that associates keys
with values Hash Function a map that sends a key to the value generated by the key Collision when two keys map to the same value
Yellow paint
changed without changing the hash 4. It is difficult to find two messages with the same hash
History
SHA-1
Secure Hash Algorithm 1 One-way Hash Function
1993
definite chance of collisions Replaced by SHA-2 for high collision probability Retired from government use
1995
2001
Why SHA1?
CS332: Web Programming
Myslu/~sbkand09/SLURoomReview
Efficient Implementations of Cryptographic Algorithms Conference: IEEE Hardware Oriented Security & Trust Symposium, San Francisco
What is it?
160-bit SHA1 encrypted string
My secret message.
9216 429B 2812 8C6D 2C04 D700 6BA4 1B5B D946 44F8 94D0 68BF BCA6 CAE3 E394 3820 4458 58F8 EA60 6FC7
My secret message!
SHA-1 as an Algorithm
Successes
Maps variable-length input
Failures
Far more possible inputs
than outputs
Collisions can lead to data
corruption
Legal disputes over meaning of encrypted documents
Documents are
compressed
No need for key
complicated enough
Output
160 bits (~27) 2160 = 1 quindecillion 49 digits long 2 digits
there are approximately 144 quadrillion times more inputs than outputs. The birthday problem says theres a ~50% chance of a collision occurring in a collection of 280 messages.
Uses
File Checksum
Programs Seeds
Passwords
SHA1 Checksum/
The Algorithm
Example: Hello world!
Overview
f(t; B, C, D)=
f(t; B, C, D)= f(t; B, C, D)= f(t; B, C, D)=
00 <= t <= 19
20 <= t <= 39 40 <= t <= 59 60 <= t <= 79
Constants K(t)= K(t)= K(t)= K(t)= 5A827999 6ED9EBA1 8F1BBCDC CA62C1D6 00 <= t <= 19 20 <= t <= 39 40 <= t <= 59 60 <= t <= 79
general and Hello world! case, we will have: A = 67452301 B = EFCDAB89 C = 98BADCFE D = 10325476 E = C3D2E1F0
5A827999
Temp
B<<<30
Hello world!
H0 = D3486ae9
H1 = 136e7856 H2 = Bc422123
H3 = H3 + D
H4 = H4 + E
H3 = 85ea7970
H4 = 94475802
Password Hacking
SHA1-Encrypted Passwords
d0be 2dc4 21be 4fcd 0172
Password
apple
d0be 2dc4 21be 4fcd 0172
e5af ceea 3970 e2f3 d940 5baa 61e4 c9b9 3f3f 0682 250b 6cf8 331b 7ee6 8fd8
password
5baa 61e4 c9b9 3f3f 0682
Algorithm at a Glance
Divide string M(i) into 16 words: W(0) W(15)
Thank you!
Questions?