CSL759: Cryptography and Computer Security: Ragesh Jaiswal CSE, IIT Delhi
CSL759: Cryptography and Computer Security: Ragesh Jaiswal CSE, IIT Delhi
Security
Ragesh Jaiswal
CSE, IIT Delhi
Administrative information
Course webpage:
www.cse.iitd.ac.in/~rjaiswal/2013/csl759
Evaluation components:
Minor 1 and 2 exams: 15% each
Homework (2 - 3): 20%
Project: 20%
Major exam: 20%
Reference material:
Mihir Bellare’s slides and notes (available on the web).
Introduction to Modern Cryptography (Katz and Lindell).
Foundations of Cryptography (Oded Goldreich).
Other notes/slides/practice material on the web.
Administrative information
Pre-requisites:
Basic probability theory
Algorithms
Comfortable in reading/writing rigorous mathematical proofs
Lecture Timing:
To be decided.
Introduction
Introduction
Throughout most of history:
Cryptography = art of secret writing
Secure communication
𝑀 𝑀 = 𝐷𝐾 (𝐶)
𝐶 = 𝐸𝐾 (𝑀)
Modern Cryptography:
Digital signatures, e-cash, secure computation, e-voting …
Touches most aspects of modern lifestyle.
Rigorous science:
Reason about security of protocols.
Introduction: Theme of this course
Theme: Reason about security of protocols (Provable
security)
Fix security goals and formalize the notion of security.
Construct a protocol.
Show that a successful attack as per the security notion results
in a successful attack on an underlying problem that is believed
to be hard to solve.
Protocol
Construction
Protocol
Introduction: Provable security
Factoring Discrete log AES MD5
Protocol
Construction
Protocol
Protocol
Construction
Protocol
• :If there is an adversary that successfully attacks the protocol, then there is another
adversary that successfully attacks/solves at least one of the basic primitives/problems.
Introduction
Secure communication
Introduction: Secure communication
Secure communication: Alice wants to talk to Bob without
Eve (who has access to the channel) knowing the
communication.
001101011 00101001001010010100101011
𝐺
Idea:
Choose a short key 𝐾 randomly.
Obtain 𝐾’ = 𝐺(𝐾).
Use 𝐾’ as key for the one time pad.
Issue: ?
Introduction: Pseudorandom generator
Suppose there was a generator that stretches random bits.
001101011 00101001001010010100101011
𝐺
Idea:
Choose a short key 𝐾 randomly.
Obtain 𝐾’ = 𝐺(𝐾).
Use 𝐾’ as key for the one time pad.
Issue:
Such a generator is not possible!
Any such generator produces a longer string but the string is
not random.
Introduction: Pseudorandom generator
Suppose there was a generator that stretches random bits.
001101011 00101001001010010100101011
Idea:
𝐺
Choose a short key 𝐾 randomly.
Obtain 𝐾’ = 𝐺(𝐾).
Use 𝐾’ as key for the one time pad.
Issue:
Such a generator is not possible!
Any such generator produces a longer string but the string is not
random.
What if we can argue that the output of the generator is
computationally indistinguishable from truly random string.
End