Beginning Cryptography with Java by David Hook