6.hash mac

Virendrakumar Dhotre
Virendrakumar DhotrePh. D. in Pune University um SKN Sinhgad College of Engi
Cryptographic Hash Functions
Message Authentication
Digital Signatures
Abstract
We will discuss
• Cryptographic hash functions
• Message authentication codes
– HMAC and CBC-MAC
• Digital signatures
2
Encryption/Decryption
• Provides message confidentiality.
• Does it provide message authentication?
3
Bob receives a message from Alice, he wants to know
(Data origin authentication) whether the message was
really sent by Alice;
(Data integrity) whether th
Message Authentication
m•
g
g
message authentication code
e message has been modified.
Solutions:
Alice attaches a (MAC)
to the message.
Or she attach digital signatures a to the message.e
•
g
g
4
A hash function maps from a domain to a smaller range,
typically many-to-one.
Properties required of a hash function depend on its
applications.
Applications:
Fast loo
Hash function
•
•
•
g kup (hash tables)
Error detection/correction
cryptographic haCryp sh ftography unctions:
Others
g
g
g
5
*
*
: , | | | |.
For example, :{0,1} {0,1}
:{0,1}
:{0,1} {0,1} , .
If
Hash functi
is
ons:
Cryptographic hash function
n
n
k l
h X Y X Y
h
h Z
h k l
X
• → >
• →
→
→ >
•
( )
finite, is also called a compression function.
A classical application: users/clients passwords are
stored in a file
not as username, password ,
but as username,
h
h
•
( ) using some
cryptographic hash fu
(password
nctio
)
n .h
6
Pre-image: if ( ) , is a pre-image of .
Each hash value typically has multiple pre-images.
Collision: a pair of ( , ), , s.t. ( ) ( ).
A hash function is said t
Security requirements
h m y m y
m m m m h m h m
• =
•
′ ′ ′• ≠ =
o be:
if it is computationally infeasible to
find a pre-image of a hash value.
if it is computationally in
Pre-image resistant
C feasible to
find a col
ollision re
lision
sistant
.
A hash fun
•
•
• cryptographic hash functioction is a
if it is collision resista
n
nt.
7
8
• Collision-resistant hash functions can be
built from collision-resistant compression
functions using Merkle-Damgard
construction.
*
*
hash
compression
Construct a cryptographic function :{0,1} {0,1}
from a function :{0,1} {0,1} .
1. For {0,1} , add to so that | '| ispadding
Merkle-Damgard construction
n
n b n
h
f
m m m
+
• →
→
∈
1 2
0 1
a multiple of .
Let padded ' , each of length .
(padding = 10...0 | |, where | | is the length of )
3. Let IV and ( ) for 1 .
4. The hash value (
k i
i i i
b
m m m m m b
m m m
v v v m i k
h
f −
=
= = ≤ ≤
K
P
) .
If is collision-resistant, then is colliTheor sion-resistant.em.
km v
f h
=
Merkle-Damgard Construction
Compression function :{0,1} {0,1}n b n
f +
→
m1 m2 m3 mk
f f fIV
v0 v1 v2 vk
… f h(m)
64
an NIST standard.
using Merkle-Damgard construction.
input message is divided into blocks with padding.
padding = 10...0 , where {0,1} indicates | | in
The Secure Hash Algorithm (SHA-1)
m
m
•
•
•
• ∈l l
64
0 15
0 4
binary.
thus, message length limited to | | 2 1.
block = 512 bits = 16 words = .
IV a constant of 160 bits = 5 words = .
resulting hash value: 160 bits.
underlying compre
m
W W
H H
• ≤ −
•
• =
•
•
KP P
KP P
160 512 160
ssion function :{0,1} {0,1} ,
a series (80 rounds) of , , , , +, and Rotate on
words ' & 's.i i
f
W s H
+
→
∧ ∨ ⊕ ¬
{ }1 2
An attack is to produce a collision.
Birthday attack: randomly generate a set of messages
, , , , hoping to produce a collision.
160 is big enough to resist birthda
Is SHA-1 secure?
km m m
n
•
•
• =
K
y attacks .
There is no mathematical proof for its collision resistancy.
In 2004, a collision for a "58 rounds" SHA-1 was produced.
(The compression function of SHA-1 has 80 roun
for n
ds.)
ow
N
•
•
• ewer SHA's have been included in the standard:
SHA-256, SHA-384, SHA-512.
12
In a group of people, what is the probability
that at least two people have
Having the same birthday is a
the same bi
collision?
Birthday problem:
Birthday
rthday?
1 2 withparadox:
k
p
•
• ≥
g
as small as 23.
Consider a hash function :{0,1} {0,1} .
If we randomly generate messages, the probability
of having a collision depends on .
To resist birthday attack, we choose to
n
k
h
k
n
n
∗
• →
•
• be sufficiently large that
it will take an infeasibly large to have a non-negligible probability
of collision.
k
modification detection codes (MDC)
Storing passwords
Used to produce
( ), called an MDC, is stored in a secure place;
if is modified, we
Applications of cryptographic hash functions
h m
m
•
•
g
g can detect it;
protecting the integrity of .
We will see some other applicati son .
m
•
g
14
Bob receives a message from Alice, he wants to know
(Data origin authentication) whether the message was
really sent by Alice;
(Data integrity) whether th
Message Authentication
m•
g
g
message authentication code
e message has been modified.
Solutions:
Alice attaches a (MAC)
to the message.
Or she attach digital signatures a to the message.e
•
g
g
15
Message authentication protocol:
1. Alice and Bob share a secret key .
2. Alice sends MAC ( ) to Bob.
3. Bob authenticates the received MAC
by checking if MAC MAC ( )?
MAC
k
k
k
m m
m
m
•
′ ′
′ ′=
•
P
P
MAC ( ) is called a .
Security requirement: infeasible to produce a valid pair
( , MA
message auth
C ( )) w
entication
ithout knowing the key
e
.
c dok
k
m
x x k
•
16
A common way to construct a MAC is to incorporate a
secret key into a fixed hash function (e.g. SH
Insecure:
A-1).
MAC ( ) ( ) ( ) wit IVh
Constructing MAC from a hash
k k
k h
m h m h m k
•
•
= = =g
g MAC ( ) ( ) ( )k km h m h k m= = P
17
m = m1 m2 m3 ms
f f fIV … f h(m)
k X X hk(m)
fhk(m) hk(m||ms+1)
ms+1
1
( ) ( ) with IV .
(For simplicity, without
Insecure:
Easy to forge:
( , ( )),
padd
where
ing)
k
s
k
m
M
h m
AC m h
m m
m k
m +
•
′
′ =
=
•
′
=
P
( )2 1
1 2
A FIPS standard for constructing MAC from a hash
function . Conceptually,
HMAC ( ) ( )
where and are two keys generated from .
Various
HMAC (Hash-based MAC)
k m k k m
k
h
k k
h h
•
=
•
P P
( )
hash functions (e.g., SHA-1, MD5) may be used for .
If we use , then HMAC is as follows:
HMAC ( ) ( )
where
is padded with 0's to 512
SHA-1
SHA-1 SHA
bits
1-k
h
m k opad k ipad m
k
•
= ⊕ ⊕
g
P P
3636 36 (x036 repeated 64 times)
5c5c 5c (x05c repeated 64 times)
ipad
opad
=
= L
g
g
L
A FIPS and ISO standard.
One of the most popular MACs in use.
Use a block cipher in CBC mode with a fixed, public IV.
Called DES CBC-MAC if the block cipher is DES.
Let :{0,1} {0,1
CBC-MAC
n
E
•
•
•
•
• →
1 2
0
1
} be a block cipher.
CBC-MAC( , )
, where | | .
IV (typically 0 )
for 1 to do
( )
return( )
n
l i
n
i k i i
l
m k
m m m m m n
c
i l
c E c m
c
−
•
= =
¬
¬
¬ ⊕
KP P P
20
Cipher Block Chaining (CBC)
21
A refined version of CBC-MAC.
Adopted by NIST for use with AES and 3DES.
Use two keys: , (assuming is a multiple of ).
Let :{0,1} {0,1} be a block cipher.
CM
CMAC (Cipher-based MAC)
n n
k k m n
E
•
•
′•
• →
•
1 2
0
1
1
AC( , )
, where | | .
IV (typically 0 )
for 1 to 1 do
( )
( )
return( )
l i
n
i k i i
l k l l
l
m k
k
m m m m m n
c
i l
c E c m
c E c m
c
−
−
= =
¬
¬ −
′⊕
¬ ⊕
¬ ⊕
KP P P
22
RSA can be used for digital signatures.
A digital signature is the same as a MAC except that
the tag (signature) is produced using a public-key
cryptosystem.
Digital
Digital Signatures
•
•
• signatures are used to provide message
authentication an non-repudiatd ion.
Message m MACk(m)
Message m Sigpr(m)
Digital signature protocol:
1. Bob has a key pair ( , ).
2. Bob sends Sig ( ) to Alice.
3. Alice verifies the received
by checking if Verify ( ).
Sig ( ) is calle
pr
pu
pr
pr pu
m m
m s
s m
m
•
′ ′
′ ′=
•
P
P
d a .
Security requirement: infeasible to forge a valid
pair ( , S
signatu
ig ( )) without knowing
re for
.prm m pr
m
•
MCE D
PUBob PRBob
Alice Bob
M
MSE D
PUBob PRBob
Alice Bob
Verify Sign
Encryption (using RSA):
Digital signature (using RSA-1
):
E(S)
=M?
*
are generated as for RSA encryption:
Public key: . Private key: .
a message : ( ) mod .
That is,
Keys
Signin
( , ) ( , )
g
RSA Signature
d
n PR
PU n e PR n d
m Z D m m nσ
σ
∈• =
= =
•
=
1
RSA ( ).
a signature ( , ) :
check if ( ) mod , or RSA( ).
Only the key's owner can sign,
Ver
but anybody can ver
ify
ify.
ing
e
PU
m
m
m E n m
σ
σ σ σ
−
=
=
•
= =
•
*
RSA
1. Every message is a valid signature for
its ciphertext : RSA( ).
Encryption (using Bob's public key):
Existential forgeries
Sig
:
Security of RSA Signature
nm Z
c m
m c
∈
=

•
→
1
RSA
1 2 1 2
1 2 1 2
n ( using Bob's private key):
2. If Bob signed and , then the signature for
can be easily forged
if
hash a
: ( ) ( ) ( ).
Counterme nd siasure gn: :
m c
m m m m
m m m mσ σ σ
σ
−
•
¬ 
=
Sign ( ( )),
using some collision resistant hash function .
PR h m
h
=
Does hash-then-sign make RSA signature secure
against chosen-message attacks?
Question:
Answer:
random oracleYes, is a i.e.,
is a
all
if full-
random or
d
a
,
cle mapping {0
omainh
h
•
•
g *
,1}
( is the full domain of RSA)
n
n
Z
Z
→
g
{ }
160
In practice, is full-domain.
For instance, the range of SHA-1 is {0,1} ,
while 0,1,...,2 1 , wi
Problem with full-
th 1024.
domain hash:
Desired: a sec
no
ure signature scheme
t
n
n
h
Z n
•
= − ≥
•
that does not
require a full-domain hash.
*
pad
Hash function :{0,1} {0,1} (not full domain).
| |. (E.g., SHA-1, 160; RSA, 1024.)
Idea:
Probabilistic signature scheme
l
Nh Z
l n N l n
m m r
→ ⊂
< = = =
•
• → P *
hash
expand 1
si
1
gn 1
{0,1}
( ) {0,1}
( ) {0,1}
RSA ( )
( )0n l
l
nk
r
w h m r
y w G w
yσ
− − −
−
−
∈
→ = ∈
→ = ⊕ ∈
→ =
PP
P
1
where {0,1}
:{0,1} {0,1} (pseudorandom generator)
N
k
l n l
Z
r
G − −
∈
∈
→
*
11 2 2
1
a message {0,1} :
1. choose a random {0,1} ; compute ( );
2. compute ;( ) ( ) // //
3. The signatu
Signing
re is RSA ( ).
k
m
r w h m r
G G Gw
y
y w r G G w
σ −
∈
∈
=
=
=
=
•
⊕P P
P
P
PSS is secure against chosen-message attacks in the
random oracle model (i.e., if and are random oracles).
PSS is adopted in PKCS #1 v.2.1.
Hash functions such as SHA-1
Remarks
are used f
h G
•
•
•
1 2
or and .
For instance,
let 1024, and 160
let = SHA-1
( , )( ) ( ) ( 0) ( 1) ( 2), ...
h G
n l k
h
G G w G w h w h w h w
= = =
= =
•
P P P PP
1 von 32

Recomendados

Hash function von
Hash functionHash function
Hash functionHarry Potter
6.1K views35 Folien
Ch11 von
Ch11Ch11
Ch11Joe Christensen
683 views22 Folien
Information and data security cryptographic hash functions von
Information and data security cryptographic hash functionsInformation and data security cryptographic hash functions
Information and data security cryptographic hash functionsMazin Alwaaly
550 views31 Folien
Hash von
HashHash
HashTazo Al
882 views43 Folien
01204427-Hash_Crypto (1).ppt von
01204427-Hash_Crypto (1).ppt01204427-Hash_Crypto (1).ppt
01204427-Hash_Crypto (1).pptGnanalakshmiV
137 views47 Folien
20CS2008 Computer Networks von
20CS2008 Computer Networks 20CS2008 Computer Networks
20CS2008 Computer Networks Kathirvel Ayyaswamy
208 views188 Folien

Más contenido relacionado

Was ist angesagt?

Cryptography and Message Authentication NS3 von
Cryptography and Message Authentication NS3Cryptography and Message Authentication NS3
Cryptography and Message Authentication NS3koolkampus
6K views28 Folien
Public key cryptography and message authentication von
Public key cryptography and message authenticationPublic key cryptography and message authentication
Public key cryptography and message authenticationCAS
2.2K views42 Folien
Message Authentication: MAC, Hashes von
Message Authentication: MAC, HashesMessage Authentication: MAC, Hashes
Message Authentication: MAC, HashesShafaan Khaliq Bhatti
3.6K views11 Folien
Hash Function & Analysis von
Hash Function & AnalysisHash Function & Analysis
Hash Function & AnalysisPawandeep Kaur
5.6K views39 Folien
Hash crypto von
Hash cryptoHash crypto
Hash cryptoHarry Potter
1.7K views50 Folien
Cryptographic Hashing Functions von
Cryptographic Hashing FunctionsCryptographic Hashing Functions
Cryptographic Hashing FunctionsYusuf Uzun
2.7K views15 Folien

Was ist angesagt?(20)

Cryptography and Message Authentication NS3 von koolkampus
Cryptography and Message Authentication NS3Cryptography and Message Authentication NS3
Cryptography and Message Authentication NS3
koolkampus6K views
Public key cryptography and message authentication von CAS
Public key cryptography and message authenticationPublic key cryptography and message authentication
Public key cryptography and message authentication
CAS2.2K views
Cryptographic Hashing Functions von Yusuf Uzun
Cryptographic Hashing FunctionsCryptographic Hashing Functions
Cryptographic Hashing Functions
Yusuf Uzun2.7K views
Is unit 5_message authentication and hash functions von Sarthak Patel
Is unit 5_message authentication and hash functionsIs unit 5_message authentication and hash functions
Is unit 5_message authentication and hash functions
Sarthak Patel2.6K views
Cryptography Ashik von Ashik Iqbal
Cryptography AshikCryptography Ashik
Cryptography Ashik
Ashik Iqbal1.3K views
Message authentication von CAS
Message authenticationMessage authentication
Message authentication
CAS26.4K views
5. message authentication and hash function von Chirag Patel
5. message authentication and hash function5. message authentication and hash function
5. message authentication and hash function
Chirag Patel17.2K views
Message Authentication Code & HMAC von Krishna Gehlot
Message Authentication Code & HMACMessage Authentication Code & HMAC
Message Authentication Code & HMAC
Krishna Gehlot16.5K views
Hash Techniques in Cryptography von Basudev Saha
Hash Techniques in CryptographyHash Techniques in Cryptography
Hash Techniques in Cryptography
Basudev Saha9.1K views

Destacado

Introductory Lecture on Cryptography and Information Security von
Introductory Lecture on Cryptography and Information SecurityIntroductory Lecture on Cryptography and Information Security
Introductory Lecture on Cryptography and Information SecurityBikramjit Sarkar, Ph.D.
907 views25 Folien
Class 16 von
Class 16Class 16
Class 16Dr. Ajith Sundaram
187 views41 Folien
Public Key Cryptography von
Public Key CryptographyPublic Key Cryptography
Public Key CryptographyIsrael Herraiz
1.4K views43 Folien
Computer Security Lecture 4: Block Ciphers and the Data Encryption Standard von
Computer Security Lecture 4: Block Ciphers and the Data Encryption StandardComputer Security Lecture 4: Block Ciphers and the Data Encryption Standard
Computer Security Lecture 4: Block Ciphers and the Data Encryption StandardBenha University
1.8K views68 Folien
A Tutorial on Linear and Differential Cryptanalysis by Howard M. Heys von
A Tutorial on Linear and Differential Cryptanalysis by Howard M. HeysA Tutorial on Linear and Differential Cryptanalysis by Howard M. Heys
A Tutorial on Linear and Differential Cryptanalysis by Howard M. HeysInformation Security Awareness Group
3.8K views33 Folien
Data encryption standard von
Data encryption standardData encryption standard
Data encryption standardMohammad Golyani
7K views55 Folien

Destacado(16)

Computer Security Lecture 4: Block Ciphers and the Data Encryption Standard von Benha University
Computer Security Lecture 4: Block Ciphers and the Data Encryption StandardComputer Security Lecture 4: Block Ciphers and the Data Encryption Standard
Computer Security Lecture 4: Block Ciphers and the Data Encryption Standard
Benha University1.8K views
Public Key Cryptography and RSA algorithm von Indra97065
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithm
Indra9706516.2K views
PUBLIC KEY ENCRYPTION von raf_slide
PUBLIC KEY ENCRYPTIONPUBLIC KEY ENCRYPTION
PUBLIC KEY ENCRYPTION
raf_slide28.9K views
Cryptography.ppt von kusum sharma
Cryptography.pptCryptography.ppt
Cryptography.ppt
kusum sharma203.7K views
Cryptography and network security von patisa
Cryptography and network securityCryptography and network security
Cryptography and network security
patisa42.7K views
Network Security and Cryptography von Adam Reagan
Network Security and CryptographyNetwork Security and Cryptography
Network Security and Cryptography
Adam Reagan66.8K views

Similar a 6.hash mac

Cryptography Key Management.pptx von
Cryptography Key Management.pptxCryptography Key Management.pptx
Cryptography Key Management.pptxSurendraBasnet6
11 views51 Folien
crypto1.ppt von
crypto1.pptcrypto1.ppt
crypto1.ppttommychauhan
6 views66 Folien
crypto.ppt von
crypto.pptcrypto.ppt
crypto.pptGanesh Chavan
3 views66 Folien
introduction to cryptography von
introduction to cryptographyintroduction to cryptography
introduction to cryptographyPriyamvada Singh
2.7K views66 Folien
Chapter 15 - Security von
Chapter 15 - SecurityChapter 15 - Security
Chapter 15 - SecurityWayne Jones Jnr
4.5K views43 Folien
Introduction to security_and_crypto von
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_cryptoYoung Alista
150 views43 Folien

Similar a 6.hash mac(20)

Introduction to security_and_crypto von Young Alista
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Young Alista150 views
Introduction to security_and_crypto von Fraboni Ec
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Fraboni Ec414 views
Introduction to security_and_crypto von David Hoen
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
David Hoen191 views
Introduction to security_and_crypto von Harry Potter
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Harry Potter352 views
Introduction to security_and_crypto von James Wong
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
James Wong94 views
Introduction to security_and_crypto von Tony Nguyen
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Tony Nguyen145 views
Introduction to security_and_crypto von Luis Goldster
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Luis Goldster95 views
Cryptography for Smalltalkers 2 - ESUG 2006 von Martin Kobetic
Cryptography for Smalltalkers 2 - ESUG 2006Cryptography for Smalltalkers 2 - ESUG 2006
Cryptography for Smalltalkers 2 - ESUG 2006
Martin Kobetic1.1K views
Digital Signatures: Reassessing security of randomizable signatures von Priyanka Aash
Digital Signatures: Reassessing security of randomizable signaturesDigital Signatures: Reassessing security of randomizable signatures
Digital Signatures: Reassessing security of randomizable signatures
Priyanka Aash343 views

Último

Integrating Sustainable Development Goals (SDGs) in School Education von
Integrating Sustainable Development Goals (SDGs) in School EducationIntegrating Sustainable Development Goals (SDGs) in School Education
Integrating Sustainable Development Goals (SDGs) in School EducationSheetalTank1
13 views29 Folien
Field Programmable Gate Arrays : Architecture von
Field Programmable Gate Arrays : ArchitectureField Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : ArchitectureUsha Mehta
23 views74 Folien
MongoDB.pdf von
MongoDB.pdfMongoDB.pdf
MongoDB.pdfArthyR3
51 views6 Folien
Web Dev Session 1.pptx von
Web Dev Session 1.pptxWeb Dev Session 1.pptx
Web Dev Session 1.pptxVedVekhande
23 views22 Folien
Programmable Logic Devices : SPLD and CPLD von
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLDUsha Mehta
27 views54 Folien
IRJET-Productivity Enhancement Using Method Study.pdf von
IRJET-Productivity Enhancement Using Method Study.pdfIRJET-Productivity Enhancement Using Method Study.pdf
IRJET-Productivity Enhancement Using Method Study.pdfSahilBavdhankar
10 views4 Folien

Último(20)

Integrating Sustainable Development Goals (SDGs) in School Education von SheetalTank1
Integrating Sustainable Development Goals (SDGs) in School EducationIntegrating Sustainable Development Goals (SDGs) in School Education
Integrating Sustainable Development Goals (SDGs) in School Education
SheetalTank113 views
Field Programmable Gate Arrays : Architecture von Usha Mehta
Field Programmable Gate Arrays : ArchitectureField Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : Architecture
Usha Mehta23 views
MongoDB.pdf von ArthyR3
MongoDB.pdfMongoDB.pdf
MongoDB.pdf
ArthyR351 views
Web Dev Session 1.pptx von VedVekhande
Web Dev Session 1.pptxWeb Dev Session 1.pptx
Web Dev Session 1.pptx
VedVekhande23 views
Programmable Logic Devices : SPLD and CPLD von Usha Mehta
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLD
Usha Mehta27 views
IRJET-Productivity Enhancement Using Method Study.pdf von SahilBavdhankar
IRJET-Productivity Enhancement Using Method Study.pdfIRJET-Productivity Enhancement Using Method Study.pdf
IRJET-Productivity Enhancement Using Method Study.pdf
SahilBavdhankar10 views
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx von lwang78
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
lwang78314 views
Ansari: Practical experiences with an LLM-based Islamic Assistant von M Waleed Kadous
Ansari: Practical experiences with an LLM-based Islamic AssistantAnsari: Practical experiences with an LLM-based Islamic Assistant
Ansari: Practical experiences with an LLM-based Islamic Assistant
M Waleed Kadous12 views
Unlocking Research Visibility.pdf von KhatirNaima
Unlocking Research Visibility.pdfUnlocking Research Visibility.pdf
Unlocking Research Visibility.pdf
KhatirNaima11 views
GDSC Mikroskil Members Onboarding 2023.pdf von gdscmikroskil
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdf
gdscmikroskil72 views
AWS Certified Solutions Architect Associate Exam Guide_published .pdf von Kiran Kumar Malik
AWS Certified Solutions Architect Associate Exam Guide_published .pdfAWS Certified Solutions Architect Associate Exam Guide_published .pdf
AWS Certified Solutions Architect Associate Exam Guide_published .pdf

6.hash mac

  • 1. Cryptographic Hash Functions Message Authentication Digital Signatures
  • 2. Abstract We will discuss • Cryptographic hash functions • Message authentication codes – HMAC and CBC-MAC • Digital signatures 2
  • 3. Encryption/Decryption • Provides message confidentiality. • Does it provide message authentication? 3
  • 4. Bob receives a message from Alice, he wants to know (Data origin authentication) whether the message was really sent by Alice; (Data integrity) whether th Message Authentication m• g g message authentication code e message has been modified. Solutions: Alice attaches a (MAC) to the message. Or she attach digital signatures a to the message.e • g g 4
  • 5. A hash function maps from a domain to a smaller range, typically many-to-one. Properties required of a hash function depend on its applications. Applications: Fast loo Hash function • • • g kup (hash tables) Error detection/correction cryptographic haCryp sh ftography unctions: Others g g g 5
  • 6. * * : , | | | |. For example, :{0,1} {0,1} :{0,1} :{0,1} {0,1} , . If Hash functi is ons: Cryptographic hash function n n k l h X Y X Y h h Z h k l X • → > • → → → > • ( ) finite, is also called a compression function. A classical application: users/clients passwords are stored in a file not as username, password , but as username, h h • ( ) using some cryptographic hash fu (password nctio ) n .h 6
  • 7. Pre-image: if ( ) , is a pre-image of . Each hash value typically has multiple pre-images. Collision: a pair of ( , ), , s.t. ( ) ( ). A hash function is said t Security requirements h m y m y m m m m h m h m • = • ′ ′ ′• ≠ = o be: if it is computationally infeasible to find a pre-image of a hash value. if it is computationally in Pre-image resistant C feasible to find a col ollision re lision sistant . A hash fun • • • cryptographic hash functioction is a if it is collision resista n nt. 7
  • 8. 8 • Collision-resistant hash functions can be built from collision-resistant compression functions using Merkle-Damgard construction.
  • 9. * * hash compression Construct a cryptographic function :{0,1} {0,1} from a function :{0,1} {0,1} . 1. For {0,1} , add to so that | '| ispadding Merkle-Damgard construction n n b n h f m m m + • → → ∈ 1 2 0 1 a multiple of . Let padded ' , each of length . (padding = 10...0 | |, where | | is the length of ) 3. Let IV and ( ) for 1 . 4. The hash value ( k i i i i b m m m m m b m m m v v v m i k h f − = = = ≤ ≤ K P ) . If is collision-resistant, then is colliTheor sion-resistant.em. km v f h =
  • 10. Merkle-Damgard Construction Compression function :{0,1} {0,1}n b n f + → m1 m2 m3 mk f f fIV v0 v1 v2 vk … f h(m)
  • 11. 64 an NIST standard. using Merkle-Damgard construction. input message is divided into blocks with padding. padding = 10...0 , where {0,1} indicates | | in The Secure Hash Algorithm (SHA-1) m m • • • • ∈l l 64 0 15 0 4 binary. thus, message length limited to | | 2 1. block = 512 bits = 16 words = . IV a constant of 160 bits = 5 words = . resulting hash value: 160 bits. underlying compre m W W H H • ≤ − • • = • • KP P KP P 160 512 160 ssion function :{0,1} {0,1} , a series (80 rounds) of , , , , +, and Rotate on words ' & 's.i i f W s H + → ∧ ∨ ⊕ ¬
  • 12. { }1 2 An attack is to produce a collision. Birthday attack: randomly generate a set of messages , , , , hoping to produce a collision. 160 is big enough to resist birthda Is SHA-1 secure? km m m n • • • = K y attacks . There is no mathematical proof for its collision resistancy. In 2004, a collision for a "58 rounds" SHA-1 was produced. (The compression function of SHA-1 has 80 roun for n ds.) ow N • • • ewer SHA's have been included in the standard: SHA-256, SHA-384, SHA-512. 12
  • 13. In a group of people, what is the probability that at least two people have Having the same birthday is a the same bi collision? Birthday problem: Birthday rthday? 1 2 withparadox: k p • • ≥ g as small as 23. Consider a hash function :{0,1} {0,1} . If we randomly generate messages, the probability of having a collision depends on . To resist birthday attack, we choose to n k h k n n ∗ • → • • be sufficiently large that it will take an infeasibly large to have a non-negligible probability of collision. k
  • 14. modification detection codes (MDC) Storing passwords Used to produce ( ), called an MDC, is stored in a secure place; if is modified, we Applications of cryptographic hash functions h m m • • g g can detect it; protecting the integrity of . We will see some other applicati son . m • g 14
  • 15. Bob receives a message from Alice, he wants to know (Data origin authentication) whether the message was really sent by Alice; (Data integrity) whether th Message Authentication m• g g message authentication code e message has been modified. Solutions: Alice attaches a (MAC) to the message. Or she attach digital signatures a to the message.e • g g 15
  • 16. Message authentication protocol: 1. Alice and Bob share a secret key . 2. Alice sends MAC ( ) to Bob. 3. Bob authenticates the received MAC by checking if MAC MAC ( )? MAC k k k m m m m • ′ ′ ′ ′= • P P MAC ( ) is called a . Security requirement: infeasible to produce a valid pair ( , MA message auth C ( )) w entication ithout knowing the key e . c dok k m x x k • 16
  • 17. A common way to construct a MAC is to incorporate a secret key into a fixed hash function (e.g. SH Insecure: A-1). MAC ( ) ( ) ( ) wit IVh Constructing MAC from a hash k k k h m h m h m k • • = = =g g MAC ( ) ( ) ( )k km h m h k m= = P 17
  • 18. m = m1 m2 m3 ms f f fIV … f h(m) k X X hk(m) fhk(m) hk(m||ms+1) ms+1 1 ( ) ( ) with IV . (For simplicity, without Insecure: Easy to forge: ( , ( )), padd where ing) k s k m M h m AC m h m m m k m + • ′ ′ = = • ′ = P
  • 19. ( )2 1 1 2 A FIPS standard for constructing MAC from a hash function . Conceptually, HMAC ( ) ( ) where and are two keys generated from . Various HMAC (Hash-based MAC) k m k k m k h k k h h • = • P P ( ) hash functions (e.g., SHA-1, MD5) may be used for . If we use , then HMAC is as follows: HMAC ( ) ( ) where is padded with 0's to 512 SHA-1 SHA-1 SHA bits 1-k h m k opad k ipad m k • = ⊕ ⊕ g P P 3636 36 (x036 repeated 64 times) 5c5c 5c (x05c repeated 64 times) ipad opad = = L g g L
  • 20. A FIPS and ISO standard. One of the most popular MACs in use. Use a block cipher in CBC mode with a fixed, public IV. Called DES CBC-MAC if the block cipher is DES. Let :{0,1} {0,1 CBC-MAC n E • • • • • → 1 2 0 1 } be a block cipher. CBC-MAC( , ) , where | | . IV (typically 0 ) for 1 to do ( ) return( ) n l i n i k i i l m k m m m m m n c i l c E c m c − • = = ¬ ¬ ¬ ⊕ KP P P 20
  • 22. A refined version of CBC-MAC. Adopted by NIST for use with AES and 3DES. Use two keys: , (assuming is a multiple of ). Let :{0,1} {0,1} be a block cipher. CM CMAC (Cipher-based MAC) n n k k m n E • • ′• • → • 1 2 0 1 1 AC( , ) , where | | . IV (typically 0 ) for 1 to 1 do ( ) ( ) return( ) l i n i k i i l k l l l m k k m m m m m n c i l c E c m c E c m c − − = = ¬ ¬ − ′⊕ ¬ ⊕ ¬ ⊕ KP P P 22
  • 23. RSA can be used for digital signatures. A digital signature is the same as a MAC except that the tag (signature) is produced using a public-key cryptosystem. Digital Digital Signatures • • • signatures are used to provide message authentication an non-repudiatd ion. Message m MACk(m) Message m Sigpr(m)
  • 24. Digital signature protocol: 1. Bob has a key pair ( , ). 2. Bob sends Sig ( ) to Alice. 3. Alice verifies the received by checking if Verify ( ). Sig ( ) is calle pr pu pr pr pu m m m s s m m • ′ ′ ′ ′= • P P d a . Security requirement: infeasible to forge a valid pair ( , S signatu ig ( )) without knowing re for .prm m pr m •
  • 25. MCE D PUBob PRBob Alice Bob M MSE D PUBob PRBob Alice Bob Verify Sign Encryption (using RSA): Digital signature (using RSA-1 ): E(S) =M?
  • 26. * are generated as for RSA encryption: Public key: . Private key: . a message : ( ) mod . That is, Keys Signin ( , ) ( , ) g RSA Signature d n PR PU n e PR n d m Z D m m nσ σ ∈• = = = • = 1 RSA ( ). a signature ( , ) : check if ( ) mod , or RSA( ). Only the key's owner can sign, Ver but anybody can ver ify ify. ing e PU m m m E n m σ σ σ σ − = = • = = •
  • 27. * RSA 1. Every message is a valid signature for its ciphertext : RSA( ). Encryption (using Bob's public key): Existential forgeries Sig : Security of RSA Signature nm Z c m m c ∈ =  • → 1 RSA 1 2 1 2 1 2 1 2 n ( using Bob's private key): 2. If Bob signed and , then the signature for can be easily forged if hash a : ( ) ( ) ( ). Counterme nd siasure gn: : m c m m m m m m m mσ σ σ σ − • ¬  = Sign ( ( )), using some collision resistant hash function . PR h m h =
  • 28. Does hash-then-sign make RSA signature secure against chosen-message attacks? Question: Answer: random oracleYes, is a i.e., is a all if full- random or d a , cle mapping {0 omainh h • • g * ,1} ( is the full domain of RSA) n n Z Z → g
  • 29. { } 160 In practice, is full-domain. For instance, the range of SHA-1 is {0,1} , while 0,1,...,2 1 , wi Problem with full- th 1024. domain hash: Desired: a sec no ure signature scheme t n n h Z n • = − ≥ • that does not require a full-domain hash.
  • 30. * pad Hash function :{0,1} {0,1} (not full domain). | |. (E.g., SHA-1, 160; RSA, 1024.) Idea: Probabilistic signature scheme l Nh Z l n N l n m m r → ⊂ < = = = • • → P * hash expand 1 si 1 gn 1 {0,1} ( ) {0,1} ( ) {0,1} RSA ( ) ( )0n l l nk r w h m r y w G w yσ − − − − − ∈ → = ∈ → = ⊕ ∈ → = PP P 1 where {0,1} :{0,1} {0,1} (pseudorandom generator) N k l n l Z r G − − ∈ ∈ →
  • 31. * 11 2 2 1 a message {0,1} : 1. choose a random {0,1} ; compute ( ); 2. compute ;( ) ( ) // // 3. The signatu Signing re is RSA ( ). k m r w h m r G G Gw y y w r G G w σ − ∈ ∈ = = = = • ⊕P P P P
  • 32. PSS is secure against chosen-message attacks in the random oracle model (i.e., if and are random oracles). PSS is adopted in PKCS #1 v.2.1. Hash functions such as SHA-1 Remarks are used f h G • • • 1 2 or and . For instance, let 1024, and 160 let = SHA-1 ( , )( ) ( ) ( 0) ( 1) ( 2), ... h G n l k h G G w G w h w h w h w = = = = = • P P P PP