SLIDE 1 Cryptography
Manoj Prabhakaran
University of Illinois Urbana-Champaign
Lecture 0
SLIDE 2
In the News
“Properly implemented strong crypto systems are one of the few things that you can rely on. ”
SLIDE 3
In the News
“Properly implemented strong crypto systems are one of the few things that you can rely on. ” “… Unfortunately, endpoint security is so terrifically weak that [the adversary] can frequently find ways around it. ”
SLIDE 4
What is Cryptography?
SLIDE 5
What is Cryptography?
It’ s all about controlling access to information
SLIDE 6
What is Cryptography?
It’ s all about controlling access to information A tool for enforcing policies on who can learn and/or influence information
SLIDE 7
What is Cryptography?
It’ s all about controlling access to information A tool for enforcing policies on who can learn and/or influence information Do we know what we are talking about?
SLIDE 8
What is information?
SLIDE 9
What is information?
Or rather the lack of it?
SLIDE 10
What is information?
Or rather the lack of it? Uncertainty
SLIDE 11
What is information?
Or rather the lack of it? Uncertainty The word is Entropy
SLIDE 12
What is information?
Or rather the lack of it? Uncertainty The word is Entropy Borrowed from thermodynamics
SLIDE 13 What is information?
Or rather the lack of it? Uncertainty The word is Entropy Borrowed from thermodynamics
Rudolf Clausius
SLIDE 14 What is information?
Or rather the lack of it? Uncertainty The word is Entropy Borrowed from thermodynamics
Rudolf Clausius Ludwig Boltzmann
SLIDE 15 What is information?
Or rather the lack of it? Uncertainty The word is Entropy Borrowed from thermodynamics
Rudolf Clausius Ludwig Boltzmann Claude Shannon
SLIDE 16 What is information?
Or rather the lack of it? Uncertainty The word is Entropy Borrowed from thermodynamics An inherently “probabilistic” notion
Rudolf Clausius Ludwig Boltzmann Claude Shannon
SLIDE 17 What is information?
Claude Shannon
SLIDE 18 What is information?
Information Theory: ways to quantify information
Claude Shannon
SLIDE 19 What is information?
Information Theory: ways to quantify information Application 1: to study efficiency
- f communication (compression,
error-correction)
Claude Shannon
SLIDE 20 What is information?
Information Theory: ways to quantify information Application 1: to study efficiency
- f communication (compression,
error-correction) Application 2: to study the possibility of secret communication
Claude Shannon
SLIDE 21 What is information?
Information Theory: ways to quantify information Application 1: to study efficiency
- f communication (compression,
error-correction) Application 2: to study the possibility of secret communication The latter turned out to be a relatively easy question! Secret communication possible only if (an equally long) secret key is shared ahead of time
Claude Shannon
SLIDE 22
Access to Information
SLIDE 23
Access to Information
A second look
SLIDE 24
Access to Information
A second look Information at hand may still not be “accessible” if it is hard to work with it
SLIDE 25
Access to Information
A second look Information at hand may still not be “accessible” if it is hard to work with it Computation!
SLIDE 26
Access to Information
A second look Information at hand may still not be “accessible” if it is hard to work with it Computation! Shannon’ s information may reduce uncertainty only for computationally all-powerful parties
SLIDE 27
Computational Complexity
SLIDE 28
Computational Complexity
A systematic study of what computationally bounded parties can and cannot do
SLIDE 29 Computational Complexity
A systematic study of what computationally bounded parties can and cannot do A young and rich field
Alan Turing Stephen Cook Leonid Levin Richard Karp
SLIDE 30 Computational Complexity
A systematic study of what computationally bounded parties can and cannot do A young and rich field Much known, much more unknown
Alan Turing Stephen Cook Leonid Levin Richard Karp
SLIDE 31 Computational Complexity
A systematic study of what computationally bounded parties can and cannot do A young and rich field Much known, much more unknown Much “believed”
Alan Turing Stephen Cook Leonid Levin Richard Karp
SLIDE 32 Computational Complexity
A systematic study of what computationally bounded parties can and cannot do A young and rich field Much known, much more unknown Much “believed”
Alan Turing Stephen Cook Leonid Levin Richard Karp
Basis of the Modern Theory of Cryptography
SLIDE 33
Compressed Secret-Keys
SLIDE 34
Compressed Secret-Keys
Impossible in the information-theoretic sense:
a truly random string cannot be compressed
SLIDE 35
Compressed Secret-Keys
Impossible in the information-theoretic sense:
a truly random string cannot be compressed But possible against computationally bounded players: use pseudo-random strings!
SLIDE 36
Compressed Secret-Keys
Impossible in the information-theoretic sense:
a truly random string cannot be compressed But possible against computationally bounded players: use pseudo-random strings! Pseudo-random number generator
SLIDE 37
Compressed Secret-Keys
Impossible in the information-theoretic sense:
a truly random string cannot be compressed But possible against computationally bounded players: use pseudo-random strings! Pseudo-random number generator a.k.a Stream Cipher
SLIDE 38 Compressed Secret-Keys
Impossible in the information-theoretic sense:
a truly random string cannot be compressed But possible against computationally bounded players: use pseudo-random strings! Pseudo-random number generator a.k.a Stream Cipher Generate a long string of random-looking bits from a short random seed
Andy Yao Manuel Blum
SLIDE 39
The Public-Key Revolution
SLIDE 40 The Public-Key Revolution
“Non-Secret Encryption”
James Ellis
SLIDE 41 The Public-Key Revolution
“Non-Secret Encryption” No a priori shared secrets
James Ellis
SLIDE 42 The Public-Key Revolution
“Non-Secret Encryption” No a priori shared secrets Instead, a public key. Anyone can create encryptions, only the creator of the key can decrypt!
James Ellis
SLIDE 43 The Public-Key Revolution
“Non-Secret Encryption” No a priori shared secrets Instead, a public key. Anyone can create encryptions, only the creator of the key can decrypt!
Clifford Cocks James Ellis
SLIDE 44 The Public-Key Revolution
“Non-Secret Encryption” No a priori shared secrets Instead, a public key. Anyone can create encryptions, only the creator of the key can decrypt!
Clifford Cocks Malcolm Williamson James Ellis
SLIDE 45 The Public-Key Revolution
“Non-Secret Encryption” No a priori shared secrets Instead, a public key. Anyone can create encryptions, only the creator of the key can decrypt!
Clifford Cocks Malcolm Williamson Merkle, Hellman, Diffie James Ellis
SLIDE 46 The Public-Key Revolution
“Non-Secret Encryption” No a priori shared secrets Instead, a public key. Anyone can create encryptions, only the creator of the key can decrypt! Publicly verifiable digital signatures
Clifford Cocks Malcolm Williamson Merkle, Hellman, Diffie James Ellis Shamir, Rivest, Adleman
SLIDE 47 The Public-Key Revolution
“Non-Secret Encryption” No a priori shared secrets Instead, a public key. Anyone can create encryptions, only the creator of the key can decrypt! Publicly verifiable digital signatures Forms the backbone of today’ s secure communication
Clifford Cocks Malcolm Williamson Merkle, Hellman, Diffie James Ellis Shamir, Rivest, Adleman
SLIDE 48
Crypto-Mania
SLIDE 49
Crypto-Mania
Public-Key cryptography and beyond!
SLIDE 50
Crypto-Mania
Public-Key cryptography and beyond! Secret computation: collaboration among mutually distrusting parties
SLIDE 51
Crypto-Mania
Public-Key cryptography and beyond! Secret computation: collaboration among mutually distrusting parties Compute on distributed data, without revealing their private information to each other
SLIDE 52
Crypto-Mania
Public-Key cryptography and beyond! Secret computation: collaboration among mutually distrusting parties Compute on distributed data, without revealing their private information to each other Compute on encrypted data
SLIDE 53 Crypto-Mania
Public-Key cryptography and beyond! Secret computation: collaboration among mutually distrusting parties Compute on distributed data, without revealing their private information to each other Compute on encrypted data And other fancy things... with sophisticated control
- ver more complex “access” to information
SLIDE 54 Crypto-Mania
Public-Key cryptography and beyond! Secret computation: collaboration among mutually distrusting parties Compute on distributed data, without revealing their private information to each other Compute on encrypted data And other fancy things... with sophisticated control
- ver more complex “access” to information
Do it all faster, better, more conveniently and more securely (or find out if one cannot). And also make sure we know what we are trying to do.
SLIDE 55 Crypto-Mania
Public-Key cryptography and beyond! Secret computation: collaboration among mutually distrusting parties Compute on distributed data, without revealing their private information to each other Compute on encrypted data And other fancy things... with sophisticated control
- ver more complex “access” to information
Do it all faster, better, more conveniently and more securely (or find out if one cannot). And also make sure we know what we are trying to do.
SLIDE 56
SLIDE 57
SLIDE 58 Independence, Indistinguishability, Infeasibility, Zero-Knowledge, ...
SLIDE 59 Independence, Indistinguishability, Infeasibility, Zero-Knowledge, ... E n c r y p t i
, A u t h e n t i c a t i
SLIDE 60 Independence, Indistinguishability, Infeasibility, Zero-Knowledge, ... E n c r y p t i
, A u t h e n t i c a t i
D E S , A E S , S H A , H M A C
SLIDE 61 Independence, Indistinguishability, Infeasibility, Zero-Knowledge, ... R S A , e l l i p t i c c u r v e g r
p s , l a t t i c e s , . . . E n c r y p t i
, A u t h e n t i c a t i
D E S , A E S , S H A , H M A C
SLIDE 62 Independence, Indistinguishability, Infeasibility, Zero-Knowledge, ...
collision-resistant hash functions, ... Semantic security, non- malleability, existential unforgeability... Obfuscation, Leakage resilient crypto, Imperfect randomness, ... R S A , e l l i p t i c c u r v e g r
p s , l a t t i c e s , . . . PK Encryption, Signatures E n c r y p t i
, A u t h e n t i c a t i
Stream ciphers, Block ciphers Pseudorandomness generators, PRF , ... Random Oracle Model, Generic group model S S L , T S L Identity-Based Encryption S e c u r e M u l t i
a r t y C
p u t a t i
S e c r e t s h a r i n g , V e r i fi a b l e S e c r e t s h a r i n g Z K p r
s Concrete cryptanalysis (Birthday attacks, differential cryptanalysis, ...) Blind signatures, Mix-nets, DC-nets,... e-cash, e-Voting, Fair Exchange, Privacy Preserving Datamining, ... D E S , A E S , S H A , H M A C Hybrid encryption Algorithms, Reductions M a l w a r e , D D
, S i d e
h a n n e l s U n i v e r s a l c
p
i t i
Signcryption Formal methods
SLIDE 63
In This Course
SLIDE 64
In This Course
(how to tame the elephant...)
SLIDE 65
In This Course
Fundamental notions: secrecy, infeasibility
(how to tame the elephant...)
SLIDE 66
In This Course
Fundamental notions: secrecy, infeasibility Secure communication (encryption, authentication): definitions, building blocks, construction
(how to tame the elephant...)
SLIDE 67
In This Course
Fundamental notions: secrecy, infeasibility Secure communication (encryption, authentication): definitions, building blocks, construction And much more: Secure multi-party computation, computing on encrypted data, bleeding edge crypto, quick and dirty crypto...
(how to tame the elephant...)
SLIDE 68 In This Course
Fundamental notions: secrecy, infeasibility Secure communication (encryption, authentication): definitions, building blocks, construction And much more: Secure multi-party computation, computing on encrypted data, bleeding edge crypto, quick and dirty crypto... Project: You can pick a topic for surveying/research,
- r an implementation project
(how to tame the elephant...)
SLIDE 69 In This Course
Fundamental notions: secrecy, infeasibility Secure communication (encryption, authentication): definitions, building blocks, construction And much more: Secure multi-party computation, computing on encrypted data, bleeding edge crypto, quick and dirty crypto... Project: You can pick a topic for surveying/research,
- r an implementation project
A few assignments
(how to tame the elephant...)
SLIDE 70
In This Course
(how to tame the elephant...)
SLIDE 71
In This Course
http:/ /courses.engr.illinois.edu/cs598man/sp2016/
(how to tame the elephant...)
SLIDE 72
In This Course
http:/ /courses.engr.illinois.edu/cs598man/sp2016/ A textbook for the first part of the course:
Katz and Lindell
(how to tame the elephant...)
SLIDE 73
In This Course
http:/ /courses.engr.illinois.edu/cs598man/sp2016/ A textbook for the first part of the course:
Katz and Lindell Cryptutor Wiki
(how to tame the elephant...)
SLIDE 74
In This Course
http:/ /courses.engr.illinois.edu/cs598man/sp2016/ A textbook for the first part of the course:
Katz and Lindell Cryptutor Wiki Office Hours: TBA
(how to tame the elephant...)
SLIDE 75 Cryptography
The Big Picture
SLIDE 76 Cryptography
The Big Picture
Information Security
SLIDE 77 Cryptography
The Big Picture
Information Security Complexity Theory
SLIDE 78 Cryptography
The Big Picture
Information Security Information Theory Complexity Theory
SLIDE 79 Cryptography
The Big Picture
Number Theory, Algebra Information Security Information Theory Complexity Theory
SLIDE 80 Cryptography
The Big Picture
Number Theory, Algebra Information Security Information Theory Formal Methods Complexity Theory
SLIDE 81 Cryptography
The Big Picture
Number Theory, Algebra Information Security Information Theory Formal Methods Complexity Theory Combinatorics, Graph theory
SLIDE 82 Cryptography
The Big Picture
Number Theory, Algebra Information Security Information Theory Formal Methods Complexity Theory Combinatorics, Graph theory
Cryptography is only a small (but vital) part of information security
SLIDE 83 Cryptography
The Big Picture
Number Theory, Algebra Information Security Information Theory Formal Methods Complexity Theory Combinatorics, Graph theory
Cryptography is only a small (but vital) part of information security Cryptography studies several problems which may not be of immediate use in information security, but is important in building its own foundations/in establishing links with other areas
SLIDE 84 Cryptography
The Big Picture
Number Theory, Algebra Information Security Information Theory Formal Methods Complexity Theory Combinatorics, Graph theory
Cryptography is only a small (but vital) part of information security Cryptography studies several problems which may not be of immediate use in information security, but is important in building its own foundations/in establishing links with other areas Cryptography has an “engineering” component (e.g. SSL/TSL) and a “science” component (e.g. definitions, proofs).
SLIDE 85
Puzzle #1
SLIDE 86
Puzzle #1
Alice and Bob hold secret numbers x and y in {0,..,n} resp.
SLIDE 87
Puzzle #1
Alice and Bob hold secret numbers x and y in {0,..,n} resp. Carol wants to learn x+y. Alice and Bob are OK with that.
SLIDE 88
Puzzle #1
Alice and Bob hold secret numbers x and y in {0,..,n} resp. Carol wants to learn x+y. Alice and Bob are OK with that. But they don’ t want Carol/ each other to learn anything else!
SLIDE 89 Puzzle #1
Alice and Bob hold secret numbers x and y in {0,..,n} resp. Carol wants to learn x+y. Alice and Bob are OK with that. But they don’ t want Carol/ each other to learn anything else!
i.e., Alice should learn nothing about y, nor Bob about x. Carol shouldn’ t learn anything else about x,y “other than” x+y
SLIDE 90 Puzzle #1
Alice and Bob hold secret numbers x and y in {0,..,n} resp. Carol wants to learn x+y. Alice and Bob are OK with that. But they don’ t want Carol/ each other to learn anything else!
i.e., Alice should learn nothing about y, nor Bob about x. Carol shouldn’ t learn anything else about x,y “other than” x+y
Can they do it, just by talking to each other (using private channels between every pair of parties)?
SLIDE 91 Puzzle #2
Alice and Bob hold secret bits x and y Carol wants to learn x∧y. Alice and Bob are OK with that. But they don’ t want Carol/ each other to learn anything else!
i.e., Alice should learn nothing about y, nor Bob about x. Carol shouldn’ t learn anything else about x,y “other than” x∧y
Can they do it, just by talking to each other (using private channels between every pair of parties)?