Skip to content

Course topics & links for crypto & appsec course taught in 2021

Notifications You must be signed in to change notification settings

kris-classes/crypto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cryptography Fundamentals course (now with some AppSec)

Details

Most of the content (and lecture recordings) are on Moodle but I'm adding a list of topics & some resources here for anyone who wants to quickly browse them.

Book/Tutorial Recommendations

YouTube Channels

People

Podcasts

Conferences

Communities

Week 1

Topics:

  • History
  • Classical Ciphers
  • XOR
  • GitHub
  • Kali
  • Python Basics
  • cryptii.com - Website with many interactive ciphers/encoding.
  • GCHQ CyberChef
  • repl.it - Online code editor

Week 2

Topics

  • Binary
  • ASCII
  • Hexadecimal
  • Attack Model
  • Kerckhoff's Principle
  • Python's Cryptography Library
  • Python - cryptography - Cryptography library for Python

Week 3

Topics

  • Padding, Cribs, and NSA Archive on Archive.org
  • Key Reuse with One-Time Pad
  • Frequency Analysis & Classical Cipher Example
  • Cryptanalysis Attack Models/Types
  • JetBrains IDEs & PyCharm
  • Kali Linux & VirtualBox
  • Randomness & Pseudo-Random Number Generators (PRNGs)
  • Confusion & Diffusion
  • Ciphertext Indistinguishability (IND) and Non-Malleability (NM)
  • ARX (Add-Rotate-XOR) Ciphers
  • S-Boxes (Substitution) and P-Boxes (Permutation)

Week 4

Topics

  • ARX Ciphers continued
  • Block Ciphers
  • P-Boxes, S-Boxes, Substitution-Permutation Networks (SP Network)
  • Parity Bits
  • Question about VPNs
  • Feistel Networks
  • DES - Data Encryption Standard, DES-X & Key whitening, Triple-DES aka 3DES
  • AES - Advanced Encryption Standard
  • Block Cipher Modes of Operation

Week 5

Topics

  • Confidentiality
  • Block Cipher Modes of Operation (Confidentiality-only): ECB, CBC, CTR, OFB, CFB.
  • Stream Ciphers
  • Nonce: Number-used-only-ONCE.
  • Cryptographic Oracle & Oracle Attack
  • Integrity: Parity Bits (revision), Check-Digits, Checksums
  • Common Vulnerabilities & Exposures (CVE)
  • Hashing (brief overview - more to come)
  • Message Authentication Codes (brief overview - more to come)
  • Dates, Time, and Timezones (Answering question from student)
  • Sockets & Netcat (brief overview - more to come)
  • Threading (brief overview - more to come)

Week 6 - No Classes due to Easter Holidays

Week 7

  • Netcat
  • UNIX: /etc/services & ports, less, pipes
  • Hex Editors & Assembly Language Basics
  • UNIX: Manpages, Keyboard Shortcuts / Signals, System Calls, /proc
  • Library Security & Supply Chain Attacks
  • Sockets with Python / Homework Review
  • Netcat & Reverse Shells
  • HTTP, curl, Requests & Responses
  • Python: Classes & Files
  • Mirai Botnet Quick Code Review
  • CTFs & upcoming HackTheBox Cryptapocalypse

Week 8

Topics

  • Message Authentication Codes
  • Authenticated Encryption (AE)
  • Hashing & Passwords
  • Diffie-Hellman Key Exchange
  • Public Key Cryptography

Week 9

Topics - Week 8 topics in more detail

  • Message Authentication Codes
  • Authenticated Encryption (AE)
  • Hashing & Passwords: SHA2, SHA3, bcrypt, scrypt, Argon2
  • Diffie-Hellman Key Exchange
  • Public Key Cryptography

Week 10

Topics

  • RSA
  • Elliptic Curve Cryptography (ECC) & ECDH
  • Computational Hardness: Integer Factoring & Discrete Log
  • Digital Signatures & Non-repudiation
  • Public Key Infrastructure (PKI)
  • Transport Layer Security (TLS)

Week 11

Topics

  • Web Security Basics
  • APIs
  • OAuth
  • OWASP Top 10
  • Containers

Week 12

Topics

Week 13

Topics

  • More C
  • x86/64 Assembly

Week 14

Topics

  • Revision
  • Practice Test

Week 15

Topics

  • Test

Week 16 - CVE Presentations

About

Course topics & links for crypto & appsec course taught in 2021

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages