Introduction to Cryptography and Computer Security
The overall goal of the course is to provide a solid theoretical foundation and hands-on experience in applying the theory to practice for cryptography, computer and communication security. The course materials cover common attack techniques, application of cryptography in security, authentication and authorization, network security, enterprise network defense, web security, and economics of cybersecurity. Besides the mechanisms for enhancing security that will be taught, a significant part of the course is dedicated to discussions on how design flaws in a system can be exploited to compromise security and, in general, the circumstances that lead to things going wrong. Students will have the opportunity to work on course projects that cover both the defense and offense aspects in the cyber space. Interesting research topics may be derived from course projects.
Updated on a regular basis. Use your KU Online ID (all numeric is not correct) and password to access the slides and other materials.
Jan 20, 2026![]() |
Lecture 1 | Introduction Supplemental readings:
|
video, slides |
Jan 22, 2026![]() |
Lecture 2 | Buffer Overflow Exploit
|
video, slides |
Jan 27, 2026![]() |
Lecture 3 | Buffer Overflow Exploit (continued) Supplemental readings: |
video |
Jan 29, 2026![]() |
Programming Assignment 1 (Lecture 4) |
Remote Buffer Overflow Attack If you choose to use a host in 2003 Eaton for PA1, please see Using Clonezilla |
pa1, video |
Feb 3, 2026![]() |
Lecture 5 | Mitigation of Buffer Overflow Exploits Due to a technical glitch, the video has no sound. |
video, slides |
Feb 5, 2026![]() |
Lecture 6 | Mitigation of Buffer Overflow Exploits (continued)
Reading Assignment Presentations Reading assignment 1 (Presentation 1, Presentation 2, Presentation 3): The Geometry of Innocent Flesh on the Bone: Return-into-libc without Function Calls (on the x86). Reading Assignment 2 (Presentation 4, Presentation 5, Presentation 6): Hacking Blind. Supplemental readings:
|
video, slides |
Feb 10, 2026![]() |
Lecture 7 | Basic Cryptography Reading assignment 3 (Presentation 7, Presentation 8, Presentation 9): Framing Signals - A Return to Portable Shellcode. Reading Assignment 4 (Presentation 10, Presentation 11, Presentation 12): ASLR-Guard: Stopping Address Space Leakage for Code Reuse Attacks. Supplemental readings:
|
video, slides |
Feb 12, 2026![]() |
Lecture 8 | Authentication and Authorization Supplemental readings:
|
video, slides |
Feb 17, 2026![]() |
Programming Assignment 2 (Lecture 9) | Windows Remote Buffer Overflow Attack Reading assignment 5 (Presentation 13, Presentation 14, Presentation 15): Modeling and Discovering Vulnerabilities with Code Property Graphs. Reading Assignment 6 (Presentation 16, Presentation 17, Presentation 18): How to Make ASLR Win the Clone Wars: Runtime Re-Randomization. Reading Assignment 7 (Presentation 19, Presentation 20, Presentation 21): Shuffler: fast and deployable continuous code re-randomization. |
pa2, video, slides |
Feb 19, 2026![]() |
Lecture 10 | Practical Authentication Protocols |
video, slides |
Feb 24, 2026![]() |
Lecture 11 | Man-in-the-Middle Attacks Reading assignment 8 (Presentation 22, Presentation 23, Presentation 24, and Presentation 25): FuzziFication: Anti-Fuzzing Techniques |
video, slides |
Feb 26, 2026![]() |
Homework 1 (Lecture 12) |
Authentication in a Distributed Environment (Kerberos) Supplemental readings: |
hw1, video, slides |
Mar 3, 2026![]() |
Presentations (Lecture 13) |
Reading Assignment Presentations: Reading Assignment 1 (Presentation 1, Presentation 2, Presentation 3) Reading Assignment 2 (Presentation 4, Presentation 5, Presentation 6) |
|
Mar 5, 2026![]() |
Presentations (Lecture 14) |
Reading Assignment Presentations: Reading Assignment 3 ( Presentation 7, Presentation 8, Presentation 9) Reading Assignment 4 ( Presentation 10, Presentation 11, Presentation 12) |
|
Mar 10, 2026![]() |
Final Report (Lecture 15) |
Public-Key Infrastructure (PKI)
Final Report - Requirements, Guidelines, and Example Topics
|
video, slides |
Mar 12, 2026![]() |
Lecture 16 | Introduction to Network Security Supplemental readings:
|
video, slides |
| Mar 16-20, 2026 | Spring Break (No Lectures) |
Enjoy the break! | |
| Lectures | Tuesday & Thursday 11:00am - 12:15pm, 2003 Eaton Hall |
| Instructor | Alex Bardas Office Hours: Tuesday and Thursday 12:30pm - 1:30pm in 2040 Eaton Hall (Email appointment is needed to schedule a meeting over Zoom) alexbardas |
| Graduate Teaching Assistant | Bryan Richlinski Office Hours: Wednesday 9:30am - 10:30am and Friday 12pm - 1pm in 2003 Eaton Hall (Email appointment is needed to schedule a meeting over Zoom) b748r023
|
The syllabus is available through Simple Syllabus: EECS 765 Syllabus (Spring 2026).
Check the syllabus frequently since its content is subject to change throughout the semester.
Announcements: You are responsible for all announcements we make during the lectures, over Canvas, and/or email. Announcements may include information about assignments, changes in the syllabus, etc.
The course materials are adapted from a previous version of the course taught by Xinming (Simon) Ou together with Xiaolong (Daniel) Wang. Some additional materials are adapted from the BlackHat Exploit Laboratory (thanks to Saumil Shah and S.K. Chong who kindly permit the use of their materials).