cryptographic hashing
Summary
Types of hashes
- unkeyed hash
- simple hash function
- eg. MD5, SHA1
- keyed hash(mac)
- signature(public key mac)
- signed using private key
- relies on RSA’s homomorphic property
signature’s provide non-repudiation since only the sender has the private key
Hash properties
One pool birthday attack
- two messages have the same hash
- among
messages and hashes
Two pool birthday attack
- number of collisions between two groups of
bit chunks
Collision resistance/strength
Concept
Hash
- sent alongside the message
- check for data-origin authenticity
Birthday attacks
- finding a collision
- how many message do we have to check to have a high chance,
of finding a collision
Alongside encryption
- encrypt-and-hash
- integrity of
, but not of
- encrypt-then-hash
- ensures integrity of
- hash-then-encrypt
only suitable for
Storage structures
- hash array - matrix
- hash chain - linear
- merkle tree - tree
Storage operations
insert(f)- insert file
fto the structure
- insert file
verify(i,j)- check hashes for the files at index
itoj
- check hashes for the files at index
update(i, f)- replace the file at
iwithf
- replace the file at
Application
Non-collision resistant hash
- using xor properties