Applied Cryptography
Plain: A … Z
Cipher: map a letter (like A) first, then list the rest of the alphabet
cryptographic primitive includes:
- one-way hash
- encryption functions
- private key crypto, public key crypto
- digital signatures
- cryptographically secure pseudo-random number generator
- authentication
-
mix network (onion routing such as Tor)
- symmetric encryption = private key asymmetric encryption = public key
- something is computationally indistinguishable if given a set of input, there is no result is uniform in time or rather the output is a negligible function
- non-malleable means they cannot mess with the ciphertexts
- Salting a password is important to protect against dictionary attacks and pre-computed rainbow attacks.
1 History of cryptography, some background in probability and algorithms, classical cryptography (shift cipher, monoalphabetic substitution cipher, polyalphabetic substitution cipher), encryption with perfect secrecy, one-time pad; implementation aspects: shared secret randomness vs perfect secrecy
2 Some background in algorithms and complexity theory, modern cryptography principles, one-way functions, trapdoor functions, hard-core bits, construction of a public-key cryptosystem based on general cryptographic primitives, implementation aspects: computational efficiency vs hardness
3 Algorithmic number theory, number theory and cryptographic assumptions, Reductions, proofs by reductions, number theory candidates for cryptographic primitives (e.g., factoring and related problems), public-key cryptosystems from number theory problems; brief discussion of quantum computing; implementation aspects: large integer arithmetic for implemented public-key cryptosystems
4 Randomness and pseudo-randomness, pseudo-random generators, functions and permutations. Symmetric encryption: introduction, security notions, symmetric encryption schemes based on pseudo-randomness primitives, security proofs, fundamental concepts; implementation aspects: generating and testing randomness
5 Symmetric encryption: block ciphers (e.g., DES, Triple-DES, AES), substitution/permutation networks, Feistel networks, modes of operations (e.g., ECB, CBC, OFB, Counter), cryptanalysis attacks (e.g., exhaustive, linear, differential, meet-in-the-middle attack), key lengths; implementation aspects: security-performance-features tradeoffs
6 Message authentication: introduction, notion and schemes (e.g., CBC-MAC), collision resistant hashing (MD5, SHA-1, SHA-2, SHA-3, HMAC, Merkle-Hellman), CCA security for symmetric encryption, simultaneous message confidentiality and message integrity, the GCM mode, application case study 1: password-based secure computer access; implementation aspects: security performance-features tradeoffs
7 More number theory candidates for cryptographic primitives (e.g., discrete logarithms, brief discussion of related problems including elliptic curves). Asymmetric encryption: comparison with symmetric encryption, definitions, constructions (e.g., RSA variants, El Gamal), hybrid encryption; implementation aspects: security-performance-features tradeoffs
8 Asymmetric encryption: malleable and homomorphic encryption notion and schemes (e.g., Paillier, brief discussion of various schemes, including Gentry’s), additional schemes achieving various security notions in various models (e.g., Cramer-Shoup), identity-based encryption; implementation aspects: security-performance-features-trust tradeoffs
9 Property-preserving public-key encryption, secure 2-party computation, secure multi party computation; application case study 2: sugar beet auction;implementation aspects of cryptographic protocols: transport layer, protocols over secure channels
10 Digital Signatures, hashing and signing, Hashed RSA, El Gamal and DSA signature schemes, public-key infrastructures, certificates, cryptography in TLS, IPSec and virtual private networks, NSA Suite B, application case study 3: secure online purchasing; implementation aspects: trust models, PKI implementation challenges
11 Key protocols: key transport, key agreement, notions and schemes (e.g., Diffie-Hellman schemes); key management: concepts and lifecycle; code obfuscation, application case study 4: digital rights management; quantum computing, quantum-resistant cryptography; implementation aspects: creating correct and secure programs, quality of code, side-channel attacks, implementation flaws
12 Key lengths and recommendations, user authentication: password, challenge-response and zero-knowledge protocols; server authentication; application case study 5: secure online banking; digital cash, application case study 6: keeping/storing secrets, blockchain, application case study 7: cryptocurrencies; implementation aspects: weakest key, key modularity
Digital Certificate
used to verify user identity, which gives you nonrepudiation
- Version, most common is V1
- Serial
- Subject
- Algorithm ID
- Issuer
- Valid from/to
- Key usage
- Subject’s public key
- Optional fields
Public Key Infrastructure
A PKI manages digital certificates.
PKI uses asymmetric encryption and useful when passwords alone aren’t enough.
SSL is managed by PKI.
PKI lets you bind a public key (which is contained in the SSL certificate) to an entity, so you can trust it.
cybersecurity
crypto
]