CSCI 5300: Computing Security will be held 07/07/25 - 08/08/25, fully asynchronous.
There will be 1.5 hours of lecture/labwork assigned per day and 15-22.5 hours of homework assigned per week.
Students spending less than 30 hours per week for 5 weeks on this course should expect to earn a low grade and learn very little.
This course provides a graduate-level introduction to computer and network security and privacy. Students successfully completing this class will be able to evaluate works in academic and commercial security and will have rudimentary skills in security research. The course covers four key topic areas: basics of cryptography and crypto protocols, network security, systems security, and privacy. Readings primarily come from seminal papers in the field.
Students,
All lectures and supplementary talks have been recorded and broadcast via YouTube Live through user @cd-public, for which there is a course specific playlist.
- General: https://youtube.com/@cd-public/streams
- Course: https://youtube.com/playlist?list=PLu3KAnn4RkATQ94mEk4PPc0jg6Seu9kKY
All course material will be hosted via GitHub pages at the following url, for which this is a course specific page.
- GitHub Page: https://cd-public.github.io/crypto/
All technologies used in the course are available free and open source. There is no textbook, but supplemental options for texts will be provided.
- The C Programming Language Brian Kernighan & Dennis Ritchie
- A Graduate Course in Applied Cryptography Dan Boneh & Victor Shoup
There is a strong trend in academia toward learning management systems like Brightspace and toward maintaining student visible gradebooks, which have strong benefits for other courses but not, I think, for mine. I note that:
- I do not use LMS systems, which I find difficult to integrate with the technology stacks that achieve core instructional goals for courses within the computational sciences.
- I do not use a student visible gradebook because I use ungrading, which I have found to be associated with stronger achievement from students in demanding courses.
Reach out via email or Discord if you want a grade check or cannot find some course materials.
Best,
-c
P.S.: Resources
"Cheat Sheets":
This course will be conducted via Podman containers on a host machine.
This course will use GitHub to distribute source code.
This course will use vim to edit code.
CSCI 5300: Computing Security will be held 07/07/25 - 08/08/25, fully asynchronous.
There will be 1.5 hours of lecture/labwork assigned per day and 15-22.5 hours of homework assigned per week.
Students spending less than 30 hours per week for 5 weeks on this course should expect to earn a low grade and learn very little.
Week | Mon | Tue | Wed | Thr | Fri | HW |
---|---|---|---|---|---|---|
0x0 (07 Jul) | Podman [s][v] | Alpine [p][c] | Cipher [s][v] | C89/99 [s][v] | Printb [p][c] | Enigma [p][c] |
0x1 (14 Jul) | Encode [s][v] | Macros [p][c] | x86-64 [s][v] | SHA256 [s][v] | Endian [p][c] | SHAinC [p][c] |
0x2 (21 Jul) | Finite [s][v] | BigNum [s][v] | BigAdd [p][c] | LibGMP [s][v] | 4bytes [p][c] | 4096_t [p][c] |
0x3 (28 Jul) | Fermat [s][v] | KeyGen [p][c] | RSAinC [p][c] | Euclid [s][v] | Ops_ui [p][c] | BigRSA [p][c] |
0x4 (04 Aug) | Malloc [s][v] | Struct [s][v] | bchain [s][v] | Graphs [s][v] | Merkle [s][v] | BTCinC [p][c] |