This course covers the overall contents of information security. Students will be exposed to fundamental concepts in information security including cryptography, system security, software security, web security, and network security. This course introduces how security attacks occur in modern computing environments. Students will also have opportunities to understand techniques to discover and disable such security attacks.
Notice that participation does not mean attendance but includes various activities during the semester. There is no attendance score because attendance is expected by default.
This course includes written and programming assignments.
Students will use a few tools which are described here.
All submissions will be managed using Github.
For each assignment, a unique invitation URL for Github Classroom will be posted in the issue board.
Once you accept the invitation, a private repository for your assignment will be created.
You can push as many commits as you want before the deadline. We will grade the final commit of your main
branch.
The late homework policy is as follows:
Students who violate academic integrity will get F. See the KAIST CS honor code.
# | Topics | Reading | Homework |
---|---|---|---|
0 | Functional Programming in OCaml | HW0: Hello-world, OCaml programming | |
1 | Introduction | ||
2 | Concepts in Security | ||
3 | Classical Cryptography | IMC Ch1 | HW1: Classical Cryptography |
4 | Symmetic-key Encryption | IMC Ch2, Ch3, AES Visualization | HW2: Mini-AES |
5 | Message Integrity | IMC Ch4, ![]() |
|
6 | Availability | ||
7 | Public-key Cryptography | IMC Ch11, Ch12, Ch13, ![]() |
HW3: Mini-RSA |
8 | Access Control | Zelkova | HW4: Access Control System |
9 | Web Security | CSI Ch9 | |
10 | Software Vulnerabilities | HW5: Exploitation | |
11 | Safe Programming Systems | ![]() ![]() ![]() |
|
12 | Dynamic Analysis and Fuzzing | HW6: Fuzzer | |
13 | Static Analysis | CACM'19, Zoncolan | HW7: Static Analyzer |
- | Final Exam |
See the outstanding achievement of our friends here.
A large part of the slides is based on the lecture notes of Prof. Min Suk Kang at KAIST.