SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Cryptography and Message Authentication NS3
Cryptography and Message Authentication NS3Cryptography and Message Authentication NS3
Cryptography and Message Authentication NS3
koolkampus
 
01204427-Hash_Crypto (1).ppt
01204427-Hash_Crypto (1).ppt01204427-Hash_Crypto (1).ppt
01204427-Hash_Crypto (1).ppt
GnanalakshmiV
 
Is unit 5_message authentication and hash functions
Is unit 5_message authentication and hash functionsIs unit 5_message authentication and hash functions
Is unit 5_message authentication and hash functions
Sarthak Patel
 

Tendances (20)

Network security cryptographic hash function
Network security  cryptographic hash functionNetwork security  cryptographic hash function
Network security cryptographic hash function
 
6.hash mac
6.hash mac6.hash mac
6.hash mac
 
Hash function
Hash functionHash function
Hash function
 
The MD5 hashing algorithm
The MD5 hashing algorithmThe MD5 hashing algorithm
The MD5 hashing algorithm
 
Hash Function & Analysis
Hash Function & AnalysisHash Function & Analysis
Hash Function & Analysis
 
18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security 18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security
 
Public key cryptography and message authentication
Public key cryptography and message authenticationPublic key cryptography and message authentication
Public key cryptography and message authentication
 
Cryptography and Message Authentication NS3
Cryptography and Message Authentication NS3Cryptography and Message Authentication NS3
Cryptography and Message Authentication NS3
 
20CS2008 Computer Networks
20CS2008 Computer Networks 20CS2008 Computer Networks
20CS2008 Computer Networks
 
Message Authentication
Message AuthenticationMessage Authentication
Message Authentication
 
01204427-Hash_Crypto (1).ppt
01204427-Hash_Crypto (1).ppt01204427-Hash_Crypto (1).ppt
01204427-Hash_Crypto (1).ppt
 
Hashing Algorithm: MD5
Hashing Algorithm: MD5Hashing Algorithm: MD5
Hashing Algorithm: MD5
 
Is unit 5_message authentication and hash functions
Is unit 5_message authentication and hash functionsIs unit 5_message authentication and hash functions
Is unit 5_message authentication and hash functions
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
 
Message authentication
Message authenticationMessage authentication
Message authentication
 
Hash crypto
Hash cryptoHash crypto
Hash crypto
 
Message Authentication: MAC, Hashes
Message Authentication: MAC, HashesMessage Authentication: MAC, Hashes
Message Authentication: MAC, Hashes
 
Cryptography Ashik
Cryptography AshikCryptography Ashik
Cryptography Ashik
 
Hash Function
Hash FunctionHash Function
Hash Function
 
5. message authentication and hash function
5. message authentication and hash function5. message authentication and hash function
5. message authentication and hash function
 

En vedette

Network security & cryptography
Network security & cryptographyNetwork security & cryptography
Network security & cryptography
Rahulprasad Yadav
 
Hash mac algorithms
Hash mac algorithmsHash mac algorithms
Hash mac algorithms
James Wong
 
Hash Techniques in Cryptography
Hash Techniques in CryptographyHash Techniques in Cryptography
Hash Techniques in Cryptography
Basudev Saha
 
RSA & MD5 algorithm
RSA & MD5 algorithmRSA & MD5 algorithm
RSA & MD5 algorithm
Siva Rushi
 
Cryptography and network security
Cryptography and network securityCryptography and network security
Cryptography and network security
patisa
 

En vedette (13)

Network security & cryptography
Network security & cryptographyNetwork security & cryptography
Network security & cryptography
 
Cryptography and Network Security
Cryptography and Network SecurityCryptography and Network Security
Cryptography and Network Security
 
Hash mac algorithms
Hash mac algorithmsHash mac algorithms
Hash mac algorithms
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
Hash Functions, the MD5 Algorithm and the Future (SHA-3)
Hash Functions, the MD5 Algorithm and the Future (SHA-3)Hash Functions, the MD5 Algorithm and the Future (SHA-3)
Hash Functions, the MD5 Algorithm and the Future (SHA-3)
 
Hash Techniques in Cryptography
Hash Techniques in CryptographyHash Techniques in Cryptography
Hash Techniques in Cryptography
 
Cryptography
CryptographyCryptography
Cryptography
 
Cryptography
CryptographyCryptography
Cryptography
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
RSA & MD5 algorithm
RSA & MD5 algorithmRSA & MD5 algorithm
RSA & MD5 algorithm
 
Cryptography and network security
Cryptography and network securityCryptography and network security
Cryptography and network security
 
Network Security and Cryptography
Network Security and CryptographyNetwork Security and Cryptography
Network Security and Cryptography
 

Similaire à Hash

researchpaperfinal1
researchpaperfinal1researchpaperfinal1
researchpaperfinal1
Sumit Bajaj
 
An Enhanced Message Digest Hash Algorithm for Information Security
An Enhanced Message Digest Hash Algorithm for Information SecurityAn Enhanced Message Digest Hash Algorithm for Information Security
An Enhanced Message Digest Hash Algorithm for Information Security
paperpublications3
 
Chapter8 27 nov_2010
Chapter8 27 nov_2010Chapter8 27 nov_2010
Chapter8 27 nov_2010
Umang Gupta
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
James Wong
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Young Alista
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
David Hoen
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Tony Nguyen
 

Similaire à Hash (20)

researchpaperfinal1
researchpaperfinal1researchpaperfinal1
researchpaperfinal1
 
Nt1330 Unit 4 Dthm Paper
Nt1330 Unit 4 Dthm PaperNt1330 Unit 4 Dthm Paper
Nt1330 Unit 4 Dthm Paper
 
Hash crypto
Hash cryptoHash crypto
Hash crypto
 
Hash crypto
Hash cryptoHash crypto
Hash crypto
 
Hash crypto
Hash cryptoHash crypto
Hash crypto
 
Hash crypto
Hash cryptoHash crypto
Hash crypto
 
Hash crypto
Hash cryptoHash crypto
Hash crypto
 
Hash crypto
Hash cryptoHash crypto
Hash crypto
 
An Enhanced Message Digest Hash Algorithm for Information Security
An Enhanced Message Digest Hash Algorithm for Information SecurityAn Enhanced Message Digest Hash Algorithm for Information Security
An Enhanced Message Digest Hash Algorithm for Information Security
 
Chapter8 27 nov_2010
Chapter8 27 nov_2010Chapter8 27 nov_2010
Chapter8 27 nov_2010
 
H42063743
H42063743H42063743
H42063743
 
Nt1310 Unit 6 Powerpoint
Nt1310 Unit 6 PowerpointNt1310 Unit 6 Powerpoint
Nt1310 Unit 6 Powerpoint
 
Password based encryption
Password based encryptionPassword based encryption
Password based encryption
 
A Comparative Study between RSA and MD5 algorithms
A Comparative Study between RSA and MD5 algorithms A Comparative Study between RSA and MD5 algorithms
A Comparative Study between RSA and MD5 algorithms
 
Moein
MoeinMoein
Moein
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

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