Cryptography Lecture 12.

Slides:



Advertisements
Similar presentations
CMSC 414 Computer and Network Security Lecture 4 Jonathan Katz.
Advertisements

CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (3) Information Security.
CMSC 414 Computer (and Network) Security Lecture 4 Jonathan Katz.
CIS 5371 Cryptography 3b. Pseudorandomness.
CMSC 414 Computer and Network Security Lecture 4 Jonathan Katz.
CMSC 456 Introduction to Cryptography
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 4 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 4 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
CS555Spring 2012/Topic 111 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security.
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
Lecture 23 Symmetric Encryption
Cryptography Lecture 10 Arpita Patra © Arpita Patra.
Symmetric Cryptography
Authenticated encryption
Modern symmetric-key Encryption
Secrecy of (fixed-length) stream ciphers
Cryptography Lecture 9.
Introduction to modern cryptology
Block Cipher Modes CS 465 Make a chart for the mode comparisons
Topic 11: Authenticated Encryption + CCA-Security
Cryptography Lecture 3.
Cryptography Lecture 13.
Cryptography Lecture 12.
Cryptography Lecture 4.
Cryptography Basics and Symmetric Cryptography
Cryptography Lecture 16.
Cryptography Lecture 5.
مروري برالگوريتمهاي رمز متقارن(كليد پنهان)
CMSC 414 Computer and Network Security Lecture 3
Cryptography Lecture 6.
Cryptography Lecture 10.
Topic 7: Pseudorandom Functions and CPA-Security
B504/I538: Introduction to Cryptography
Cryptography Lecture 7 Arpita Patra © Arpita Patra.
Block cipher and modes of encryptions
Cryptography Lecture 7.
Cryptography Lecture 7 Arpita Patra © Arpita Patra.
Cryptography Lecture 11.
Security Of Wireless Sensor Networks
Symmetric-Key Encryption
Foundations of Network and Computer Security
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
Cryptography Lecture 5.
Cryptography Lecture 8.
Security of Wireless Sensor Networks
Cryptography Lecture 11.
Cryptography Lecture 9.
Topic 13: Message Authentication Code
Cryptography Lecture 6.
Cryptography Lecture 7.
Cryptography Lecture 14.
Cryptography Lecture 13.
Cryptography Lecture 3.
Cryptography Lecture 10.
Cryptography Lecture 9.
Cryptography Lecture 11.
Cryptography Lecture 10.
Cryptography Lecture 6.
Cryptography Lecture 13.
Cryptography Lecture 25.
Cryptography Lecture 24.
Cryptography Lecture 27.
Secret-Key Encryption
Blockchains Lecture 4.
Presentation transcript:

Cryptography Lecture 12

Midterm exam Exam is Thursday Everyone in this room Covers material up to and including last Thursday’s lecture Including padding-oracle attacks Open book/notes No electronic devices Practice midterm posted

Secure sessions

Secure sessions? Consider parties who wish to communicate securely over the course of a session “Securely” = secrecy and integrity “Session” = period of time over which the parties maintain state Use authenticated encryption…?

Enck(m1) Enck(m2) k k Enck(m3)

Is this enough?

Replay attack Enck(m1) Enck(m2) Enck(m1) k k

Re-ordering attack Enck(m1) Enck(m2) Enck(m2) Enck(m1) k k

Reflection attack Enck(m1) Enck(m2) k k Enck(m2)

Secure sessions These attacks (and others) can be prevented using counters/sequence numbers and identifiers

Enck(“Bob”| m1 | 1) Enck(“Bob” | m2 | 2) k k Enck(“Alice” | m3 | 1)

Secure sessions These attacks (and others) can be prevented using counters and identifiers Can also use a directionality bit in place of identifiers

Exam review

Historical schemes Shift, Vigenere, etc. They are all easy to attack They are not used anymore The point of this material was to motivate the need for a more formal treatment, and to help introduce terminology

Perfect secrecy A more formal approach Definition of perfect secrecy Definitions Proofs Definition of perfect secrecy The one-time pad achieves this definition Several inherent drawbacks of perfect secrecy The one-time pad is not used

Private-key encryption If we want to overcome drawbacks of perfect secrecy, we must relax the definition Computational secrecy EAV-security (Computational) secrecy for encryption of one message We now need to rely on assumptions in order to prove security

Private-key encryption Pseudorandom generators/stream ciphers Formal definition For now, we simply assume these exist Pseudo-one-time pad (Provable) EAV-security based on any PRG Message length longer than key length Not secure when multiple messages encrypted, or against chosen-plaintext attacks

Private-key encryption CPA-security Security against chosen-plaintext attacks Requires randomized encryption! Pseudorandom functions/block ciphers Formal definition For now, we simply assume these exist (e.g., AES) Basic encryption scheme (Provable) CPA-security based on any PRF 2 ciphertext expansion

Private-key encryption Modes of encryption CBC-mode, CTR-mode are both CPA-secure, and have ciphertext expansion of one block Synchronous/asynchronous stream-cipher modes These are all used extensively in the real world

Message authentication codes Integrity as an orthogonal security concern Secrecy and integrity are different Encryption and message authentication are different Message authentication codes, and definition of security Basic MAC from any PRF Short, fixed-length messages only

Message authentication codes Constructing a MAC on longer messages? Different attacks that need to be prevented (Basic) CBC-MAC Secure for fixed-length messages CBC-MAC Secure for arbitrary-length messages Used in the real world

CCA-security What about active attacks on encryption? CCA-security This is a real-world problem (cf. padding-oracle attacks) CCA-security Security against chosen-ciphertext attacks None of the previous schemes satisfy this notion Can achieve it with encrypt-then-authenticate

Authenticated encryption Communication with secrecy and integrity An AE scheme is an encryption scheme that achieves both CCA-security Unforgeability Can achieve it with encrypt-then-authenticate Other “natural” approaches do not work

Attacking encryption schemes Let F be a block cipher Want to leak information about some encrypted message Fk(x) for new input x will look random! Cause F to be evaluated on same input twice When encrypting one message (e.g., ECB mode) When encrypting different messages (e.g., HW3) When decrypting (e.g., padding-oracle attack)

Attacking MACs Need to predict the tag of some message (without requesting the tag for that message!) Look at how verification is done Impossible to predict the value of Fk(x) on a new input x! Learn (information about) the value of Fk(x) by asking for tags of other messages Set things up so that Fk(x) cancels out in verification