Towards Automated Security Proof for Symmetric Encryption Modes Martin Gagné Joint work with Reihaneh Safavi-Naini, Pascal Lafourcade and Yassine Lakhnech.

Slides:



Advertisements
Similar presentations
ECE454/CS594 Computer and Network Security
Advertisements

“Advanced Encryption Standard” & “Modes of Operation”
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Encipherment Using Modern Symmetric-Key Ciphers. 8.2 Objectives ❏ To show how modern standard ciphers, such as DES or AES, can be used to encipher long.
Modern Symmetric-Key Ciphers
Modern Symmetric-Key Ciphers
1 Cryptanalysis-tolerant CPA crypt. ● Suppose E, E’ are two encryption schemes which on of them is CPA - secure  E.g., a standard and a proprietary, a.
CIS 5371 Cryptography 3b. Pseudorandomness.
Cryptography1 CPSC 3730 Cryptography Chapter 6 Triple DES, Block Cipher Modes of Operation.
Chapter 5 Cryptography Protecting principals communication in systems.
CMSC 414 Computer and Network Security Lecture 4 Jonathan Katz.
Modes of Operation CS 795. Electronic Code Book (ECB) Each block of the message is encrypted with the same secret key Problems: If two identical blocks.
Hash Functions Nathanael Paul Oct. 9, Hash Functions: Introduction Cryptographic hash functions –Input – any length –Output – fixed length –H(x)
Lecture 23 Symmetric Encryption
Feb 19, 2002Mårten Trolin1 Previous lecture Practical things about the course. Example of cryptosystem — substitution cipher. Symmetric vs. asymmetric.
CS470, A.SelcukModes of Operation1 Encrypting with Block Ciphers CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Lecture 3: Cryptographic Tools modified from slides of Lawrie Brown.
Modes of Operation. Topics  Overview of Modes of Operation  EBC, CBC, CFB, OFB, CTR  Notes and Remarks on each modes.
1 Chapter 11: Message Authentication and Hash Functions Fourth Edition by William Stallings Lecture slides by Lawrie Brown (modified by Prof. M. Singhal,
Message Authentication Requirements Disclosure Release of message contents to any person or process not possessing the appropriate cryptographic key Traffic.
CS 4/585: Cryptography Tom Shrimpton FAB
Lecture 4: Using Block Ciphers
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Cryptography and Network Security
CS555Spring 2012/Topic 111 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security.
AVALANCHE EFFECT IN THE FAMILY OF BLOCK CIPHERS “SD-(n,k)” University “Ss Cyril and Methodius” – Skopje, RM S. Markovski, PhD A. Mileva, MSc D. Gligoroski,
3DES and Block Cipher Modes of Operation CSE 651: Introduction to Network Security.
Chapter 9: Algorithms Types and Modes Dulal C. Kar Based on Schneier.
Feb 17, 2003Mårten Trolin1 Previous lecture Practical things about the course. Example of cryptosystem — substitution cipher. Symmetric vs. asymmetric.
More About DES Cryptography and Network Security Reference: Sec 3.1 of Stallings Text.
BLOCK CIPHER SYSTEMS OPERATION MODES OF DATA ENCRYPTION STANDARD (DES)
Modes of Usage Dan Fleck CS 469: Security Engineering These slides are modified with permission from Bill Young (Univ of Texas) 11 Coming up: Modes of.
Modes of Operation INSTRUCTOR: DANIA ALOMAR. Modes of Operation A block cipher can be used in various methods for data encryption and decryption; these.
1 Symmetric-Key Encryption CSE 5351: Introduction to Cryptography Reading assignment: Chapter 3 Read sections first (skipping 3.2.2)
IND-CPA and IND-CCA Concepts Summary  Basic Encryption Security Definition: IND-CPA  Strong Encryption Security Definition: IND-CCA  IND-CPA, IND-CCA.
Stream Ciphers and Block Ciphers A stream cipher is one that encrypts a digital data stream one bit or one byte at a time. Examples of classical stream.
Two New Online Ciphers Mridul Nandi National Institute of Standards and Technology, Gaithersburg, MD Indocrypt 2008, Kharagpur.
Lecture 2: Introduction to Cryptography
Class 3 Cryptography Refresher II CIS 755: Advanced Computer Security Spring 2014 Eugene Vasserman
Lecture 23 Symmetric Encryption
Symmetric Encryption Lesson Introduction ●Block cipher primitives ●DES ●AES ●Encrypting large message ●Message integrity.
1 The XCBC-XOR, XECB-XOR and XECB-MAC Modes Virgil D. GligorPompiliu Donescu VDG Inc 6009 Brookside Drive Chevy Chase, Maryland {gligor,
1 Symmetric-Key Encryption CSE 5351: Introduction to Cryptography Reading assignment: Chapter 2 Chapter 3 (sections ) You may skip proofs, but are.
CS555Spring 2012/Topic 71 Cryptography CS 555 Topic 7: Stream Ciphers and CPA Security.
Cryptography and Network Security
Cipher Transmission and Storage Modes Part 2: Stream Cipher Modes CSCI 5857: Encoding and Encryption.
@Yuan Xue 285: Network Security CS 285 Network Security Message Authentication Code Data integrity + Source authentication.
Modes of Operation block ciphers encrypt fixed size blocks – eg. DES encrypts 64-bit blocks with 56-bit key need some way to en/decrypt arbitrary amounts.
Computer and Network Security
B504/I538: Introduction to Cryptography
Introduction to modern cryptology
Block Cipher Modes CS 465 Make a chart for the mode comparisons
Cryptography Lecture 13.
Cryptography Lecture 12.
Cryptography Lecture 10.
Soundness of Formal Encryption in the Presence of Key Cycles
Block cipher and modes of encryptions
Security Of Wireless Sensor Networks
Symmetric-Key Encryption
Block vs Stream Ciphers
Cryptography Lecture 8.
Block Ciphers (Crypto 2)
Security of Wireless Sensor Networks
Cryptography Lecture 9.
Topic 13: Message Authentication Code
Cryptography Lecture 11.
Counter Mode, Output Feedback Mode
Elect. Codebook, Cipher Block Chaining
Presentation transcript:

Towards Automated Security Proof for Symmetric Encryption Modes Martin Gagné Joint work with Reihaneh Safavi-Naini, Pascal Lafourcade and Yassine Lakhnech 2nd Canada-France Workshop on Foundations & Practice of Security June 27, 2009

Motivation Crypto protocol becoming increasingly complicated Verification is hard, and conditions are not always optimal Sometimes, mistakes get through e.g. OAEP

Why use Automated Provers Automated provers provide an alternate method for verifying the correctness of crypto protocols Individual rules easier to prove and verify than whole protocols Increase confidence in correctness of protocols

Methodology We propose a grammar that can be used to generate cryptographic protocols Determine properties (invariants) that are relevant for proving security of protocols Determine - and prove – rules to propagate invariants for each command in the grammar

Proving Confidentiality The traditional notion of security of encryption schemes is semantic security (indistinguishability of two chosen ciphertexts) Our prover does something stronger: prove that the ciphertexts are indistinguishable from random bits

Block Cipher vs Mode of Operation Block cipher: family of keyed functions with fixed input and output size

Block Cipher vs Mode of Operation Block cipher mode of operation: algorithm to encrypt arbitrary length messages using a block cipher

Our Grammar c ::= x U | x :=  (y) | x :=  -1 (y) | x := y z | x := y || z | x := y[n,m] | x := y + 1 | c 1 ; c 2

Invariants Indis( x;V): x is indistinguishable from random given the values in V E( ,x): the probability that x has been queried to  is negligible F(x): x is a ‘fresh’ random value Rcounter(x): x is the most recent value of a counter that started at a fresh random value

Rules Random Assignment (R1) {true} x U {F(x)} Lemma: F(x) implies Indis ( x;Var) and E( ,x) Increment (I1) {F(y)} x := y+1 {Rcounter(x)} and {E(e,x)} and {Indis( y;Var-x)} (I2) {RCounter(y)} x := y+1 {Rcounter(x)} and {E(e,x)}

Rules (continued) Xor Operator (X1) {Indis( y;V,y,z)} x := y z {Indis( x;V,x,z)} (X2) {Indis( y;V,x,z)} x := y z {Indis( y;V,z)} (X4) {F(y)} x := y z {E( ,x)} Block Cipher (B1) {E( ,y)} x :=  (y) {F(x)} Generic Preservation (G1) {Indis( t; V)} c {Indis( t; V)} If t is not in V, c is either x U, x := y||z, x := y z or x :=  (y) and t is not x, y or z

Example of Proof CBC encryption mode

Example of Proof Program for CBC (for 3 message blocks): IV U ; z 1 := IV m 1 ; c 1 :=  (z 1 ); z 2 := c 1 m 2 ; c 2 :=  (z 2 ); z 3 := c 2 m 3 ; c 3 :=  (z 3 );

Example of Proof

Conclusion and Future Directions We presented a grammar and logic rules that can be used to prove the security of many symmetric modes of operation (CBC, CFB, OFB, CTR) We intend to test this grammar and rules on more complex modes of operation. This may suggest new rules that we have not yet considered We may need to modify the grammar to include more operations and cryptographic primitives We could try to use our method to prove security properties other than confidentiality of encryption

Questions?