Practical aspects of cryptography. Pseudo random number generation, symmetric cryptography (stream and block ciphers), modes of operation, hash functions, message and entity authentication protocols, zero knowledge, pitfalls deploying public-key encryption and digital signatures, key distribution, secret-sharing. Precludes additional credit for COMP 4103. Prerequisite(s): one of COMP 2402, COMP 2002, SYSC 2100, and a MATH course at the 2000-level or above.Lectures three hours a week.