(Taken from the UC Berkeley Course Guide)
Introduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems.
CS 61C; CS 70 or MATH 55
3 hours of lecture and 1 hour of discussion per week.