SlideShare a Scribd company logo
Cryptography and Network Security 1
CS549:
Cryptography and Network
Security
© by Xiang-Yang Li
Department of Computer Science,
IIT
Cryptography and Network Security 2
Notice©
This lecture note (Cryptography and Network Security) is prepared by
Xiang-Yang Li. This lecture note has benefited from numerous
textbooks and online materials. Especially the “Cryptography and
Network Security” 2nd edition by William Stallings and the
“Cryptography: Theory and Practice” by Douglas Stinson.
You may not modify, publish, or sell, reproduce, create derivative
works from, distribute, perform, display, or in any way exploit any
of the content, in whole or in part, except as otherwise expressly
permitted by the author.
The author has used his best efforts in preparing this lecture note.
The author makes no warranty of any kind, expressed or implied,
with regard to the programs, protocols contained in this lecture
note. The author shall not be liable in any event for incidental or
consequential damages in connection with, or arising out of, the
furnishing, performance, or use of these.
Cryptography and Network Security 3
Cryptography and Network
Security
Hash Algorithms
Xiang-Yang Li
Cryptography and Network Security 4
Hash Function
 Map a message to a smaller value
 Requirements
 Be applied to a block of data of any size
 Produced a fixed length output
 H(x) is easy to compute (by hardware, software)
 One-way: given code h, it is computationally infeasible
to find x: H(x)=h
 Weak collision resistance: given x, computationally
infeasible to find y so H(x)=H(y)
 Strong collision resistance: Computationally
infeasible to find x, y so H(x)=H(y)
Cryptography and Network Security 5
Hash Algorithms
 see similarities in the evolution of hash
functions & block ciphers
 increasing power of brute-force attacks
 leading to evolution in algorithms
 from DES to AES in block ciphers
 from MD4 & MD5 to SHA-1 & RIPEMD-160 in hash
algorithms
 likewise tend to use common iterative
structure as do block ciphers
Cryptography and Network Security 6
Basic Uses of Hash Function
 Six basics usages
 Ek(M||H(M))
 Confidentiality and authentication
 M|| Ek(H(M))
 Authentication
 M|| EKRa(H(M))
 Authentication and digital signature
 Ek(M|| EKRa(H(M)))
 Authentication, digital signature and confidentiality
 M||H(M||S)
 Authentication (S shared by both sides)
 Ek(M||H(M||S))
 Confidentiality and authentication
Cryptography and Network Security 7
Birthday Attacks
 If 64-bits hash code is used
 On average, how many messages need to try to find one
match the intercepted hash code?
 Birthday paradox
 A will sign a message appended with m-bits hash code
 Attacker generates some variations of fraud message,
also variations of good message
 Find pair of message each from the two sets messages
 Such that they have the same hash code
 Give good message to A to get signature
 Replace good message with fraud message
Cryptography and Network Security 8
Analysis
 Using birthday attack, given 64-bits hash
code
 How many message variations needed so the success
probability is large, say 90%?
Cryptography and Network Security 9
Examples
 Simple hash functions
 XOR of the input message
 H(M)=X1 X2 … Xm-1 Xm
 But not secure
 Ym=H(M)  Y1 Y2 … Ym-1 has same hash value as
(X1X2 … Xm-1 Xm), where Yi is any value
Cryptography and Network Security 10
Cont.
 Based on DES, block chaining technique
 Rabin, 1978
 Divide message M into fix-sized blocks Mi
 Assume total n data blocks
 H0=initial value
 Hi=Emi[Hi-1]
 Hn is the hash value
 Birthday attack still applies
 If still 64-bits code used
Cryptography and Network Security 11
More Attacks
 Birthday attack applied if chosen plaintext
 Meet in the middle attack if known
plaintext
 Known signed hash code G
 Construct n-2 desired message block Qi
 Compute Hi=EQi[Hi-1]
 Generate 2m/2 random blocks X
 For each X, Compute Hn-1=EX[Hn-2]
 Generate 2m/2 random blocks Y
 For each Y, Compute H’n-1=DY[G]
 Find X, Y such that Hn-1= H’n-1
 Then Q1, Q2,…Qn-2, X,Y is a fraud message
Cryptography and Network Security 12
Security
 The size of hash code determines security
 128bits is not secure
 Currently, most use 160 bits hash code
 Now recommend 256 bits
 Attack MAC
 Objective is to find valid (x, Ck(x)) pair
 Attack the key space: roughly 2k, k =key size
 Attack the MAC value
Cryptography and Network Security 13
More Hash Algorithms
 Algorithms
 Message Digest:MD5 (was mostly widely used)
 Secure Hash Algorithm: SHA-1 (from MD4)
 RIPEMD-160
 HMAC
Cryptography and Network Security 14
MD5
 designed by Ronald Rivest (the R in RSA)
 latest in a series of MD2, MD4
 produces a 128-bit hash value
 until recently was the most widely used
hash algorithm
 in recent times have both brute-force & cryptanalytic
concerns
 specified as Internet standard RFC1321
Cryptography and Network Security 15
MD5 Overview
1. pad message so its length is 448 mod 512
2. append a 64-bit length value to message
3. initialise 4-word (128-bit) MD buffer
(A,B,C,D)
4. process message in 16-word (512-bit)
blocks:
 using 4 rounds of 16 bit operations on message block
& buffer
 add output to buffer input to form new buffer value
5. output hash value is the final buffer value
Cryptography and Network Security 16
MD5 Overview
Cryptography and Network Security 17
MD5 Compression Function
 each round has 16 steps of the form:
a = b+((a+g(b,c,d)+X[k]+T[i])<<<s)
 a,b,c,d refer to the 4 words of the buffer,
but used in varying permutations
 note this updates 1 word only of the buffer
 after 16 steps each word is updated 4 times
 where g(b,c,d) is a different nonlinear
function in each round (F,G,H,I)
 T[i] is a constant value derived from sin
Cryptography and Network Security 18
MD5 Compression Function
Cryptography and Network Security 19
MD4
 precursor to MD5
 also produces a 128-bit hash of message
 has 3 rounds of 16 steps vs 4 in MD5
 design goals:
 collision resistant (hard to find collisions)
 direct security (no dependence on "hard" problems)
 fast, simple, compact
 favours little-endian systems (eg PCs)
Cryptography and Network Security 20
Strength of MD5
 MD5 hash is dependent on all message bits
 Rivest claims security is good as can be
 known attacks are:
 Berson 92 attacked any 1 round using differential
cryptanalysis (but can’t extend)
 Boer & Bosselaers 93 found a pseudo collision (again
unable to extend)
 Dobbertin 96 created collisions on MD compression
function (but initial constants prevent exploit)
 conclusion is that MD5 looks vulnerable
soon
Cryptography and Network Security 21
Bad news
 Chinese authors (Wang, Feng, Lai, and Yu) reported a
family of collisions in MD5
 (fixing the previous bug in their analysis), and also reported
that their method can efficiently (2^40 hash steps) find a
collision in SHA-0.
 August Crypto 2004,
 MD5 is fatally wounded; its use will be phased out.
SHA-1 is still alive but the vultures are circling. A
gradual transition away from SHA-1 will now start.
The first stage will be a debate about alternatives,
leading to a consensus among practicing
cryptographers about what the substitute will be.
 On 1 March 2005, Arjen Lenstra, Xiaoyun Wang and Benne
de Weger demonstrated[10] construction of two X.509
certificates with different public keys and the same MD5
hash, a demonstrably practical collision. The construction
included private keys for both public keys.
 A few days later, Vlastimil Klima described[11] an improved
algorithm, able to construct MD5 collisions in a few hours on
a single notebook computer.
 On 18 March 2006, Klima published an algorithm[12] that can
find a collision within one minute on a single notebook
computer, using a method he calls tunneling.
Cryptography and Network Security 22
Cryptography and Network Security 23
Why collisions are bad
 An example of what you might do with this.
 You could request an SSL certificate (for your real identity)
from a certificate authority. After the response comes back,
you can then use that response (which is based on the MD5
of your identity+key) to "authenticate" a carefully chosen
different certificate, one which claims that you are
LargeBankOrSoftwareCorp., but which has the same MD5 as
your real identity. You can then present this to other people
in order to convince them that you are someone whom you
are not.
 Another example,
 core internet routers use md5 to exchange passwords. I
simply sniff the md5sum, and if I can find a string that
generates the same sum, easily, I can send my own routing
update that takes down the internet. More examples, since a
LOT of applications use md5, but you get the idea.
Cryptography and Network Security 24
Further detail
 Obviously the above attack isn't quite so simple, but
this research makes it *possible*. Before, it was
believed to be sufficiently difficult to find a collision,
that nobody worried about it. Now they are saying its
feasible to do it in hours.
 The question hanging around right now is that these
researchers managed to find collisions easily, but not
for an artbitrary string. The questions is how long
before someone modifies this method to find any
colllision. That is how much time the world has to
move away.
 More at
 http://www.freedom-to-tinker.com/archives/000664.html
Cryptography and Network Security 25
What to do next
 The U.S. National Institute of Standards
and Technology is having a competition for
a new cryptographic hash function.
 The phrase "one-way hash function" might
sound arcane and geeky, but hash functions
are the workhorses of modern
cryptography.
 Submissions will be due in fall 2008, and a
single standard is scheduled to be chosen
by the end of 2011.
 we have an interim solution in SHA-256.
Cryptography and Network Security 26
Secure Hash Algorithm (SHA-1)
 SHA was designed by NIST & NSA in
1993, revised 1995 as SHA-1
 US standard for use with DSA signature
scheme
 standard is FIPS 180-1 1995, also Internet RFC3174
 nb. the algorithm is SHA, the standard is SHS
 produces 160-bit hash values
 now the generally preferred hash algorithm
 based on design of MD4 with key
differences
Cryptography and Network Security 27
SHA Overview
1. pad message so its length is 448 mod 512
2. append a 64-bit length value to message
3. initialise 5-word (160-bit) buffer (A,B,C,D,E)
to
(67452301,efcdab89,98badcfe,10325476,c3d2e1f0)
4. process message in 16-word (512-bit)
chunks:
 expand 16 words into 80 words by mixing & shifting
 use 4 rounds of 20 bit operations on message block &
buffer
 add output to input to form new buffer value
5. output hash value is the final buffer value
Cryptography and Network Security 28
SHA-1 Compression Function
 each round has 20 steps which replaces the
5 buffer words thus:
(A,B,C,D,E) <-
(E+f(t,B,C,D)+(A<<5)+Wt+Kt),A,(B<<30),C,D)
 a,b,c,d refer to the 4 words of the buffer
 t is the step number
 f(t,B,C,D) is nonlinear function for round
 Wt is derived from the message block
 Kt is a constant value derived from sin
Cryptography and Network Security 29
SHA-1 Compression Function
Cryptography and Network Security 30
SHA-1 verses MD5
 brute force attack is harder (160 vs 128
bits for MD5)
 not vulnerable to any known attacks
(compared to MD4/5)
 a little slower than MD5 (80 vs 64 steps)
 both designed as simple and compact
 optimised for big endian CPU's (vs MD5
which is optimised for little endian CPU’s)
Cryptography and Network Security 31
Revised Secure Hash Standard
 NIST have issued a revision FIPS 180-2
 adds 3 additional hash algorithms
 SHA-256, SHA-384, SHA-512
 designed for compatibility with increased
security provided by the AES cipher
 structure & detail is similar to SHA-1
 hence analysis should be similar
 See
 http://en.wikipedia.org/wiki/SHA_hash_fu
nctions
 For history of attaching this one.
Cryptography and Network Security 32
Cryptography and Network Security 33
RIPEMD-160
 RIPEMD-160 was developed in Europe as part of
RIPE project in 96
 by researchers involved in attacks on MD4/5
 initial proposal strengthen following analysis to
become RIPEMD-160
 somewhat similar to MD5/SHA
 uses 2 parallel lines of 5 rounds of 16 steps
 creates a 160-bit hash value
 slower, but probably more secure, than SHA
Cryptography and Network Security 34
RIPEMD-160 Overview
1. pad message so its length is 448 mod 512
2. append a 64-bit length value to message
3. initialise 5-word (160-bit) buffer (A,B,C,D,E) to
(67452301,efcdab89,98badcfe,10325476,c3d2e1f0)
4. process message in 16-word (512-bit) chunks:
 use 10 rounds of 16 bit operations on message block & buffer –
in 2 parallel lines of 5
 add output to input to form new buffer value
5. output hash value is the final buffer value
Cryptography and Network Security 35
RIPEMD-160 Round
Cryptography and Network Security 36
RIPEMD-160 Compression Function
Cryptography and Network Security 37
RIPEMD-160 Design Criteria
 use 2 parallel lines of 5 rounds for
increased complexity
 for simplicity the 2 lines are very similar
 step operation very close to MD5
 permutation varies parts of message used
 circular shifts designed for best results
Cryptography and Network Security 38
RIPEMD-160 verses MD5 & SHA-1
 brute force attack harder (160 like SHA-1
vs 128 bits for MD5)
 not vulnerable to known attacks, like SHA-1
though stronger (compared to MD4/5)
 slower than MD5 (more steps)
 all designed as simple and compact
 SHA-1 optimised for big endian CPU's vs
RIPEMD-160 & MD5 optimised for little
endian CPU’s
Cryptography and Network Security 39
Keyed Hash Functions as MACs
 have desire to create a MAC using a hash
function rather than a block cipher
 because hash functions are generally faster
 not limited by export controls unlike block ciphers
 hash includes a key along with the message
 original proposal:
KeyedHash = Hash(Key|Message)
 some weaknesses were found with this
 eventually led to development of HMAC
Cryptography and Network Security 40
HMAC
 specified as Internet standard RFC2104
 uses hash function on the message:
HMACK = Hash[(K+ XOR opad) ||
Hash[(K+ XOR ipad)||M)]]
 where K+ is the key padded out to size
 and opad, ipad are specified padding constants
 overhead is just 3 more hash calculations than the
message needs alone
 any of MD5, SHA-1, RIPEMD-160 can be used
Cryptography and Network Security 41
HMAC Overview
Cryptography and Network Security 42
HMAC Security
 know that the security of HMAC relates to
that of the underlying hash algorithm
 attacking HMAC requires either:
 brute force attack on key used
 birthday attack (but since keyed would need to observe
a very large number of messages)
 choose hash function used based on speed
verses security constraints
Cryptography and Network Security 43
Summary
 have considered:
 some current hash algorithms: MD5, SHA-1, RIPEMD-
160
 HMAC authentication using hash function

More Related Content

What's hot (20)

PPT
Network security cryptographic hash function
Mijanur Rahman Milon
 
PPT
6.hash mac
Virendrakumar Dhotre
 
PPTX
Hash function
Harry Potter
 
PDF
The MD5 hashing algorithm
Bob Landstrom
 
PPT
Hash Function & Analysis
Pawandeep Kaur
 
PDF
18CS2005 Cryptography and Network Security
Kathirvel Ayyaswamy
 
PPTX
Public key cryptography and message authentication
CAS
 
PPT
Cryptography and Message Authentication NS3
koolkampus
 
PDF
20CS2008 Computer Networks
Kathirvel Ayyaswamy
 
PPT
Message Authentication
Ram Dutt Shukla
 
PPT
01204427-Hash_Crypto (1).ppt
GnanalakshmiV
 
PDF
Hashing Algorithm: MD5
ijsrd.com
 
PDF
Is unit 5_message authentication and hash functions
Sarthak Patel
 
PDF
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
PPT
Message authentication
CAS
 
PPT
Hash crypto
Harry Potter
 
PPT
Message Authentication: MAC, Hashes
Shafaan Khaliq Bhatti
 
PPTX
Cryptography Ashik
Ashik Iqbal
 
PPTX
Hash Function
stalin rijal
 
PPTX
5. message authentication and hash function
Chirag Patel
 
Network security cryptographic hash function
Mijanur Rahman Milon
 
Hash function
Harry Potter
 
The MD5 hashing algorithm
Bob Landstrom
 
Hash Function & Analysis
Pawandeep Kaur
 
18CS2005 Cryptography and Network Security
Kathirvel Ayyaswamy
 
Public key cryptography and message authentication
CAS
 
Cryptography and Message Authentication NS3
koolkampus
 
20CS2008 Computer Networks
Kathirvel Ayyaswamy
 
Message Authentication
Ram Dutt Shukla
 
01204427-Hash_Crypto (1).ppt
GnanalakshmiV
 
Hashing Algorithm: MD5
ijsrd.com
 
Is unit 5_message authentication and hash functions
Sarthak Patel
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
Message authentication
CAS
 
Hash crypto
Harry Potter
 
Message Authentication: MAC, Hashes
Shafaan Khaliq Bhatti
 
Cryptography Ashik
Ashik Iqbal
 
Hash Function
stalin rijal
 
5. message authentication and hash function
Chirag Patel
 

Viewers also liked (13)

PPTX
Network security & cryptography
Rahulprasad Yadav
 
PPT
Cryptography and Network Security
Ramki M
 
PPT
Hash mac algorithms
James Wong
 
PPT
Lecture 11
Hemin Essa
 
PDF
CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
PDF
Hash Functions, the MD5 Algorithm and the Future (SHA-3)
Dylan Field
 
PPTX
Hash Techniques in Cryptography
Basudev Saha
 
PPT
Cryptography
gueste4c97e
 
PPTX
Cryptography
Shivanand Arur
 
PPTX
Cryptography.ppt
kusum sharma
 
PPTX
RSA & MD5 algorithm
Siva Rushi
 
PPTX
Cryptography and network security
patisa
 
PPT
Network Security and Cryptography
Adam Reagan
 
Network security & cryptography
Rahulprasad Yadav
 
Cryptography and Network Security
Ramki M
 
Hash mac algorithms
James Wong
 
Lecture 11
Hemin Essa
 
CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
Hash Functions, the MD5 Algorithm and the Future (SHA-3)
Dylan Field
 
Hash Techniques in Cryptography
Basudev Saha
 
Cryptography
gueste4c97e
 
Cryptography
Shivanand Arur
 
Cryptography.ppt
kusum sharma
 
RSA & MD5 algorithm
Siva Rushi
 
Cryptography and network security
patisa
 
Network Security and Cryptography
Adam Reagan
 
Ad

Similar to Hash (20)

PPT
Hash crypto
Fraboni Ec
 
PPT
Hash crypto
Luis Goldster
 
PPT
Hash crypto
David Hoen
 
PPT
Hash crypto
Tony Nguyen
 
PPT
Hash crypto
James Wong
 
PPT
Hash crypto
Young Alista
 
PPT
Hash_Crypto.ppt
ssuser5297f5
 
PPTX
Cryptography-Hash-Functions.pptx
AngeloChangcoco
 
PDF
cryptography summary hash function slides
sarala9
 
PPTX
UNIT III - Cryptography Notes Asymmetric Crypto.pptx
Ramkrishna121962
 
PDF
Applied cryptanalysis - everything else
Vlad Garbuz
 
PPT
An Introduction to Hashing: A basic understanding
prabhatv1
 
ODP
CISSP Week 20
jemtallon
 
PPTX
IS413 Topic 5.pptx
WarrenPhiri4
 
PPTX
Unit - 4.pptx
mounikanarra3
 
PPTX
All details of cryptography and all the topics of cryptography was explained
khitishKumarSahoo1
 
PPTX
Message Digest message digest ppttsx.pptx
LaxmipujaBiradar
 
PDF
IRJET - Hash Functions and its Security for Snags
IRJET Journal
 
PPTX
Cryptographic Chronicles: Unveiling Definitions, Algorithms, Attacks, and App...
zachdwg
 
PDF
Secure 3 kany-vanda
Vanda KANY
 
Hash crypto
Fraboni Ec
 
Hash crypto
Luis Goldster
 
Hash crypto
David Hoen
 
Hash crypto
Tony Nguyen
 
Hash crypto
James Wong
 
Hash crypto
Young Alista
 
Hash_Crypto.ppt
ssuser5297f5
 
Cryptography-Hash-Functions.pptx
AngeloChangcoco
 
cryptography summary hash function slides
sarala9
 
UNIT III - Cryptography Notes Asymmetric Crypto.pptx
Ramkrishna121962
 
Applied cryptanalysis - everything else
Vlad Garbuz
 
An Introduction to Hashing: A basic understanding
prabhatv1
 
CISSP Week 20
jemtallon
 
IS413 Topic 5.pptx
WarrenPhiri4
 
Unit - 4.pptx
mounikanarra3
 
All details of cryptography and all the topics of cryptography was explained
khitishKumarSahoo1
 
Message Digest message digest ppttsx.pptx
LaxmipujaBiradar
 
IRJET - Hash Functions and its Security for Snags
IRJET Journal
 
Cryptographic Chronicles: Unveiling Definitions, Algorithms, Attacks, and App...
zachdwg
 
Secure 3 kany-vanda
Vanda KANY
 
Ad

Recently uploaded (20)

PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
PCU Keynote at IEEE World Congress on Services 250710.pptx
Ramesh Jain
 
PDF
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
Basics of Electronics for IOT(actuators ,microcontroller etc..)
arnavmanesh
 
PPTX
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Machine Learning Benefits Across Industries
SynapseIndia
 
PPTX
Using Google Data Studio (Looker Studio) to Create Effective and Easy Data Re...
Orage Technologies
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PCU Keynote at IEEE World Congress on Services 250710.pptx
Ramesh Jain
 
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
Basics of Electronics for IOT(actuators ,microcontroller etc..)
arnavmanesh
 
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
The Future of Artificial Intelligence (AI)
Mukul
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Machine Learning Benefits Across Industries
SynapseIndia
 
Using Google Data Studio (Looker Studio) to Create Effective and Easy Data Re...
Orage Technologies
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 

Hash

  • 1. Cryptography and Network Security 1 CS549: Cryptography and Network Security © by Xiang-Yang Li Department of Computer Science, IIT
  • 2. Cryptography and Network Security 2 Notice© This lecture note (Cryptography and Network Security) is prepared by Xiang-Yang Li. This lecture note has benefited from numerous textbooks and online materials. Especially the “Cryptography and Network Security” 2nd edition by William Stallings and the “Cryptography: Theory and Practice” by Douglas Stinson. You may not modify, publish, or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted by the author. The author has used his best efforts in preparing this lecture note. The author makes no warranty of any kind, expressed or implied, with regard to the programs, protocols contained in this lecture note. The author shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these.
  • 3. Cryptography and Network Security 3 Cryptography and Network Security Hash Algorithms Xiang-Yang Li
  • 4. Cryptography and Network Security 4 Hash Function  Map a message to a smaller value  Requirements  Be applied to a block of data of any size  Produced a fixed length output  H(x) is easy to compute (by hardware, software)  One-way: given code h, it is computationally infeasible to find x: H(x)=h  Weak collision resistance: given x, computationally infeasible to find y so H(x)=H(y)  Strong collision resistance: Computationally infeasible to find x, y so H(x)=H(y)
  • 5. Cryptography and Network Security 5 Hash Algorithms  see similarities in the evolution of hash functions & block ciphers  increasing power of brute-force attacks  leading to evolution in algorithms  from DES to AES in block ciphers  from MD4 & MD5 to SHA-1 & RIPEMD-160 in hash algorithms  likewise tend to use common iterative structure as do block ciphers
  • 6. Cryptography and Network Security 6 Basic Uses of Hash Function  Six basics usages  Ek(M||H(M))  Confidentiality and authentication  M|| Ek(H(M))  Authentication  M|| EKRa(H(M))  Authentication and digital signature  Ek(M|| EKRa(H(M)))  Authentication, digital signature and confidentiality  M||H(M||S)  Authentication (S shared by both sides)  Ek(M||H(M||S))  Confidentiality and authentication
  • 7. Cryptography and Network Security 7 Birthday Attacks  If 64-bits hash code is used  On average, how many messages need to try to find one match the intercepted hash code?  Birthday paradox  A will sign a message appended with m-bits hash code  Attacker generates some variations of fraud message, also variations of good message  Find pair of message each from the two sets messages  Such that they have the same hash code  Give good message to A to get signature  Replace good message with fraud message
  • 8. Cryptography and Network Security 8 Analysis  Using birthday attack, given 64-bits hash code  How many message variations needed so the success probability is large, say 90%?
  • 9. Cryptography and Network Security 9 Examples  Simple hash functions  XOR of the input message  H(M)=X1 X2 … Xm-1 Xm  But not secure  Ym=H(M)  Y1 Y2 … Ym-1 has same hash value as (X1X2 … Xm-1 Xm), where Yi is any value
  • 10. Cryptography and Network Security 10 Cont.  Based on DES, block chaining technique  Rabin, 1978  Divide message M into fix-sized blocks Mi  Assume total n data blocks  H0=initial value  Hi=Emi[Hi-1]  Hn is the hash value  Birthday attack still applies  If still 64-bits code used
  • 11. Cryptography and Network Security 11 More Attacks  Birthday attack applied if chosen plaintext  Meet in the middle attack if known plaintext  Known signed hash code G  Construct n-2 desired message block Qi  Compute Hi=EQi[Hi-1]  Generate 2m/2 random blocks X  For each X, Compute Hn-1=EX[Hn-2]  Generate 2m/2 random blocks Y  For each Y, Compute H’n-1=DY[G]  Find X, Y such that Hn-1= H’n-1  Then Q1, Q2,…Qn-2, X,Y is a fraud message
  • 12. Cryptography and Network Security 12 Security  The size of hash code determines security  128bits is not secure  Currently, most use 160 bits hash code  Now recommend 256 bits  Attack MAC  Objective is to find valid (x, Ck(x)) pair  Attack the key space: roughly 2k, k =key size  Attack the MAC value
  • 13. Cryptography and Network Security 13 More Hash Algorithms  Algorithms  Message Digest:MD5 (was mostly widely used)  Secure Hash Algorithm: SHA-1 (from MD4)  RIPEMD-160  HMAC
  • 14. Cryptography and Network Security 14 MD5  designed by Ronald Rivest (the R in RSA)  latest in a series of MD2, MD4  produces a 128-bit hash value  until recently was the most widely used hash algorithm  in recent times have both brute-force & cryptanalytic concerns  specified as Internet standard RFC1321
  • 15. Cryptography and Network Security 15 MD5 Overview 1. pad message so its length is 448 mod 512 2. append a 64-bit length value to message 3. initialise 4-word (128-bit) MD buffer (A,B,C,D) 4. process message in 16-word (512-bit) blocks:  using 4 rounds of 16 bit operations on message block & buffer  add output to buffer input to form new buffer value 5. output hash value is the final buffer value
  • 16. Cryptography and Network Security 16 MD5 Overview
  • 17. Cryptography and Network Security 17 MD5 Compression Function  each round has 16 steps of the form: a = b+((a+g(b,c,d)+X[k]+T[i])<<<s)  a,b,c,d refer to the 4 words of the buffer, but used in varying permutations  note this updates 1 word only of the buffer  after 16 steps each word is updated 4 times  where g(b,c,d) is a different nonlinear function in each round (F,G,H,I)  T[i] is a constant value derived from sin
  • 18. Cryptography and Network Security 18 MD5 Compression Function
  • 19. Cryptography and Network Security 19 MD4  precursor to MD5  also produces a 128-bit hash of message  has 3 rounds of 16 steps vs 4 in MD5  design goals:  collision resistant (hard to find collisions)  direct security (no dependence on "hard" problems)  fast, simple, compact  favours little-endian systems (eg PCs)
  • 20. Cryptography and Network Security 20 Strength of MD5  MD5 hash is dependent on all message bits  Rivest claims security is good as can be  known attacks are:  Berson 92 attacked any 1 round using differential cryptanalysis (but can’t extend)  Boer & Bosselaers 93 found a pseudo collision (again unable to extend)  Dobbertin 96 created collisions on MD compression function (but initial constants prevent exploit)  conclusion is that MD5 looks vulnerable soon
  • 21. Cryptography and Network Security 21 Bad news  Chinese authors (Wang, Feng, Lai, and Yu) reported a family of collisions in MD5  (fixing the previous bug in their analysis), and also reported that their method can efficiently (2^40 hash steps) find a collision in SHA-0.  August Crypto 2004,  MD5 is fatally wounded; its use will be phased out. SHA-1 is still alive but the vultures are circling. A gradual transition away from SHA-1 will now start. The first stage will be a debate about alternatives, leading to a consensus among practicing cryptographers about what the substitute will be.
  • 22.  On 1 March 2005, Arjen Lenstra, Xiaoyun Wang and Benne de Weger demonstrated[10] construction of two X.509 certificates with different public keys and the same MD5 hash, a demonstrably practical collision. The construction included private keys for both public keys.  A few days later, Vlastimil Klima described[11] an improved algorithm, able to construct MD5 collisions in a few hours on a single notebook computer.  On 18 March 2006, Klima published an algorithm[12] that can find a collision within one minute on a single notebook computer, using a method he calls tunneling. Cryptography and Network Security 22
  • 23. Cryptography and Network Security 23 Why collisions are bad  An example of what you might do with this.  You could request an SSL certificate (for your real identity) from a certificate authority. After the response comes back, you can then use that response (which is based on the MD5 of your identity+key) to "authenticate" a carefully chosen different certificate, one which claims that you are LargeBankOrSoftwareCorp., but which has the same MD5 as your real identity. You can then present this to other people in order to convince them that you are someone whom you are not.  Another example,  core internet routers use md5 to exchange passwords. I simply sniff the md5sum, and if I can find a string that generates the same sum, easily, I can send my own routing update that takes down the internet. More examples, since a LOT of applications use md5, but you get the idea.
  • 24. Cryptography and Network Security 24 Further detail  Obviously the above attack isn't quite so simple, but this research makes it *possible*. Before, it was believed to be sufficiently difficult to find a collision, that nobody worried about it. Now they are saying its feasible to do it in hours.  The question hanging around right now is that these researchers managed to find collisions easily, but not for an artbitrary string. The questions is how long before someone modifies this method to find any colllision. That is how much time the world has to move away.  More at  http://www.freedom-to-tinker.com/archives/000664.html
  • 25. Cryptography and Network Security 25 What to do next  The U.S. National Institute of Standards and Technology is having a competition for a new cryptographic hash function.  The phrase "one-way hash function" might sound arcane and geeky, but hash functions are the workhorses of modern cryptography.  Submissions will be due in fall 2008, and a single standard is scheduled to be chosen by the end of 2011.  we have an interim solution in SHA-256.
  • 26. Cryptography and Network Security 26 Secure Hash Algorithm (SHA-1)  SHA was designed by NIST & NSA in 1993, revised 1995 as SHA-1  US standard for use with DSA signature scheme  standard is FIPS 180-1 1995, also Internet RFC3174  nb. the algorithm is SHA, the standard is SHS  produces 160-bit hash values  now the generally preferred hash algorithm  based on design of MD4 with key differences
  • 27. Cryptography and Network Security 27 SHA Overview 1. pad message so its length is 448 mod 512 2. append a 64-bit length value to message 3. initialise 5-word (160-bit) buffer (A,B,C,D,E) to (67452301,efcdab89,98badcfe,10325476,c3d2e1f0) 4. process message in 16-word (512-bit) chunks:  expand 16 words into 80 words by mixing & shifting  use 4 rounds of 20 bit operations on message block & buffer  add output to input to form new buffer value 5. output hash value is the final buffer value
  • 28. Cryptography and Network Security 28 SHA-1 Compression Function  each round has 20 steps which replaces the 5 buffer words thus: (A,B,C,D,E) <- (E+f(t,B,C,D)+(A<<5)+Wt+Kt),A,(B<<30),C,D)  a,b,c,d refer to the 4 words of the buffer  t is the step number  f(t,B,C,D) is nonlinear function for round  Wt is derived from the message block  Kt is a constant value derived from sin
  • 29. Cryptography and Network Security 29 SHA-1 Compression Function
  • 30. Cryptography and Network Security 30 SHA-1 verses MD5  brute force attack is harder (160 vs 128 bits for MD5)  not vulnerable to any known attacks (compared to MD4/5)  a little slower than MD5 (80 vs 64 steps)  both designed as simple and compact  optimised for big endian CPU's (vs MD5 which is optimised for little endian CPU’s)
  • 31. Cryptography and Network Security 31 Revised Secure Hash Standard  NIST have issued a revision FIPS 180-2  adds 3 additional hash algorithms  SHA-256, SHA-384, SHA-512  designed for compatibility with increased security provided by the AES cipher  structure & detail is similar to SHA-1  hence analysis should be similar
  • 32.  See  http://en.wikipedia.org/wiki/SHA_hash_fu nctions  For history of attaching this one. Cryptography and Network Security 32
  • 33. Cryptography and Network Security 33 RIPEMD-160  RIPEMD-160 was developed in Europe as part of RIPE project in 96  by researchers involved in attacks on MD4/5  initial proposal strengthen following analysis to become RIPEMD-160  somewhat similar to MD5/SHA  uses 2 parallel lines of 5 rounds of 16 steps  creates a 160-bit hash value  slower, but probably more secure, than SHA
  • 34. Cryptography and Network Security 34 RIPEMD-160 Overview 1. pad message so its length is 448 mod 512 2. append a 64-bit length value to message 3. initialise 5-word (160-bit) buffer (A,B,C,D,E) to (67452301,efcdab89,98badcfe,10325476,c3d2e1f0) 4. process message in 16-word (512-bit) chunks:  use 10 rounds of 16 bit operations on message block & buffer – in 2 parallel lines of 5  add output to input to form new buffer value 5. output hash value is the final buffer value
  • 35. Cryptography and Network Security 35 RIPEMD-160 Round
  • 36. Cryptography and Network Security 36 RIPEMD-160 Compression Function
  • 37. Cryptography and Network Security 37 RIPEMD-160 Design Criteria  use 2 parallel lines of 5 rounds for increased complexity  for simplicity the 2 lines are very similar  step operation very close to MD5  permutation varies parts of message used  circular shifts designed for best results
  • 38. Cryptography and Network Security 38 RIPEMD-160 verses MD5 & SHA-1  brute force attack harder (160 like SHA-1 vs 128 bits for MD5)  not vulnerable to known attacks, like SHA-1 though stronger (compared to MD4/5)  slower than MD5 (more steps)  all designed as simple and compact  SHA-1 optimised for big endian CPU's vs RIPEMD-160 & MD5 optimised for little endian CPU’s
  • 39. Cryptography and Network Security 39 Keyed Hash Functions as MACs  have desire to create a MAC using a hash function rather than a block cipher  because hash functions are generally faster  not limited by export controls unlike block ciphers  hash includes a key along with the message  original proposal: KeyedHash = Hash(Key|Message)  some weaknesses were found with this  eventually led to development of HMAC
  • 40. Cryptography and Network Security 40 HMAC  specified as Internet standard RFC2104  uses hash function on the message: HMACK = Hash[(K+ XOR opad) || Hash[(K+ XOR ipad)||M)]]  where K+ is the key padded out to size  and opad, ipad are specified padding constants  overhead is just 3 more hash calculations than the message needs alone  any of MD5, SHA-1, RIPEMD-160 can be used
  • 41. Cryptography and Network Security 41 HMAC Overview
  • 42. Cryptography and Network Security 42 HMAC Security  know that the security of HMAC relates to that of the underlying hash algorithm  attacking HMAC requires either:  brute force attack on key used  birthday attack (but since keyed would need to observe a very large number of messages)  choose hash function used based on speed verses security constraints
  • 43. Cryptography and Network Security 43 Summary  have considered:  some current hash algorithms: MD5, SHA-1, RIPEMD- 160  HMAC authentication using hash function