0. Check the version of OpenSSL. Base64: 1. Use rand command and generate random file rand.bin of 10 bytes. 2. Open rand.bin in text editor (e.g. in Notepad++) and look at the content. 3. Use enc command and transform rand.bin to base64. 4. Check padding of "0", "01","012",... transformed to base64. Hashing: 6. Check the correctness of implementation of md5. 7. Compute hash of empty string and save it in binary form to hash.bin. 8. Compute hash of rand.bin and store result as SHA1_hex.txt in hex. 9. Change arbitrary bit of rand.bin(transform to base64 change by hand and transform back, or use hexdump), compute SHA1 hash and compare the result with SHA1_hex.txt. 10. Check integrity of openssl-1.1.1h.tar.gz file from https://www.openssl.org/source/ (based on published hash). 11. Compute sha1 hash of shattered-1.pdf and shattered-2.pdf. Open both pdf files and see that they are different. Encryption 12. Encrypt arbitrary string using AES128 ECB with key K derived from password/passphrase (defaul option). 13. Check ciphertext when 1 bit of plaintext or 1 bit of K is changed. 14. Encrypt file.txt of many (>100x) 11111111.... to file.ecb using ecb mode. Do you see any pattern? 15. Transform file file.ecb to base64. Do you see any pattern? 16. Repeat previous step with cbc mode. Do you see any pattern now. 17. Encrypt 15 ("123456789012345") and 16 bytes of characters ("1234567890123456") with AES. Was padding used in both cases?