0% found this document useful (0 votes)
9 views

cryptography_and_Network_Security

Not

Uploaded by

rchorter
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

cryptography_and_Network_Security

Not

Uploaded by

rchorter
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

Third Edition

by William Stallings

Lecture slides by Janani


 Message Authentication
 Security Requirements
 Message encryption
 MAC
 Hash Function
 Birthday attacks
 Hash function & MAC Security
 MD 5 Algorithm
 message authentication is concerned
with:
 protecting the integrity of a message
 validating identity of originator
 non-repudiation of origin (dispute
resolution)
 will consider the security requirements
 then three alternative functions used:
 message encryption
 message authentication code (MAC)
 hash function
 disclosure
 traffic analysis
 masquerade
 content modification
 sequence modification
 timing modification
 source repudiation
 destination repudiation
 message encryption by itself also
provides a measure of authentication
 if symmetric encryption is used then:
 receiver know sender must have created it
 since only sender and receiver now key
used
 know content cannot of been altered
 if message has suitable structure,
redundancy or a checksum to detect any
changes
 if public-key encryption is used:
 encryption provides no confidence of
sender
 since anyone potentially knows public-key
 however if
 sender signs message using their private-key
 then encrypts with recipients public key
 have both secrecy and authentication
 again need to recognize corrupted
messages
 but at cost of two public-key uses on
message
 generated by an algorithm that creates
a small fixed-sized block
 depending on both message and some key
 like encryption though need not be
reversible
 appended to message as a signature
 receiver performs same computation on
message and checks it matches the
MAC
 provides assurance that message is
unaltered and comes from sender
 as shown the MAC provides
confidentiality
 can also use encryption for secrecy
 generally use separate keys for each
 can compute MAC either before or after
encryption
 is generally regarded as better done before
 why use a MAC?
 sometimes only authentication is needed
 sometimes need authentication to persist
longer than the encryption (eg. archival use)
 note that a MAC is not a digital
signature
 a MAC is a cryptographic checksum
MAC = CK(M)
 condenses a variable-length message M
 using a secret key K
 to a fixed-sized authenticator
 is a many-to-one function
 potentially many messages have same MAC
 but finding these needs to be very difficult
 taking into account the types of
attacks
 need the MAC to satisfy the following:
1. knowing a message and MAC, is
infeasible to find another message with
same MAC
2. MACs should be uniformly distributed
3. MAC should depend equally on all bits of
the message
 can use any block cipher chaining mode
and use final block as a MAC
 Data Authentication Algorithm
(DAA) is a widely used MAC based on
DES-CBC
 usingIV=0 and zero-pad of final block
 encrypt message using DES in CBC mode
 and send just the final block as the MAC
 or the leftmost M bits (16≤M≤64) of final block
 but final MAC is now too small for
security
 condenses arbitrary message to fixed
size
 usually assume that the hash function is
public and not keyed
 cf. MAC which is keyed
 hash used to detect changes to
message
 can use in various ways with message
 most often to create a digital signature
 a Hash Function produces a fingerprint
of some file/message/data
h = H(M)
 condenses a variable-length message M
 to a fixed-sized fingerprint
 assumed to be public
1. can be applied to any sized message M
2. produces fixed-length output h
3. is easy to compute h=H(M) for any
message M
4. given h is infeasible to find x s.t.
H(x)=h
• one-way property
5. given x is infeasible to find y s.t.
H(y)=H(x)
• weak collision resistance
6. is infeasible to find any x,y s.t.
H(y)=H(x)
• strong collision resistance
 are several proposals for simple
functions
 based on XOR of message blocks
 not secure since can manipulate any
message and either not change hash or
change hash also
 need a stronger cryptographic function
(next chapter)
 might think a 64-bit hash is secure
 birthday attack works thus:
m/
 opponent generates 2 variations of a
2

valid message all with essentially the same


meaning
 opponent also generates 2 m/2 variations of a
desired fraudulent message
 two sets of messages are compared to find
pair with same hash (probability > 0.5 by
birthday paradox)
 have user sign the valid message, then
substitute the forgery which will have a
valid signature
 conclusion is that need to use larger
MACs
 can use block ciphers as hash functions
 using H0=0 and zero-pad of final block
 compute: Hi = EMi [Hi-1]
 and use final block as the hash value
 similar to CBC but without a key
 resulting hash is too small (64-bit)
 both due to direct birthday attack
 and to “meet-in-the-middle” attack
 other variants also susceptible to attack
 like block ciphers have:
 brute-force attacks exploiting
 strong collision resistance hash have cost
m/
2 2

 have proposal for h/w MD5 cracker


 128-bit hash looks vulnerable, 160-bits better
 MACs with known message-MAC pairs
 can either attack keyspace (cf key search) or
MAC
 at least 128-bit MAC is needed for security
 cryptanalytic attacks exploit structure
 like
block ciphers want brute-force attacks
to be the best alternative
 have a number of analytic attacks on
iterated hash functions
 CV = f[CVi-1, Mi]; H(M)=CVN
i
 typically focus on collisions in function f
 like block ciphers is often composed of
rounds
 attacks exploit properties of round functions
 MD5 algorithm was developed by
Professor Ronald L. Rivest in 1991.
 MD5 message-digest algorithm takes as
input a message of arbitrary length and
produces as output a 128-bit
"fingerprint" or "message digest" of the
input
 The MD5 algorithm is intended for
digital signature applications, where a
large file must be "compressed" in a
secure manner before being encrypted
with a private (secret) key under a
public-key cryptosystem such as RSA.”
Step1 Append padding bits
The input message is "padded"
(extended) so that its length (in bits) equals
to 448 mod 512.
Padding is always performed, even if the
length of the message is already 448 mod
512.

Padding is performed as follows: a single "1"


bit is appended to the message, and then
"0" bits are appended so that the length in
bits of the padded message becomes
congruent to 448 mod 512. At least one bit
and at most 512 bits are appended.
 Step2. Append length
A 64-bit representation of the length
of the message is appended to the
result of step1. If the length of the
message is greater than 2^64, only
the low-order 64 bits will be used.
The resulting message (after padding
with bits and with b) has a length
that is an exact multiple of 512 bits.
The input message will have a length
that is an exact multiple of 16 (32-bit)
words.
 Step3. Initialize MD buffer
A four-word buffer (A, B, C, D) is used to
compute the message digest. Each of A, B,
C, D is a 32-bit register. These registers are
initialized to the following values in
hexadecimal, low-order bytes first):

word A: 01 23 45 67
word B: 89 ab cd ef
word C: fe dc ba 98
word D: 76 54 32 10
 Step4. Process message in 16-word blocks
Four functions will be defined such that
each function takes an input of three 32-bit
words and produces a 32-bit word output.

F (X, Y, Z) = XY or not (X) Z


G (X, Y, Z) = XZ or Y not (Z)
H (X, Y, Z) = X xor Y xor Z
I (X, Y, Z) = Y xor (X or not (Z))
Round 1.

[abcd k s i] denote the operation a = b +


((a + F (b, c, d) + X [k] + T [i]) <<< s).

Do the following 16 operations.


[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17
3] [BCDA 3 22 4]
[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17
7] [BCDA 7 22 8]
[ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17
11] [BCDA 11 22 12]
[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17
15] [BCDA 15 22 16]
 have considered:
 message authentication using
 message encryption
 MACs
 hash functions
 general approach & security

You might also like