Applied Cryptography Course at the American University of Beirut
Find a file
2025-11-13 17:10:26 +02:00
exams Begin exam prep 2025-09-09 17:02:04 +03:00
misc Slides 2.5: prep 2025-10-30 11:58:12 +02:00
objects Begin exam prep 2025-09-09 17:02:04 +03:00
problem-set Topic 2.5: Some modifications 2025-10-28 11:32:32 +02:00
project More Project migration things 2025-09-03 20:27:22 +03:00
quiz Topic 2.5: Some modifications 2025-10-28 11:32:32 +02:00
slides linear algebra notes regarding LWE and KEM + small fixes 2025-11-11 11:27:57 +02:00
starter-kit Go starter kit: Add Scrypt 2025-09-24 14:07:31 +03:00
syllabus Syllabus: add a disclaimer 2025-10-17 09:57:44 +03:00
website added open-source exhaustive hax documentation (Daniel Dia) 2025-11-13 17:10:26 +02:00
.gitattributes Update .gitattributes 2025-08-13 06:25:11 +02:00
.gitignore Starter Kit (Go) 2025-09-17 15:47:46 +03:00
CONTRIBUTORS.md Contributors: add Jad Elmoghraby 2025-11-10 11:21:42 +02:00
Makefile Migrate Labs to Take-Home Projects 2025-09-03 19:57:43 +03:00
README.md Starter Kit (Go) 2025-09-17 15:47:46 +03:00

Applied Cryptography

This repository contains source code of the course materials for Applied Cryptography (CMPS 297AD/396AI) at the American University of Beirut.

Contents

  • project: Project sheets.
  • misc: LaTeX dependencies.
  • problem-set: Problem sets.
  • quiz: Self-assessment quizzes.
  • slides: Lecture slides.
  • starter-kit: Cryptography implementations starter kits, written in Go and Rust, for use during practical sessions.
  • syllabus: Course syllabus.
  • website: Course website.

Compiling LaTeX Materials

Before compiling any of the LaTeX materials, download and install Tectonic.

Then:

  • make all: Compiles all the slides, project sheets, problem sets and the syllabus.
  • make slides: Compiles all the slides.
  • make project: Compiles all the project sheets.
  • make problem-set: Compiles all the problem sets.
  • make quiz: Compiles all the self-assessment quizzes.
  • make syllabus: Compiles the syllabus.
  • make clean: Deletes all compiled PDF output.

You can also do stuff like this:

  • make slides-2-4: Compiles only Slides 2.4.
  • make project-proverif-model: Compiles only the ProVerif modeling project sheet.
  • make problem-set-4: Compiles only Problem Set 4.
  • make quiz-1-8: Compiles only the self-assessment quiz for topic 1.8.

You get the drift.

All compiled output PDFs will be in their respective directory in the objects folder:

  • objects/slides contains the compiled slides PDFs.
  • objects/project contains the compiled project sheet PDFs.
  • objects/problem-set contains the compiled problem set PDFs.
  • objects/quiz contains the compiled self-assessment quiz PDFs.
  • objects/syllabus contains the compiled syllabus PDF.

It really is that simple!

Author & License

Applied Cryptography at the American University of Beirut by Nadim Kobeissi is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.