Some checks failed
Sync from Gitea (main→main, keep workflow) / mirror (push) Has been cancelled
1.9 KiB
1.9 KiB
CSE4303 Introduction to Computer Security (Lecture 7)
Cyptography in Symmetric Systems
Symmetric systems
Symmetric (shared-key) encryption
- Classical techniques
- Computer-aided techniques
- Formal reasoning
- Realizations:
- Stream ciphers
- Block ciphers
Stream ciphers
- Operate on PT one bit at a time (usually), as a bit "stream"
- Generate arbitrarily long keystream on demand
Security abstraction:
- XOR transfers randomness of keystream to randomness of CT regardless of PT’s content
- Security depends on G being “practically” indistinguishable from random string and “practically” unpredictable
- Idea: shouldn’t be able to predict next bit of generator given all bits seen so far
Keystream G(k)
- Idea: shouldn’t be able to predict next bit of generator given all bits seen so far
- Strategies and challenges: many!
- Idea that doesn’t quite work: Linear Feedback Shift Register (LFSR)
- Choice of feedback: by algebra
- Pro: fast, statistically close to random
- Problem: susceptible to cryptanalysis (b/c linear)
- LFSR-based
- Modifications to basic LFSR:
- Use non-linear combo of multiple LFSRs
- Use controlled clocking (e.g. only cycle the LFSR when another LFSR outputs a 1)
- Etc.
- Others: mod arithmetic-based, other algebraic constructions
Block ciphers
- Operate on PT one block at a time
- Use same key for multiple blocks (with caveats)
- Chaining modes intertwine successive blocks of CT (or not)
View cipher as a Pseudo-Random Permutation (PRP)
- PRP defined over
(K, X):
E: K \times X \to X
such that:
- There exists an “efficient” deterministic algorithm to evaluate
E(k,x). - The function
E( k, \cdot )is one-to-one. - There exists an “efficient” inversion algorithm
D(k,y).
- i.e. a PRF that is an invertible 1-to-1 mapping from message space to message space