280 likes | 300 Views
Oblivious Comparator and its application to Auction. Hiroaki Kikuchi Tokai University - Japan. English Auction. $60. $50. Auctioneer. $40. $30. Bidder C. Bidder B. Bidder A. $70. $20. $50. Sealed-bid Auction. Auctioneer. Bidder C. Bidder B. Bidder A. A is $70 B is $20.
E N D
Oblivious Comparator and its application to Auction Hiroaki Kikuchi Tokai University - Japan
English Auction $60 $50 Auctioneer $40 $30 Bidder C Bidder B Bidder A
$70 $20 $50 Sealed-bid Auction Auctioneer Bidder C Bidder B Bidder A
A is $70 B is $20 Issue: Trust in Auctioneer $70 $20 Bidder C Bidder B Bidder A
Who win? Approach: Oblivious Comparator Winner ??? $70 $20 $30 Bidder C Bidder B Bidder A
Contents • Introduction for issues in auction and outline of an oblivious comparator • Secure Function Evaluation • Model, Building blocks and security • Completeness • Auction Protocol • Performance • Conclusion
Secure Function Evaluation A a b B CMP y = ƒ(a, b, c) Target: a+b+c max(a,b,c) highest(A,B,C) c C
Model Si A E[a] Si+1 = T[E[y]] E[b] B CMP E[y] = E[ƒ(a, b, c)] E[c] C
The Idea • Logic Circuit with Ciphertext • Homomorphic Encryption over GF(2) • Logical Operations (AND,NOT) • Reed-Muller Expansion • State Machine “comparator”
1. Homomorphic Encryption • Public-key Encryption E[x] • Homomorphism over GF(2) a,b in {m0, m1} E[a] x E[b] = E[a b] • Indistinguishablity • Given E[m0] and E[m1], hard to figure E[m0] • Distributed Threshold Encryption • Key-generation, decryption (t-out-of-n) • Verifiable encryption
Homomorphism over GF(2) E a, b E[a], E[b] x ⊕ E a⊕b E[a⊕b]
Example: ElGamal encryption • Key Generation p = 2q + 1, g in G of order q public key: y = gx, secret key: x encryption: E[m] = (myr, gr) decryption: m = (myr)/(gr)x • Plain messages m {1, -1} 1 = false(0), -1 = true (1)
EXOR • Homomorphism E[a] = (ayr, gr) E[b] = (bys, gs) (abyr+s, gr+s) = E[ab] • 1-bit EXOR E[1] x E[1] = E[1] 0 0 = 0 E[1] x E[-1] = E[-1] 0 1 = 1 E[-1] x E[1] = E[-1] 1 0 = 1 E[-1]x E[-1] = E[1] 1 1 = 0
2. Logical Operations • Objective Given a ciphertext E[a] (unknown a), player B with a plaintext b whishes to compute • Negation E[~a] • Conjunction E[ab] • Disjunction E[ab] without revealing his secret b.
2. Logical Operations • Lemma 3.1 (Negation) E[~a] = E[a] x E[m1] = E[a ⊕ -1] • Lemma 3.2 (Conjunction) • Similarly, E[a1a2b] and E[ab] are computed.
2. Logical Operations • Verifiability • Attack: (violating definition) • E.g. sending E[random] as E[ab], or E[a] when b = 0.
3. Reed-Muller Expansion • Lemma 2.3 Arbitrary n-variable boolean function ƒ(x1,x2,x3) is represented asƒ = a0⊕ a1x1⊕ a2 x2⊕ a3 x3⊕ a4x1x2⊕ a5x1x3⊕ a6x2x3⊕a7x1x2x3 where ai in {0,1} (Boolean)
3. Reed-Muller Expansion • Lemma 2.1 xy = x ⊕y ⊕xy • Majority function ƒ(x,y,z) = xy xz yz = xy (xz ⊕yz ⊕xzyz) = xy ⊕xz ⊕yz ⊕xyz
4. State Machine • Oblivious Computer C • Set of states Si={s1,…,sL} • L=2i, S0=∅ • State transition function T • Si=T(Si-1,Ai) • Ai: Sequence of ciphertexts • Decoding function D • Y = D[Sn] Pi C bi Si AND Ai T(Si,Ai) Si+1
E.g. Majority Function PC PB PA C c b a S0 A1={E[a]} T(S0,A1)=S0UA1 S1 S1={∅, E[a]} A2={E[b],E[ab]} A2 T S2 S2=S1UA2 A3={E[ac], E[bc], E[abc]} A3 T S3=S2UA3
Majority Function • Final State • S3={E[a], E[b], E[c],E[ab], E[ac], E[bc], E[abc]} • Decoding function: D • D(S3)=E[ab]xE[ac]xE[bc]xE[abc] =E[ab ⊕ac ⊕ bc ⊕ abc] =E[ab ac bc]
Oblivious Comparator (Auction) • K-bit Input A: a = (a2, a1, a0) B: b = (b2, b1, b0) • Output • Winning pricec =max(a,b) = a if a > b b if a < b • Winner w = A if a > bB if a < b
Oblivious Comparator • Flags • = true if a>b • = true if a<b • = true if a b A: a = (1 0 0) B: b = (1 1 0) c = i-1 ai ~bi = i-1 ~ai bi = i i = ~(a) (i ai i bi) 0 0 0 1 0 1 1 1 0 1 1 0
n-player Comparison C • Size of S is independent from n S1=c P1 a1 S2=max(c,a1) P2 a2 S3=max(c,a2) Sn=max(c,an)=max(a1,..,an)
Efficiency • k-bit Comparator • Internal state: 2k ciphertext O(2k) • rounds:once for each player O(n) • Bidder • communication: 2k minterms x ciphertexts O(2k) • Computation: 2k ciphertext E[m0] O(2k)
Conclusions • We have proposed • a cryptographic protocol for secure function evaluation, i.e., functionally complete oblivious computer • Round complexity of n • Communication and Computation of O(2k) • Its application to Auction in which auctioneer is able to perform comparison for n bids and determine the winning price and the winner without knowledge of each bid.
Threshold Decryption • Key Generation • Secret ƒ(1), ƒ(2), ƒ(3) • Public key y = gƒ(0) = gƒ(1)1 gƒ(2)2 gƒ(3)3 • Decryption • E[m] = (myr, gr) • m = myr/ (gr)ƒ(1)1 (gr)ƒ(1)1 (gr)ƒ(1)1
Performance First-Price