390 likes | 558 Views
Private Function Evaluation. Payman Mohassel University of Calgary Talks given at Bristol and Aarhus Universities. Joint work with Saeed Sadeghian. Secure Function Evaluation. Correctness: honest parties learn the correct output Privacy: Nothing but the final output is leaked .
E N D
Private Function Evaluation PaymanMohassel University of Calgary Talks given at Bristol and Aarhus Universities Joint work with SaeedSadeghian
Secure Function Evaluation • Correctness: • honest parties learn • the correct output • Privacy: • Nothing but the • final output is leaked P2, x2 P1, x1 P3, x3 P4, x4 P5, x5 Parties learn f(x1,…,xn)
Our Setup • Function • Boolean circuits • Arithmetic circuits • Settings we consider • Two-party • Multiparty • Dishonest majority • Semi-honest adversaries
Motivation • Why Hide the Function? • Private functions • Proprietary, intellectual property • Sensitive functions • Revealing vulnerabilities • Output of SFE leaks information • Hiding the function potentially helps • Prevents dictionary attacks on input • Interactive program obfuscation • If interaction is possiblePFE yields efficient program obfuscation
Is PFE Hard? • Not really! • All SFE feasibility results extend to PFE • Using Universal Circuits • The only interesting questions are efficiency questions
Universal Circuits C Universal Circuit C(x) x
Universal Circuits • Boolean • For a circuit C with g gates • [Valiant’ 76]: (good for large circuits) • Building it seems complicated • [KS’ 08]: (good for small circuits ) • Arithmetic • For a circuit C with g gates and depth d • [Raz’ 08]: gates, i.e. in the worst case
PFE Constructions • Two-party setting • Universal Circuit + Yao’s protocol • or symmetric ops + OTs • [KM’ 11]: HomomorphicEnc + Yao’s protocol • public-key ops + symmetric ops • Multi-party setting • Universal Circuit + GMW protocol • OTs • Arithmetic circuits • Universal Circuit + HE-based MPC [CDN’ 01] • public-key ops
Efficiency Questions • Asymptotic Efficiency • Can we design PFE with linear complexityin all standard settings? • Practical Efficiency • Constant factors are important • Symmetric ops superior to public-key ops • … • Can we improve practical efficiency of universal circuit approach?
Hiding the Circuit One can hide circuit size using an FHE-based construction • What is leaked • Number of gates • Input size • Output size • What is private • Functionality of gates • Topology of the circuit
Private Gate Evaluation Actual sharing mechanism depends on the protocol • Inputs are shared • Gate function • Known only to • Output is shared
Circuit Topology Topology captured using a mapping
CTH Functionality Reveal Map • Inputs are shared • Mapping • known by only • Outputs are shared • Query types • Map: done internally • Reveal: reveal result of map • On-demand mapping
PGE + CTH CTH PGE PGE PGE Topological order PGE PGE Map Reveal
PGE for GMW 1-out-of-4 OT
PGE for AC (If ) (If ) is an additively homomrphic encryption
PGE for Garbled Circuit • We kind of cheat! • We assume all gates are NAND gates • Sharing associated with Yao • To share a value • holds ( • holds • sends a garbled table to • decrypts one row of the table
Oblivious Mapping π Assume inputs are ready Oblivious mapping
Oblivious Mapping • Using any MPC • inefficient • Not clear it has the on-demand property • [HEK’12] implements Waksman using Yao’s protocol • Using singly HE • Linear complexity • Requires public-key operations • Using oblivious transfer • Not linear • But better concrete efficiency (OT extension)
HE-based . . . Easy to make on-demand
Permutation Networks Switches Permutation Network selection bit 0 1 [Waksman’ 68]: any permutation can be implemented using a permutation network of size The permutation is determined using selection bits
Switching Networks 0 0 1 1 • Our mapping is not a permutation • Need one more switch type
Mapping from SN 1 1 Waksman network Waksman network . . . 0
Oblivious Switch 1 1-out-of-2 OT
Oblivious Switch 2 1-out-of-2 OT
Oblivious SN Evaluation MAP 0 1 1 Reveal
Oblivious SN Evaluation • One OT per switch • O(mlogm) OTs total • On-demand • All OTs done offline • Only Xoring online • Practical when using OT extension • Constant round
Oblivious Mapping CTH Functionality • GMW or Arithmetic Circuits • Inputs to mapping are ADDITIVE- or XOR-shared • (MAP) Each party runs an oblivious mapping with • uses his vector of shares as input • uses his mapping and blinding vector • (Reveal) Each party obtains his blinded “mapped” vector of shares • maps his own vector of shares and XOR/SUBTRACTs s to adjust values. • Yao’s Protocol • Slightly more involved due to “weird sharing” mechanism
Summary of Results • First Multiparty PFE with linear complexity • GMW + HE-Based oblivious mapping • First Arithmetic PFE with linear complexity • [CDN 01] + HE-based oblivious mapping • More efficient two-party PFE with linear complexity • Yao + HE-based oblivious mapping • Subsumes and improves construction of [KM’11] • More practical PFE • Yao/GMW + OT-based oblivious mapping + OT extension
Other Security Notions • Security against stronger adversaries • Covert, malicious • Can we still achieve linear complexity? • PFE in the information theoretic setting • Our OT-based solution seems generalizable to IT setting • But linear PFE is open • Can we hide circuit size without using FHE? • or use FHE in a limited way, or use somewhat FHE?
Round Complexity of PFE • Can we do PFE non-interactively? • Our Yao-based protocol requires at least 3 messages • SFE can be done in two messages • Can we achieve constant round multiparty PFE with linear complexity? • We only know it for two-party case • Can we achieve constant round arithmetic PFE? • Without switching to a Boolean circuit
PFE for Practice • PFE with good concrete + asymptotic efficiency • E.g. designing OT-based oblivious mapping with linear complexity • Can PFE help improve efficiency of SFE? • Idea: • One party embeds his input in the circuit • Shrinks the circuit significantly • Circuit structure leaks information • We use PFE to hide the structure • PFE for RAM programs