Writing TLS client, server, and proxy program using Python.
Explore public-key cryptography, digital signature, certificate, and PKI using OpenSSL.
Write a program to implement the RSA algorithm, and use it to do encryption, decryption, signature generation and verification.
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.
Explore the secret-key encryption and its applications using OpenSSL.
Learn how to generate pseudo random numbers that are strong for security purposes.