A plausible approach to computer-aided cryptographic proofs (a collection of thoughts) Shai Halevi – May 2005.

Slides:



Advertisements
Similar presentations
Simulation-sound NIZK Proofs for a Practical Language and Constant Size Group Signatures Jens Groth University of California Los Angeles Presenter: Eike.
Advertisements

Many-to-one Trapdoor Functions and their Relations to Public-key Cryptosystems M. Bellare S. Halevi A. Saha S. Vadhan.
Probabilistic Public Key Encryption with Equality Test Duncan S. Wong Department of Computer Science City University of Hong Kong Joint work with Guomin.
Chosen-Ciphertext Security from Slightly Lossy Trapdoor Functions PKC 2010 May 27, 2010 Petros Mol, Scott Yilek 1 UC, San Diego.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
SECURITY AND VERIFICATION Lecture 4: Cryptography proofs in context Tamara Rezk INDES TEAM, INRIA January 24 th, 2012.
Vote privacy: models and cryptographic underpinnings Bogdan Warinschi University of Bristol 1.
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
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.
11 Provable Security. 22 Given a ciphertext, find the corresponding plaintext.
CIS 5371 Cryptography 3b. Pseudorandomness.
Encryption Public-Key, Identity-Based, Attribute-Based.
Dual System Encryption: Concept, History and Recent works Jongkil Kim.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
Cramer & Shoup Encryption Cramer and Shoup: A practical public key crypto system provably secure against adaptive chosen ciphertext attack. Crypto 1998.
CS 395T Computational Soundness of Formal Models.
CS555Spring 2012/Topic 161 Cryptography CS 555 Topic 16: Key Management and The Need for Public Key Cryptography.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
A Designer’s Guide to KEMs Alex Dent
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
1 How to securely outsource cryptographic computations Susan Hohenberger and Anna Lysyanskaya TCC2005.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
Strongly Secure Certificateless Encryption Alexander W. Dent Information Security Group
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Hybrid Signcryption with Outsider Security
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
A Brief History of Provable Security and PKE Alex Dent Information Security Group Royal Holloway, University of London.
Cramer-Shoup is Plaintext Aware in the Standard Model Alexander W. Dent Information Security Group Royal Holloway, University of London.
Computer Security CS 426 Lecture 3
Foundations of Cryptography Rahul Jain CS6209, Jan – April 2011
0x1A Great Papers in Computer Security
Dan Boneh Public Key Encryption from trapdoor permutations Public key encryption: definitions and security Online Cryptography Course Dan Boneh.
Cryptanalysis. The Speaker  Chuck Easttom  
8. Data Integrity Techniques
Authentication Deniable Authentication Protection Against Dictionary Attacks Isidora Petreska Dimitar Gosevski and.
Cryptography Lecture 8 Stefan Dziembowski
1 CIS 5371 Cryptography 3. Private-Key Encryption and Pseudorandomness B ased on: Jonathan Katz and Yehuda Lindel Introduction to Modern Cryptography.
One-Time Pad Or Vernam Cipher Sayed Mahdi Mohammad Hasanzadeh Spring 2004.
Cryptography Lecture 10 Arpita Patra. Quick Recall and Today’s Roadmap >> CPA & CPA-mult security >> Equivalence of CPA and CPA-mult security >> El Gamal.
CS555Spring 2012/Topic 51 Cryptography CS 555 Topic 5: Pseudorandomness and Stream Ciphers.
June 2005 A Plausible Approach to Computer-aided Cryptographic Proofs Shai Halevi.
1 Lect. 13 : Public Key Encryption RSA ElGamal. 2 Shamir Rivest Adleman RSA Public Key Systems  RSA is the first public key cryptosystem  Proposed in.
Threshold PKC Shafi Goldwasser and Ran Canetti. Public Key Encryption [DH] A PKC consists of 3 PPT algorithms (G,E,D) - G(1 k ) outputs public key e,
Improved Non-Committing Encryption with Application to Adaptively Secure Protocols joint work with Dana Dachman-Soled (Columbia Univ.), Tal Malkin (Columbia.
CS555Spring 2012/Topic 111 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security.
Password Mistyping in Two-Factor Authenticated Key Exchange Vladimir KolesnikovCharles Rackoff Bell LabsU. Toronto ICALP 2008.
Alternative Wide Block Encryption For Discussion Only.
CS555Spring 2012/Topic 31 Cryptography CS 555 Topic 3: One-time Pad and Perfect Secrecy.
1/28 Chosen-Ciphertext Security from Identity- Based Encryption Jonathan Katz U. Maryland Ran Canetti, Shai Halevi IBM.
Cryptography Lecture 10 Arpita Patra © Arpita Patra.
Cryptography Lecture 3 Arpita Patra © Arpita Patra.
On the Hardness of Proving CCA-Security of Signed ElGamal Bogdan Warinschi (University of Bristol) joint work with David Bernhard, Marc Fischlin.
Topic 36: Zero-Knowledge Proofs
Outline The basic authentication problem
Authenticated encryption
Modern symmetric-key Encryption
Topic 11: Authenticated Encryption + CCA-Security
Topic 30: El-Gamal Encryption
Cryptography Lecture 25.
Cryptography Lecture 11.
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
The power of Pairings towards standard model security
Cryptography Lecture 10.
Cryptography Lecture 21.
Cryptography Lecture 23.
Presentation transcript:

A plausible approach to computer-aided cryptographic proofs (a collection of thoughts) Shai Halevi – May 2005

The problem Crypto proofs are hard to verify When did you last –Read –Understood –Was able to fully verify a proof of non-trivial piece of crypto?

Why is this so hard? “The thing to prove” is some property of an interaction between non-trivial programs The proof consists of a sequence of interactions (games), all involving similar programs –Difference between consecutive steps is minor changes in a complicated game

Sample arguments “We now make several changes to the order in which variables are chosen in game R1. We make the following changes to the code: –[…] –Instead of choosing MM s  {0,1} n and setting C s m  P s m MM s, we choose C s m  {0,1} n and set MM s  P s m C s m –We replace the assignment CCC s i  MC s j M s 1 in line 136 by the equivalent assignment CCC s i  PPP s i M s j. This is equivalent since MC s j = MP s j M s j = PPP s i M s 1 M s j –[…]

More sample arguments “H 6 checks in client sessions (P i,ssid) that receive a non-peer- oracle-generated pair […] H 7 encrypts the “dummy password” w’ in c 2 instead of encrypting the password w, for every client session (P i,ssid) that received a non-peer-oracle-generated pair (c 1,VK) in step 2 with non-valid ciphertext c 1. Then as in H 2 and H 4, since the encryption scheme E' is semantically secure, the environment cannot distinguish between these cases. Note that the session key of such client sessions are already chosen randomly, and the ZKPs are already simulated. Thus neither depends on how c 2 is generated. Also note that in the reduction to the security of E' with public key pk', one can still test c 1 encryptions, since they are encrypted with the other public key pk and can be decrypted using sk.”

You need to be a compiler to verify some of these arguments

Can we write such compiler? It all boils down to verifying that two pieces of code induce the same probability distribution on some of their variables The simplest example: M  {0,1} n, C  PM vs. C  {0,1} n, M  PC

A reduction Distinguishing H 6 from H 7 implies violating semantic security of E’ –Write code for H 6, H 7 –Write code for L-or-R attack against E’ –Check that H 6 implies the same distribution on the adversary’s view as the L attack –Check that H 7 implies the same distribution on the adversary’s view as the R attack

Computer assistance The person writing the security proof writes the code, specifies how to get from one piece of code to the other The automated tool verifies that the transformations are permissible

Transformations A library of common transformations –Algebraic manipulations –“The forgetful gnome” [Shoup] –“Coin fixing” [Bellare-Rogaway] –Etc. These represent common arguments in our proof

Code templates Represent commonly-used attacks and hardness assumptions E.g., template for DDH, QR, etc. A CPA template (two versions) –Proving that a scheme is CPA secure –Using CPA security in a proof

User interface Probably the hardest part Must be easy for people to write their proofs using this tool Easy to specify games –E.g., as close to pseudocode as possible Easy access to transformations Also easy to add new templates, transformations

Can this be done? My guess: same order-of-magnitude as creating a new programming language –Compiler, development environment, run-time Big project, but things like that have been done before Can probably get funding (grants?) Needs cooperation between programming- language people, cryptographers, UI

CCA[CS] CCACCA1CCA2CCA3’ CCA4 CCA5 +2t / q +1/q XYZ game that depends on a (binary) parameter game that is derived from template XYZ The empty game +epsilon game with bad events transformation that changes the probability by epsilon transformation that is justified by a reduction game with output The Proof of CS98 DDH CCA1CCA2  DDH TCR CCA4 CCA5’ +t /q^4 CCA5  TCR