Applied Cryptography Programming assignments