CRYPTOGRAPHY WHAT IS IT GOOD FOR? Andrej Bogdanov Chinese University of Hong Kong CMSC 5719 | 6 Feb 2012.

Slides:



Advertisements
Similar presentations
Netprog: Cryptgraphy1 Cryptography Reference: Network Security PRIVATE Communication in a PUBLIC World. by Kaufman, Perlman & Speciner.
Advertisements

1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Receipt-Free Universally-Verifiable Voting With Everlasting Privacy Tal Moran Joint work with Moni Naor.
7. Asymmetric encryption-
Public Key Algorithms …….. RAIT M. Chatterjee.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
HW6 due tomorrow Teams T will get to pick their presentation day in the order Teams T will get to pick their presentation day in the orderQuestions? Review.
CMSC 414 Computer (and Network) Security Lecture 2 Jonathan Katz.
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS Cryptographic Security.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
A Designer’s Guide to KEMs Alex Dent
Announcements: 1. HW6 due now 2. HW7 posted Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman, ElGamal Hash Functions.
Cryptography Lecture 11: Oct 12. Cryptography AliceBob Cryptography is the study of methods for sending and receiving secret messages. adversary Goal:
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
Computer Security CS 426 Lecture 3
Foundations of Cryptography Lecture 9 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
A Cryptography Tutorial Jim Xu College of Computing Georgia Tech
Lecture 6: Public Key Cryptography
Introduction to Public Key Cryptography
Public Key Model 8. Cryptography part 2.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
8. Data Integrity Techniques
Homomorphic Encryption: WHAT, WHY, and HOW
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
The RSA Algorithm Rocky K. C. Chang, March
Lecture 19 Page 1 CS 111 Online Symmetric Cryptosystems C = E(K,P) P = D(K,C) E() and D() are not necessarily the same operations.
May 2002Patroklos Argyroudis1 A crash course in cryptography and network security Patroklos Argyroudis CITY Liberal Studies.
1 CIS 5371 Cryptography 3. Private-Key Encryption and Pseudorandomness B ased on: Jonathan Katz and Yehuda Lindel Introduction to Modern Cryptography.
HW6 due tomorrow Teams T will get to pick their presentation day in the order Teams T will get to pick their presentation day in the order Teams mostly.
RSA Ramki Thurimella.
10/1/2015 9:38:06 AM1AIIS. OUTLINE Introduction Goals In Cryptography Secrete Key Cryptography Public Key Cryptograpgy Digital Signatures 2 10/1/2015.
13-1 Last time Security in Networks Network Security Controls Firewalls Honeypots Intrusion Detection Systems.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong Interaction,
Cryptography Dec 29. This Lecture In this last lecture for number theory, we will see probably the most important application of number theory in computer.
CS555Spring 2012/Topic 51 Cryptography CS 555 Topic 5: Pseudorandomness and Stream Ciphers.
Public-Key Cryptography CS110 Fall Conventional Encryption.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Chapter 3: Basic Protocols Dulal C. Kar. Key Exchange with Symmetric Cryptography Session key –A separate key for one particular communication session.
Based on Schneier Chapter 5: Advanced Protocols Dulal C. Kar.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
1 Cryptography NOTES. 2 Secret Key Cryptography Single key used to encrypt and decrypt. Key must be known by both parties. Assuming we live in a hostile.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Introduction to Quantum Key Distribution
Lecture 2: Introduction to Cryptography
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
15-499Page :Algorithms and Applications Cryptography I – Introduction – Terminology – Some primitives – Some protocols.
CRYPTOGRAPHY AND NP-HARDNESS Andrej Bogdanov Chinese University of Hong Kong MACS Foundations of Cryptography| January 2016.
Software Security Seminar - 1 Chapter 4. Intermediate Protocols 발표자 : 이장원 Applied Cryptography.
CRYPTOGRAPHIC HARDNESS OTHER FUNCTIONALITIES Andrej Bogdanov Chinese University of Hong Kong MACS Foundations of Cryptography| January 2016.
Cryptography CS Lecture 19 Prof. Amit Sahai.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Diffie-Hellman Key Exchange first public-key type scheme proposed by Diffie & Hellman in 1976 along with the exposition of public key concepts – note:
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
 5.1 Zero-Knowledge Proofs  5.2 Zero-Knowledge Proofs of Identity  5.3 Identity-Based Public-Key Cryptography  5.4 Oblivious Transfer  5.5 Oblivious.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Fully Homomorphic Encryption (FHE) By: Matthew Eilertson.
Bit Commitment, Fair Coin Flips, and One-Way Accumulators Matt Ashoff 11/9/2004 Cryptographic Protocols.
Cryptography Hyunsung Kim, PhD University of Malawi, Chancellor College Kyungil University February, 2016.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 3524 Course.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Presentation transcript:

CRYPTOGRAPHY WHAT IS IT GOOD FOR? Andrej Bogdanov Chinese University of Hong Kong CMSC 5719 | 6 Feb 2012

cryptography

phhw ph dw wjh uxelfrq I know what he is up to!

A model for encryption Alice Bob Alice and Bob want to exchange messages but remain private to eavesdroppers saopgpwnhx nizpfkel3c OK! ??! Eve

Bad news Alice Bob impossible! saopgpwnhx nizpfkel3c OK! ??! Eve Eve can simulate the states of Alice & Bob and learn everything they know

The one-time pad Alice Bob want to say hello= ⊕ Alice and Bob share a secret key Bob can recover the message, but to Eve it looks totally random!

Secret-key cryptography Alice Bob saopgpwnhx nizpfkel3c OK! Easy if they share a secret key … but the key must be as long as all the messages they will ever exchange!

Enter computation easy × easy hard? hard

Assuming there exist digital tasks that are hard to reverse-engineer* we can do The cryptographic revolution AliceBob saopgpwnhx nizpfkel3c OK! ??! Eve public key encryption mental poker [Diffie-Hellman, Rivest-Shamir-Adleman][Yao, Blum, Goldreich-Micali-Wigderson] secure multiparty computation

The foundations of cryptography × Is it really that hard? We can’t say for sure, but many have tried and failed.

Cryptography is based on digital tasks that are easy to do forward, but hard to do backwards We are not 100% sure such tasks exist at all, but there are several viable candidates The foundations of cryptography ×

Goldreich’s function input bits output bits Input and output are typically large, e.g. 500 bits input, 10,000 bits output very easy ? output = majority(input 1, input 2, input 3 )

One-wayness: Given an output, can you recover the input that led to it? Pseudorandomness: Can you distinguish the output from a random string of the same length? Two measures of hardness

Encryption from pseudorandomness Alice 0110 Bob 0110 want to say hello= ⊕ To Eve it looks the same as when Alice and Bob used a one-time pad

Can this be broken? small local dependencies allow reverse-engineering Fortunately, most graphs are expanding: they have no local dependencies does not look random

bla Public-key encryption Alice Bob private-key public-key AliceBob bla Alice and Bob can communicate securely, although they have never met before!

Public-key encryption AliceBob bla Bob: generate (Public Key, Secret Key) pair public key is broadcast, secret key is hidden ➊ Alice: encrypt message using public key ➋ Bob: decrypt using secret key ➌

One-bit encryption AliceBob 1 AliceBob 0 Eve ? one-bit encryption a simplified setting A proposed one-bit scheme by Applebaum, Barak, and Wigderson

One-bit encryption Bob: generate (Public Key, Secret Key) pair ➊ public key: the graph G secret key: a hidden subgraph with k outputs connecting to k − 1 inputs send Public Key to Alice

One-bit encryption Alice encrypts: ➋ to encrypt 0 : 0110 XOR ( + ) to encrypt 1 : 1101 XOR ( + ) reverse

One-bit encryption Bob decrypts: ➌ fewer inputs than outputs, so outputs must satisfy a linear constraint y1y1 y2y2 y3y3 y 1 + y 2 + y 3 = 0 Enc(0) y 1 + y 2 + y 3 = 1 Enc(1) = NOT Enc(0)

Eve cannot tell which is the right linear constraint to check because subgraph is hidden To argue security, we must make an assumption* Security? Finding a hidden subgraph in a graph is computationally hard

This assumption is not enough as the message can be recovered by solving linear equations Insecurity x1x1 x2x2 x3x3 x4x4 indeterminates is an encryption of 0 x 1 + x 2 = 1 x 1 = 0 x 2 = 1 x 1 + x 2 + x 3 = 0 x 1 + x 2 + x 3 + x 4 = 0 x 1 + x 3 + x 4 = 1 has a solution. if

One-bit encryption Alice encrypts: ➋ to encrypt 0 : 0110 XOR ( + ) add random noise If the noise stays outside the secret key, decryption will still work

Security of one-bit encryption? x1x1 x2x2 x3x3 x4x4 x 1 + x 2 = 1 x 1 = 0 x 2 = 1 x 1 + x 2 + x 3 = 1 x 1 + x 2 + x 3 + x 4 = 0 x 1 + x 3 + x 4 = Now some equations are incorrect, so they are unlikely to have a solution

So we make plausible (studied) assumptions Is public-key cryptography secure? 0110 XOR ( + ) Enc( 0 )Enc( 1 ) is indistinguishable from We never now for sure!

Elections Alice Bob Eve ✓ ✗ ✗ 24%11%35%

Elections Elections should be free and fair integrityEvery vote cast should be counted properly anonymityPeople cannot find out who you voted for … other features?

Electronic voting How to run elections online? Solution using public key cryptography: Alice Bob Eve ✓ ✗ ✗ Enc Public Key ( 0 ) Enc Public Key ( 1 )

Anonymity The Public Key is known to everyone assumptions The Secret Key is kept secret (by the trustworthy electoral commission) Enc Public Key ( 0 ) Enc Public Key ( 1 ) Enc Public Key ( 0 ) Enc Public Key ( 1 ) Enc Public Key ( 0 ) Enc Public Key ( 1 ) Enc Public Key ( 0 ) votes for Alice Bob Eve voter

Anonymity Enc Public Key ( 0 ) Enc Public Key ( 1 ) Enc Public Key ( 0 ) Enc Public Key ( 1 ) Enc Public Key ( 0 ) Enc Public Key ( 1 ) Enc Public Key ( 0 ) votes for Alice Bob Eve voter Enc Public Key ( 0 ) Enc Public Key ( 1 ) Enc Public Key ( 0 ) Enc Public Key ( 1 ) Enc Public Key ( 0 ) Enc Public Key ( 1 ) Enc Public Key ( 0 ) Alice Bob Eve If Enc is secure, this collection of votes looks indistinguishable from e.g.

Counting the votes Enc Public Key ( 1 )Enc Public Key ( 0 )Enc Public Key ( 1 ) votes for Bob If we reveal the individual votes to the commission, anonymity will be violated solution 1: mixnet randomly permute the votes Enc Public Key ( 0 )Enc Public Key ( 1 ) votes for Bob

The encryption we described is additively homomorphic* mod 2 (homework) If we work with larger numbers instead of bits, we can make it additively homomorphic over integers Counting the votes solution 2: additively homomorphic encryption Enc Public Key ( 1 )Enc Public Key ( 0 )Enc Public Key ( 1 )Enc Public Key ( ) + + = Enc Public Key ( 2 ) =

How do we prevent a person from voting for several candidates or voting multiple times? Some other issues Alice Bob Eve ✓ ✗ Enc Public Key ( 0 ) Enc Public Key ( 2 ) Enc Public Key ( 1 ) ✓✓ In a mixnet, we may detect and invalidate such patterns With homomorphic encryption, the voter needs to prove that his votes are valid (but without revealing the votes) there is a cryptographic technology called zero-knowledge

In a real election, I cannot prove who I voted for Some other issues Alice Bob Eve ✓ ✗ ✗ this prevents coercing votes. What happens in electronic voting?

In applications like electronic voting, even understanding the requirements is not easy We start with an ideal list of requirements and see if they can be implemented using cryptography Sometimes we succeed; other times we can prove that all the requirements are impossible to meet Electronic voting