Unit 4: Hash Functions
This unit will introduce the concept of "hash" and then present the important MD5 and SHA-1 hash functions. (MD5 is a widely used cryptographic hash function with a 128-bit hash value, and SHA-1 is a cryptographic hash function designed by the National Security Agency.) We will finish the unit with a look at message authentication code, sometimes called a "keyed hash function."
Completing this unit should take you approximately 19 hours.
4.1: Cryptographic Hash
Read this page about cryptographic hashes. Understand what hash is, how hash works, how to use it with UNIX, and issues related to collisions.
4.2: Cryptographic Hash Functions
4.2.1: MD5
Read about the MD5, which is a widely used cryptographic hash function. Make sure you understand the MD5 algorithm.
4.2.2: SHA-1
Read about the cryptographic hash function designed by the National Security Agency. Make sure you understand SHA-1 pseudo code.
4.2.3: Message Authentication Code
Read the linked article about message authentication code. Make sure you understand the examples in the article.
4.3: Cryptographic Hashing Function in Code
Create a Java language program that runs cryptographic hashing function. One possible solution can be found in this article. Study the solution code only after you have solved the problem or spent a substantial amount of time working on it.