Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.

Slides:



Advertisements
Similar presentations
Computational Privacy. Overview Goal: Allow n-private computation of arbitrary funcs. –Impossible in information-theoretic setting Computational setting:
Advertisements

Many-to-one Trapdoor Functions and their Relations to Public-key Cryptosystems M. Bellare S. Halevi A. Saha S. Vadhan.
Cryptography and Game Theory: Designing Protocols for Exchanging Information Gillat Kol and Moni Naor.
Secure Evaluation of Multivariate Polynomials
Data Security 1 El_Gamal Cryptography. Data Security2 Introduction El_Gamal is a public-key cryptosystem technique El_Gamal is a public-key cryptosystem.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Security Definitions in Computational Cryptography
11 Provable Security. 22 Given a ciphertext, find the corresponding plaintext.
From: Cryptographers’ Track of the RSA Conference 2008 Date: Reporter: Yi-Chun Shih 1.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Computational Security. Overview Goal: Obtain computational security against an active adversary. Hope: under a reasonable cryptographic assumption, obtain.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 4 Lecturer: Moni Naor.
Lecture 3.3: Public Key Cryptography III CS 436/636/736 Spring 2012 Nitesh Saxena.
7. Asymmetric encryption-
Cross-Realm Password-Based Server Aided Key Exchange Source: WISA 2010, LNCS 6513, pp. 322–336, 2011(0) Author: Kazuki Yoneyama Presenter: Li-Tzu Chang.
YSLInformation Security -- Public-Key Cryptography1 Elliptic Curve Cryptography (ECC) For the same length of keys, faster than RSA For the same degree.
Foundations of Network and Computer Security J J ohn Black Lecture #10 Sep 18 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
1 How to securely outsource cryptographic computations Susan Hohenberger and Anna Lysyanskaya TCC2005.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
1 Identity-Based Encryption form the Weil Pairing Author : Dan Boneh Matthew Franklin Presentered by Chia Jui Hsu Date :
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
1 Lecture #10 Public Key Algorithms HAIT Summer 2005 Shimrit Tzur-David.
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
CS555Spring 2012/Topic 41 Cryptography CS 555 Topic 4: Computational Approach to Cryptography.
Foundations of Cryptography Lecture 9 Lecturer: Moni Naor.
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
0x1A Great Papers in Computer Security
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
8. Data Integrity Techniques
ElGamal Public Key Cryptography CS 303 Alg. Number Theory & Cryptography Jeremy Johnson Taher ElGamal, "A Public-Key Cryptosystem and a Signature Scheme.
How to play ANY mental game
Cryptography Lecture 8 Stefan Dziembowski
Oblivious Signature-Based Envelope Ninghui Li, Stanford University Wenliang (Kevin) Du, Syracuse University Dan Boneh, Stanford University.
Merkle-Hellman Knapsack Cryptosystem Merkle offered $100 award for breaking singly - iterated knapsack Singly-iterated Merkle - Hellman KC was broken by.
Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.
Cyrtographic Security Identity-based Encryption 1Dennis Kafura – CS5204 – Operating Systems.
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
Public-Key Cryptography CS110 Fall Conventional Encryption.
Slide 1 Vitaly Shmatikov CS 380S Introduction to Secure Multi-Party Computation.
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.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
Introduction to Algorithms Second Edition by Cormen, Leiserson, Rivest & Stein Chapter 31.
By Yernar.  Background  Key generation  Encryption  Decryption  Preset Bits  Example.
Background on security
Secure Computation (Lecture 5) Arpita Patra. Recap >> Scope of MPC > models of computation > network models > modelling distrust (centralized/decentralized.
Public Key Encryption with keyword Search Author: Dan Boneh Rafail Ostroversity Giovanni Di Crescenzo Giuseppe Persiano Presenter: 陳昱圻.
Merkle-Hellman Knapsack Cryptosystem
Alternative Wide Block Encryption For Discussion Only.
1 Network and Computer Security (CS 475) Modular Arithmetic and the RSA Public Key Cryptosystem Jeremy R. Johnson.
Secure Communication between Set-top Box and Smart Card in DTV Broadcasting Authors: T. Jiang, Y. Hou and S. Zheng Source: IEEE Transactions on Consumer.
FHE Introduction Nigel Smart Avoncrypt 2015.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Cryptographic Security Identity-Based Encryption.
Almost Entirely Correct Mixing With Applications to Voting Philippe Golle Dan Boneh Stanford University.
Secure Computation (Lecture 9-10) Arpita Patra. Recap >> MPC with honest majority in i.t. settings > Protocol using (n,t)-sharing, proof of security---
Foundations of Network and Computer Security J J ohn Black CSCI 6268/TLEN 5550, Spring 2014.
Public Key Cryptosystem In Symmetric or Private Key cryptosystems the encryption and decryption keys are either the same or can be easily found from each.
Cryptographic methods. Outline  Preliminary Assumptions Public-key encryption  Oblivious Transfer (OT)  Random share based methods  Homomorphic Encryption.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
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.
Topic 36: Zero-Knowledge Proofs
Foundations of Secure Computation
Group theory exercise.
Topic 5: Constructing Secure Encryption Schemes
Oblivious Transfer.
Cryptography Lecture 23.
Presentation transcript:

Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal of Network Security (nchu)

Introduction Suppose there are three parties A, B, and C. Party A’s secret input is a, party B’s secret input is b, and party C’s input is empty; they want to know if a = b with restriction that A and B should not learn anything more than what is implied by the comparison result, and C should not learn anything about a or b except the equality of a and b.

Preliminaries (1/3) For an integer n, Z n denotes the set of all integers modulo n. Z n * is a subset of Z n such that elements in Z n * are relatively prime to n. An element a in Z n * is called a n-th residue modulo n 2 if x n ≡ a(mod n 2 ) for some x in Z n *. A function f(n) is called negligible if for every positive polynomial p, and all sufficiently large n, f(n) < 1/p(n).

Preliminaries (2/3) - computational Indistinguishability Let X = {X n }, Y = {Y n } are sequences of random variables. We say X and Y are computationally indistinguishable if for every PPT algorithm D and every c > 0 there exists an integer N such that for all n > N, | Prob(D(X n ) = 1) – Prob(D(Y n ) = 1) | < 1/n c Let X ≈ c Y denote that X and Y are computationally indistinguishable.

Preliminaries (3/3) - Homomorphic Encryption Encryption E: plaintext m < n a random integer r < n ciphertext c = g m r n (mod n 2 ) Decryption D: ciphertext c < n 2 The scheme has an additive homomorphic property, i.e. for all m 1, m 2 in Z n and k in N, D(E(m 1 )E(m 2 )mod n 2 ) = m 1 + m 2 mod n, D(E(m) k mod n 2 ) = km mod n.

Model of Secure Multi-party Computation(1/3) Multi-party Computation Let f : A x B x C  {0, 1}, where A = B =[0, 2 l -1], C = {ε}, and f(a, b,ε) = 1, if a ≠ b, f(a, b,ε) = 0, if a = b.

Model of Secure Multi-party Computation(2/3) Model of Adversary and Communication 1. An adversary can be either passive or active. A passive adversary obtains the complete information held by corrupted parties, but the parties still act correctly. An active adversary takes full control of the corrupted parties, the adversary can determine the messages sent out and the outputs produced by the corrupted parties. 2. An adversary can also be either static or dynamic. A static adversary decides which parties to corrupt before the execution of the protocol. While a dynamic adversary can corrupt parties at any time when the protocol is running. 3. In this paper, we assume that parties communicate with one another via secure channels, and the adversary is passive. We assume that party C can’t collude with A or B, so the adversary is static since he can corrupt only one party. That is, either A, or B, or C is cheating passively in the protocol.

Model of Secure Multi-party Computation(3/3) Security Definition Def : A protocol for the CPET problem is secure if for every passive real adversary V there is a passive ideal adversary V’ whose running time is bounded by a polynomial in the running time of V such that for all a in A, b in B, the outputs of A, B, C, V in the real model and those of A’, B’, C’, V’ in the ideal process are computationally indistinguishable.

Protocol Development(1/2) Setup : Let S be a homomorphic public-key cryptosystem as described above. Let k be a security parameter (normally, k >= 80), and |p| = |q| = k. If the bit-length l is larger than k, then we just set k = l. Before the execution of the protocol, party C generates a public key/secret key pair (pk, sk) and sends E pk to party A and party B. Party A and party B jointly generate a random number r ab in [0, 2 k -1].

Protocol Development(2/2) Step 1. A encrypts his secret input a as x = E pk (r ab a), and sends x to B. Step 2. B encrypts his secret input b as y = E pk (-r ab b), and computes y’ = E pk (r ab a)E pk (-r ab b), then B sends y’ to C. Step 3. C decrypts y’ : z = D sk (y’). If z = 0, then C sends z’ = 0 to A and B. Otherwise C sends z’ = 1 to A and B. Result extraction : C tests if z = 0. If it holds, then C outputs 0 (C concludes a = b), otherwise C outputs 1 (C concludes a ≠ b). A tests if z’ = 0. If it holds, then A outputs 0 (A concludes a = b), otherwise A outputs 1 (A concludes a ≠ b). B do the same with A.

Security Analysis(1/2) Correctness : 1. Party C : suppose a = b, then C gets z = D sk (y’) = D sk (E pk (r ab a)E pk (-r ab b)) = D sk (E pk (r ab a-r ab b)) = D sk (E pk (0)) = 0. so C knows a = b. suppose a ≠ b, then C gets z = D sk (E pk (r ab (a-b))). For r ab is a random element, D sk (E pk (r ab (a-b))) is a non-zero random element in Z n too. So C knows a ≠ b. 2. Party A or B : In case a = b, A(B) gets z’ = 0, and A(B) knows a = b. In case a ≠ b, A(B) gets z ≠ 0, and A(B) knows a ≠ b. Thus, in both cases, the three parties A, B, and C will get the same correct result. This completes the proof of correctness of the protocol.

Security Analysis(2/2) Privacy : 1. We say that A can’t cheat in the protocol. The information held by party A consists of a, r ab, x = E pk (r ab a), f(a, b, ε), from which A can learn if a = b and nothing else. 2. Party C can’t cheat in the protocol, either. The only information about the secrets a and b held by party C is an encryption of the bit 0 or a random element in Z n. Thus C only knows the comparison result and nothing else. 3. Now, we model party B as an adversary V who has access to the view of party B. So V knows b, r ab, x = E pk (r ab a), y = E pk (- r ab b), y’ = E pk (r ab a) E pk (-r ab b), f(a, b, ε). If there are two numbers a’ and a’’, s.t a’ ≠ a’’, a’ ≠ b, and a’’ ≠ b, V can’t distinguish a’ or a’’.