Cryptography algorithms
Theory: Galois, prime numbers, Fermat, Euclidean
Symmetric block ciphers : Feistel, DES , AES , ...
Symmetric ciphers mode of operation: ECB, CBC, CFB, OFB, XTS-AES, GCM, CCM, KW
Hashing: SHA2, SHA3, perceptual hashing, ...
Random numbers: TRNG, PRNG, ANSI X 9.17
Stream ciphers: RC4, others, ...
Asymmetric cyphers : RSA , Diffie-Helman , El-Gamal, ECC , ...
Data integrity algorithms : Hash functions , MAC , DSA, ECDSA, RSA-PSS, ...
Mutual trust : Distribution of keys , X.509, PKI , ...
Applying crypto
Cryptography protocols
Cryptography applications: files, messages, databases, disks, e-id
Achieving privacy in a distributed network
Use of crypto in bitcoin and blockchain
Modern crypto / blockchain / distributed: secret sharing, secure multiparty, post quantum, homomorphic, attribute based / identity based encryption, electronic voting, light-weight crypto, zero-knowledge proof, oblivious RAM, blockchain
Differential privacy and other privacy preserving methods: PPDM, PPDP, PPML, federated learning
Cryptanalysis
Crypto libraries
Crypto guidelines
Using Python modules to apply these concepts