Use MD5 collision attack to create two different programs that have the same MD5 hash value.
Use hash length extension attack to create MAC without knowing the secret MAC key.
Write a program to implement the RSA algorithm, and use it to do encryption, decryption, signature generation and verification.
Explore the secret-key encryption and its applications using OpenSSL.
Learn how to generate pseudo random numbers that are strong for security purposes.
Explore public-key cryptography, digital signature, certificate, and PKI using OpenSSL.