This course is designed to provide students a thorough understanding of computer security Technologies. This includes high-level issues such as security policy (modeling what ought to be protected) and engineering ; cryptography and its underlying mathematics; and a wide variety of attacks ranging from network exploits through malicious code to protocol failure.