Cryptography(By Dan Boneh)
lecture1: introduction
introduce to cryptography


Secure multi-party computation:


Outsourcing computation:

Zero knowledge:

Three steps in cryptography:

history of symmetric cipher:
Symmetric ciphers:

1 Substitution cipher:

e.g. Caesar Cipher:

how to break:

2 Vigener cipher:

how to break:
know the key length:

not know the key length:
assume key = 1,2,3, …, n
3 Rotor Machines:


4 Data Encryption Standard:

Discrete Probability:
Probability distribution:

Events:

The union bound:

Random Variables:

The uniform random variable:

Randomized algorithms:

Independence:

An important property of XOR:

The birthday paradox:

Cipher definition:


Lecture2: Stream Ciphers
1 The One Time Pad:


Information Theoretic Security:(Shannon 1949) (Perfect secrecy)


Stream Ciphers:


PRG must be unpredicable:



Negligible and Non-negligible:

e.g.

Attack on OTP and stream cipher
Attack1: two time pad(used twice):


Attack2: no integrity(OTP is malleable)

2 RC4:

3 CSS:


4 eStream:



PRG Security Def.

Statistical tests:


Advantage:

e.g.

Secure PRGs: crypto def.

unpredictable:



Computationally indistinguishable:

Sematic security:



e.g.

e.g.

Stream ciphers are semantically secure:






Lecture3: Block ciphers
introduction to block ciphers:



PRF:

PRP:


Secure PRFs:



Secure PRP:

PRF => PRG

DES(The data encryption standard)

Feistel Network:







Security of DES:
Exhaustive Search for block cipher key:


DES challenge:


Strengthening DES against ex. search:


More attack:
1 side channel attacks:

2 Fault attack:

(make sure correctness before output ciphertext)
3 Linear and differential attacks:


4 Quantum attacks:


AES:
Substitution-Permutation network:







Attacks to AES:

more block ciphers:
PRF from PRG:


PRP from PRF:

Lecture4: using block ciphers
PRF Switching Lemma:

One-time key
Incorrect use of a PRP:



Many-time key:
Semantic Security for many-time key:


Ciphers insecure under CPA:


solution1: randomized encryption:

solution2: Nonce-based Encryption:



Modes of operation:
Cipher block chain(CBC):




CBC’: nonce-based CBC

CBC technicality: padding:

Randize counter mode:

nonce ctr-mode:




Lecture5: Message integrity:
MACs(Message Authentication Code):

Security:


Mac based on PRFs:

Security:



CBC-MAC(ECBC, CMAC):

Security:

NMAC(Nested MAC):

Security:


MAC Padding:
CMAC(NIST standard):

A parallel MAC(PMAC):

Security:

One-time MAC:

Carter-Wegman MAC(Many-time MAC):

HMAC:
Collision resistance:



Attack for Collision resistance:
Generic attack:

The birthday paradox:

The Merkle-Damgard iterated construction:

(if no space for PB, add another block)
collision resistance:

compression function from a block cipher:


HMAC construction:




Timing attack on MAC verification:




Lecture6: Authenticated Encryption:
Sample tampering attacks:
reading someone else’s data:


attack using network access:

Definition of authenticated encryption:
goals:


ciphertext integrity:

authenticated encryption:

implication:
authenticity:

against chosen ciphertext attack:
example of ciphertext attack:

chosen ciphertext security:




authenticated encryption => CCA:



Construct from ciphers and MACs:
Combing MAC and ENC(CCA):



Standards:

OCB: direct construction from a PRP:

Performance:

Case study:
TLS:



Bugs in older versions:

Attacks:
Padding attack:


solution:

Attacking non-atomic decryption:



leture7: Odds and ends
Key derivation:
one key to many key:
source key is uniform:

source key is not uniform:


e.g.,


Deterministic encryption:







Constructions:
Synthetic IV (SIV):



Just use PRP:




Tweakable encryption:




trivial construction:

XTS constraction:


Format preserving encryption:




lecture8: Key exchange
Key management:



key exchange without online TTP:
Merkel puzzles:



Diffie-Helloman protocol:




Public-key encryption:




Lecture9: Number Theory:
Notation:




GCD:

Modular inversion:


Fermat’s theorem:


Euler’s generalization of Fermat:

Modular e’th roots:



Quadratic residue:





Representing bignums:

Arithmetic:

Exponentiation:


Intractable problems:
discrete logarithm:




Lecture10: Public Key Encryption(RSA-based)





Construction:
Trapdoor functions(TDF):


public-key encryption from TDFs

Incorrect use:

RSA trapdoor function:

RSA assumption:

RSA public-key encryption:

Textbook RSA is insecure:


PKCS1:





Is RSA a one-way permutation?



RSA in practice:



Lecture11: Public Key Encryption(Diffie-Hellman-based)

ElGamal:



Security:





Variants of ElGamal:

Twin ElGamal:

A Unifying Theme:
One-way function:




文档信息
- 本文作者:Yang Jucai
- 本文链接:https://yangjucai.github.io//2023/07/15/Cryptography(By-Dan-Boneh)/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
