280 likes | 305 Views
Learn about the innovative application of the Oblivious Comparator in auction scenarios, ensuring trust and secure function evaluation without revealing bidder details. This study discusses the model, security aspects, and performance of the system.
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