Updated Crypto Assignment 2