David Evans CS588: Cryptography University of Virginia Computer Science Lecture 17: Public-Key Protocols.

Slides:



Advertisements
Similar presentations
COS 461 Fall 1997 Todays Lecture u intro to security in networking –confidentiality –integrity –authentication –authorization u orientation for assignment.
Advertisements

RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.
CIS 725 Key Exchange Protocols. Alice ( PB Bob (M, PR Alice (hash(M))) PB Alice Confidentiality, Integrity and Authenication PR Bob M, hash(M) M, PR Alice.
ITIS 6200/ Secure multiparty computation – Alice has x, Bob has y, we want to calculate f(x, y) without disclosing the values – We can only do.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
BY : Darshana Chaturvedi.  INTRODUCTION  RSA ALGORITHM  EXAMPLES  RSA IS EFFECTIVE  FERMAT’S LITTLE THEOREM  EUCLID’S ALGORITHM  REFERENCES.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 11: Birthday Paradoxes.
Cryptography in World War II Jefferson Institute for Lifelong Learning at UVa Spring 2006 David Evans Class 4: Modern Cryptography
Public-key Cryptography Montclair State University CMPT 109 J.W. Benham Spring, 1998.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
ITIS 6200/8200. time-stamping services Difficult to verify the creation date and accurate contents of a digital file Required properties of time-stamping.
Electronic Voting Schemes and Other stuff. Requirements Only eligible voters can vote (once only) No one can tell how voter voted Publish who voted (?)
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 5: Logs and Trees
More on AuthenticationCS-4513 D-term More on Authentication CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Slide 1 Vitaly Shmatikov CS 378 Key Establishment Pitfalls.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
Computer Networking Lecture 21: Security and Cryptography Thanks to various folks from , semester’s past and others.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
K-Anonymous Message Transmission Luis von Ahn Andrew Bortz Nick Hopper The Aladdin Center Carnegie Mellon University.
8: Network Security8-1 Symmetric key cryptography symmetric key crypto: Bob and Alice share know same (symmetric) key: K r e.g., key is knowing substitution.
Dan Boneh Introduction What is cryptography? Online Cryptography Course Dan Boneh.
Introduction to Public Key Cryptography
David Evans CS150: Computer Science University of Virginia Computer Science Class 36: Public Key Crypto.
Chapter 12 Cryptography (slides edited by Erin Chambers)
David Froot.  How do we transmit information and data, especially over the internet, in a way that is secure and unreadable by anyone but the sender.
Csci5233 Computer Security1 Bishop: Chapter 10 Key Management: Digital Signature.
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
Lecture 11: Key Distribution
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 12: Public-Key Protocols.
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.
Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms David Chaum CACM Vol. 24 No. 2 February 1981 Presented by: Adam Lee 1/24/2006 David.
Great Theoretical Ideas in Computer Science.
Chapter 4: Intermediate Protocols
Symmetric versus Asymmetric Cryptography. Why is it worth presenting cryptography? Top concern in security Fundamental knowledge in computer security.
Public-Key Cryptography CS110 Fall Conventional Encryption.
David Evans CS200: Computer Science University of Virginia Computer Science Class 36: Public-Key Cryptography If you want.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Privacy Enhancing Technologies Spring What is Privacy? “The right to be let alone” Confidentiality Anonymity Access Control Most privacy technologies.
Based on Schneier Chapter 5: Advanced Protocols Dulal C. Kar.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
CSCI 172/283 Fall 2010 Hash Functions, HMACs, and Digital Signatures.
Network Security – Special Topic on Skype Security.
Introduction to Quantum Key Distribution
Digital Signatures, Message Digest and Authentication Week-9.
CS555Topic 251 Cryptography CS 555 Topic 25: Quantum Crpytography.
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
Encryption. Introduction The incredible growth of the Internet has excited businesses and consumers alike with its promise of changing the way we live.
14-1 Last time Internet Application Security and Privacy Basics of cryptography Symmetric-key encryption.
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
COMP 424 Computer Security Lecture 09 & 10. Protocol ● An orderly sequence of steps agreed upon by two or more parties in order to accomplish a task ●
28 April 2005 CS588 Spring 2005 David Evans Phun with Photons.
Software Security Seminar - 1 Chapter 4. Intermediate Protocols 발표자 : 이장원 Applied Cryptography.
A Brief Introduction to Mix Networks Ari Juels RSA Laboratories © 2001, RSA Security Inc.
Key Management Network Systems Security Mort Anvari.
Week 4 - Wednesday.  What did we talk about last time?  Finished DES  AES.
Cryptography CS Lecture 19 Prof. Amit Sahai.
 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.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 10: Certificates and Hashes.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 15: From Here to Oblivion.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
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.
Public Key Encryption Systems
Big Numbers: Mathematics and Internet Commerce
Introduction to security goals and usage of cryptographic algorithms
Class 36: Public-Key Cryptography
Public Key Encryption Systems
Presentation transcript:

David Evans CS588: Cryptography University of Virginia Computer Science Lecture 17: Public-Key Protocols

12 April 2005University of Virginia CS 5882 Story So Far Symmetric Encryption –Amplify and time-shift a small secret to transmit large secrets Asymmetric Encryption –Use a trustworthy non-secret to establish secrets, check signatures Proving an encryption algorithm is secure is either: –Reasonably easy if it is a perfect cipher –Essentially impossible if it is not

12 April 2005University of Virginia CS 5883 Plan for Rest of the Course Today, Thursday: some interesting applications of cryptography Next Tuesday: Quantum/visual crypto Next Thursday, April 26: Software system security: real world security is mostly not about cryptography April 28: Project presentations If there’s anything you hoped this course would cover that is not listed here, send me requests by Friday

12 April 2005University of Virginia CS 5884 Finding Project Partners Simple way: –Ask people in the class if they want to work with you Problems: –You face rejection and ridicule if they say no Can you find partners without revealing your wishes unless they are reciprocated? –Identify people who want to work together, but don’t reveal anything about anyone’s desires to work with people who don’t want to work with them

12 April 2005University of Virginia CS 5885 Alice is your best match Use a Universally Trusted Third Party Alice Bob Bob would like to work with: Ron Rivest Sandra Bullock Alice Alice: Thomas Jefferson Colleen Hacker Bob MatchMaker.com

12 April 2005University of Virginia CS 5886 Use a Universally Trusted Third Party Bob E KU M [E KR B [“Bob would like …”]] MatchMaker.com E KU B [E KR M [“Alice”]]

12 April 2005University of Virginia CS 5887 HashMaker.com? Bob writes H(“I am looking for someone who wants to play with Euler’s totient function.”) on the board. No on else can tell Bob’s deepest darkest desires ( H is one-way) If someone else writes the same hash on the board, Bob has found his match How well does this work?

12 April 2005University of Virginia CS 5888 Untrusted Third Party Bob E H(W) [ W ] HashMatcher.com Use the hash of the wish as the encryption key so some symmetric cipher: HashMatcher can’t determine the wish Someone with the same exact wish will match exactly

12 April 2005University of Virginia CS 5889 Untrusted Third Party Bob E H(W) [ W ] HashMatcher.com

12 April 2005University of Virginia CS How can we send a message to HashMaker without it knowing who sent it? To: HashMaker From: Anonymous To: Router4 To: Router3 To: Router2 To: Router1 From: Bob

12 April 2005University of Virginia CS Onion Routing R5 R4 R3 R2 R1 Bob HashMatcher.com Pick n random routers, R i 1 …R i n R i k gets a message M k : E KU R ik (To: R i k+1 || M k+1 )

12 April 2005University of Virginia CS Onion Routing R5 R4 R3 R2 R1 Bob HashMatcher.com Pick 1 random router: R 2 Send R 2 : E KU R 2 (To: HashMatcher.com || M)

12 April 2005University of Virginia CS Onion Routing R5 R4 R3 R2 R1 Bob HashMatcher.com Pick 2 random routers: R 2, R 5 Send R 2 : E KU R2 [To: R5 || E KU R5 [To: HashMatcher.com || M]]

12 April 2005University of Virginia CS

12 April 2005University of Virginia CS Traffic Analysis R5 R4 R3 R2 R1 Bob HashMatcher.com If these are the only packets on the network, someone observing the network know it was Bob

12 April 2005University of Virginia CS Preventing Traffic Analysis R5 R4 R3 R2 R1 Bob HashMatcher.com

12 April 2005University of Virginia CS Finding Partners If Bob wants to work with Alice, he constructs W = “Alice + Bob” (all students agree to list names in this way in alphabetical order) Using onion rounting, sends HashMatcher: E H(W) [ W ] Using onion rounting, queries HashMatcher is there is a matching item –If so, Alice wants to work with him

12 April 2005University of Virginia CS Problems with this Protocol Cathy could send W = “Alice + Bob” Anyone can query “ x + Bob” for all x to find out who Bob wants to work with (or who wants to work with Bob, can’t tell which) If Colleen wants to work with Bob too, how do matches reflect preferences without revealing them? Challenge problem: invent a good (define carefully what good means) humiliation-free matching protocol

12 April 2005University of Virginia CS MIXes C1 C2 C3 C4 M1 M2 M3 M4 Random, secret permutation Security property: observer seeing all inputs and outputs cannot determine which output message corresponds to which input

12 April 2005University of Virginia CS MIX Net [Chaum81] C1 C2 C3 C4 M1 M2 M3 M4 A BC C = E KUA [E KUB [E KUC [M]]] What is input? What if Eve can see all traffic? What if one of A, B or C is corrupt? What if two are corrupt? Any good applications? E KRA (C) E KRB (C) E KRC (C)

12 April 2005University of Virginia CS Voting Application C1 C2 C3 C4 M1 M2 M3 M4 Republicrat Party Democrican Party Orange Party C = E KUR [E KUD [E KUG [“Badnarik”]]] How well does this work? * Note: any resemblance to real political parties is purely coincidental.

12 April 2005University of Virginia CS Voting Application C1 C2 C3 C4 M1 M2 M3 M4 Republicrat Party Democrican Party Orange Party C = E KUR [E KUD [E KUG [“Badnarik”]]] Each for any eavesdropper (knows public keys) to compute C for small set of possible messages

12 April 2005University of Virginia CS Voting Application C1 C2 C3 C4 M1 M2 M3 M4 Republicrat Party Democrican Party Orange Party C = E KUR [E KUD [E KUG [“Badnarik” || R]]]

12 April 2005University of Virginia CS Voting Application C1 C2 C3 C4 M1 M2 M3 M4 Republicrat Party Democrican Party Orange Party C = E KUR [E KUD [E KUG [“Badnarik” || R 1 ] R 2 ] R 3 ] Each mux decrypts with private key and removes R

12 April 2005University of Virginia CS Voting Application C1 C2 C3 C4 M1 M2 M3 M4 Republicrat Party Democrican Party Orange Party “Nader”

12 April 2005University of Virginia CS Voting Application C1 C2 C3 C4 M1 M2 M3 M4 Republicrat Party Democrican Party Orange Party “Nader” C = E KUG [“Badnarik” || R 1 ] Does publishing R 1 help?

12 April 2005University of Virginia CS Publishing R 1 Voters could prove their vote is misrecorded (or left out), but only by revealing for whom they voted Voters can prove to someone else for whom they voted If Orange doesn’t like result, can still disrupt election C = E KUR [E KUD [E KUG [“Badnarik” || R 1 ] R 2 ] R 3 ]

12 April 2005University of Virginia CS Auditing Muxes C1 C2 C3 C4 M1 M2 M3 M4 Republicrat Party Democrican Party Orange Party “Nader” Send inputs to next 2 muxes D mux picks n random inputs Asks R to prove they were done correctly How does R prove it?

12 April 2005University of Virginia CS Auditing Muxes C1 C2 C3 C4 M1 M2 M3 M4 Republicrat Party Democrican Party Orange Party “Nader” Input i = E KUR [E KUD [E KUG [v || R 1 ] R 2 ] R 3 ] Output j = E KUD [E KUG [v || R 1 ] R 2 ] If R reveals j and R 3, D can check E KUR [Output j || R 3 ] = Input i

12 April 2005University of Virginia CS Auditing Tradeoffs For every audit, one input-output mapping is revealed The more audits, the more likelihood of catching cheater What if each mux audits ½ of the values?

12 April 2005University of Virginia CS Catching Cheaters Probability a mux can cheats on k votes without getting caught = Probability a voters vote is revealed to eavesdropper If muxes collude, all bets are off ½k½k m muxes ½ m Note: unaudited votes only be one of n /2 possible outputs!

12 April 2005University of Virginia CS Faculty Candidate talk tomorrow: Yih-Chun Hu (CMU, Berkeley) Securing Network Routing Olsson 011, 3:30PM