Practical Secure Two-Party Computation and Applications Lecture 3: - - PowerPoint PPT Presentation

practical secure two party computation and applications
SMART_READER_LITE
LIVE PREVIEW

Practical Secure Two-Party Computation and Applications Lecture 3: - - PowerPoint PPT Presentation

Practical Secure Two-Party Computation and Applications Lecture 3: Tools and Applications Estonian Winter School in Computer Science 2016 Overview of this lecture Part 2: ABY Part 3: GSHADE Special Purpose Protocols Generic Protocols


slide-1
SLIDE 1

Practical Secure Two-Party Computation and Applications

Lecture 3:
 Tools and Applications Estonian Winter School in Computer Science 2016

slide-2
SLIDE 2

Overview of this lecture

2

Special Purpose Protocols Generic Protocols Arithmetic Circuit Boolean Circuit Homomorphic Encryption Symmetric Crypto Public Key Crypto GMW Yao OT
 One-Time Pad >> >>

Part 1: TASTY Part 2: ABY Part 3: GSHADE

slide-3
SLIDE 3

Part 1: TASTY

3

  • W. Henecka, S. Kögl, A.-R. Sadeghi, T. Schneider, I. Wehrenberg:


TASTY - Tool for Automating Secure Two-partY computations.

In ACM CCS’10.

Code: http://encrypto.de/code/TASTY

slide-4
SLIDE 4

How to use SFE for your specific task?

4

Goal:
 Automize with Tools

Task / Problem Algorithm SFE Protocol Implementa:on Measure Performance Homomorphic Encryp:on (HE) Garbled Circuits (GC)

slide-5
SLIDE 5

SFE Compilers and Libraries

5

Abstrac5on Level Primi5ves GC HE Func:on Descrip:on
 (What?) I/O, computa:on Fairplay(MP) (Py)SMCL Protocol Descrip:on
 (How?) I/O, enc/dec, compute under encryp:on VIFF, SMC, Sharemind Here: TASTY Protocol Implementa:on
 (How Exactly?) I/O, protocols, messages,
 crypto primi:ves Qilin, L1 Previous SFE compilers were restricted to either GC or HE.

slide-6
SLIDE 6

SFE with Homomorphic Encryption (HE)

6

Application: SFE by Computing on Encrypted Data

pk, JxK JzK JzK = f(JxK, JyK)

HE Schemes: Property:

+

[Paillier99], [DamgårdJ01], [DamgårdGK07], ...

+, 1*

[BonehGN05], [GentryHV10], ...

+, *

[Gentry09], [SmartV10], [vanDijkGHV10], ...

z

Server Client

restricted to
 specific
 homomorphic


  • peration(s)

private data x private data y

8x, y 2 P : Jx yK = JxK JyK, JxK := Encpk(x)

slide-7
SLIDE 7

Examples for Homomorphic Encryption Schemes

Multiplicatively homomorphic encryption:

  • Epk(x) Epk(y) = Epk(xy)
  • RSA: c1 = x1e mod n, c2 = x2e mod n


c1 c2 = (x1e )(x2e) mod n = (x1x2)e mod n

  • ElGamal: c1 = (gr1 ; x1 hr1), c2 = (gr2 ; x2 hr2)


c1 c2 = (gr1+r2; x1x2hr1+r2 ) Additively homomorphic encryption:

  • Epk(x) Epk(y) = Epk(x+y)
  • Epk(x)a = Epk(ax)
  • Paillier: c1 = gx1r1n mod n², c2 = gx2r2n mod n²


c1 c2 = gx1+x2(r1r2)n mod n²

7

slide-8
SLIDE 8

Performance of Homomorphic Encryption

8

  • Fully HE: minimal interac:on but not prac5cal yet

– [SmartV10]: 3.5s to encrypt 1 bit (up to 2*) – [HaleviGentry EC’10 Rump]: Re-Crypt 30min (deg=15,dim=215)

  • Addi:vely Homomorphic Encryp:on is prac:cal

but needs interac5on for mul5plica5on:

JxK, JyK choose random rx, ry J¯ xK = JxK JrxK J¯ yK = JyK JryK J¯ xK, J¯ yK ¯ z = ¯ x ∗ ¯ y J¯ zK Jx ∗ yK = J¯ zK − ryJ¯ xK − rxJ¯ yK − Jrx ∗ ryK

slide-9
SLIDE 9

Combine Advantages of HE and GC

9

  • HE good for linear opera:ons (+,*)
  • GC good for + and non-linear opera:ons

(<,min,...)

  • convert HE ⇔ GC


[BrickellPSW07], [BarniFKLSS09], [KolesnikovSS13], ...

  • 1. A: add random mask under encryp:on
  • 2. B: decrypt + encrypt with new scheme
  • 3. A: take off random mask under encryp:on
slide-10
SLIDE 10

Theoretical Framework: SFE using GC + HE

10

SFE = convert + compute on encrypted data [KolesnikovSS13]

  • 1. encrypt inputs
  • 2. compute under encryp:on
  • 3. decrypt outputs

Plain Value x Boolean Circuits using Garbled Circuits Client C Homomorphic Value JxK Plain Value x Server S Garbled Value e x Arithmetic Circuits using Homomorphic Encryption Inputs/Outputs Encrypted Values SFE of

slide-11
SLIDE 11

Contributions of the TASTY Framework

11

TASTY: SFE tool to arbitrarily combine GC+HE

  • TASTYL: Intui:ve Protocol Descrip:on Language
  • For many privacy-preserving applica5ons
  • Primi5ves: shii complexity into setup phase
  • Performance:

– Faster GC implementa:on (10x faster online phase) – Fast Mul:plica:on Circuits – Mul:plica:on GC vs. HE

+ =

slide-12
SLIDE 12

TASTY: Tool for Automating Secure Two-partY computations

12

Design Goals:

  • program SFE protocols

as sequence of

  • pera:ons on

encrypted data

  • minimize latency of
  • nline phase by pre-

compu:ng in setup phase

  • test, benchmark +

compare performance

  • f SFE protocols

Client C Server S Input Output Input Output Costs Protocol Description in TASTYL Analyzation Phase Setup Phase Online Phase Runtime Environment

slide-13
SLIDE 13

TASTYL: Types and Operators

13

Garbled Vector min, max, ... Vector +, -, *, dot Garbled Value mux, <, =, ... Homomorphic Value Plain Value rand, input, output /, <, =, ... Unsigned Modular Signed bitlength Value +, -, * N Homomorphic Vector Plain Vector rand, input, output /, =, ... Unsigned Vector Signed Vector Modular Vector

slide-14
SLIDE 14

TASTYL: Example

14

# convert unsigned to homomorphic vector client.hv = HomomorphicVec(val=client.v) server.hv <<= client.hv # mul:ply vectors (component-wise) server.hx = server.hv * server.w # convert homomorphic to garbled vector client.gx <<= GarbledVec(val=server.hx) # compute minimum value client.gmin = client.gx.min_value() # convert garbled to unsigned value and output client.min = Unsigned(val=client.gmin) client.min.output(desc="minimum value") def protocol(client, server): N = 4 L = 32 # input of client client.v = UnsignedVec(bitlen=L, dim=N) client.v.input(desc="enter values for v") # input of server server.w = UnsignedVec(bitlen=L, dim=N) server.w.input(desc="enter values for w”)

Inputs: C has vector v and S has vector w (N=4 unsigned L=32-bit values each) Output: C obtains GC HE

mini=1,..,N(vi · wi)

slide-15
SLIDE 15

Privacy-Preserving Applications in TASTYL

15

  • Private Set Intersec:on [FreedmanNP04]: HE
  • Face-Recogni:on [SSW09]: HE+GC

– based on Eigenface algorithm [TurkP91] – berer online communica:on than [ErkinFGKLT09]: HE – less efficient than hand-op:mized code [SSW09] – SCiFI [OsadchyPJM10] is more accurate/efficient:
 co-designed recogni:on algorithm and protocol

  • Medical Diagnos:cs (ECG) [BFKLSS09]: HE+GC
  • ...
slide-16
SLIDE 16

Multiplication Circuits for ℓ-bit values

16

  • Textbook mul:plica:on:


2ℓ2 - ℓ non-XORs [KSS09]

  • Fast mul:plica:on

[KaratsubaO62]
 ≈ 9 ℓ1.6 - 13 ℓ - 34 non-XORs 


Bitlength ⌥ 19 20 32 64 128 Textbook 703 780 2,016 8,128 32,640 Karatsuba 703 721 1,729 5,683 17,973 Improvement 0.0 % 7.6 % 14.2 % 30.1 % 44.9 %

Algorithm 1 Karatsuba multiplication 1: function karatsuba(x, y) . x, y are ` 2: if `  19 then 3: return Textbook(x, y) 4: end if 5: xh||xl x . x = x 6: yh||yl y . y = 7: Ph KARATSUBA(xh, yh) 8: Pl KARATSUBA(yl, yl) 9: xs xh + xl 10: ys yh + yl 11: Ps KARATSUBA(xs, ys) 12: Pd Ps Ph Pl 13: return (Ph22d`/2e) + Pd2d`/2e + Pl 14: end function

slide-17
SLIDE 17

Multiplication using GC vs. HE

17

  • Mul:plica:on = fundamental basic opera:on
  • Compare efficiency with TASTY (80 bit security level)

Client C Server S z = x · y HE1 GC1 GC2,HE2 x, y x x, y y

slide-18
SLIDE 18

Multiplication GC vs. HE: Communication

18

100 1000 10000 100000 1e+06 1e+07 1 2 4 8 16 32 64 128 Data in Bytes Bitlength HE1: Online HE2: Online GC1: Setup GC1: Online GC2: Setup GC2: Online

HE: beHer setup costs GC: less online costs
 for small operands

slide-19
SLIDE 19

Multiplication GC vs. HE: Setup Time

19

0.1 1 10 100 1000 10000 1 2 4 8 16 32 64 128 Setup Time in ms Bitlength HE1: C HE1: S HE2: C HE2: S GC1: C GC2: C

HE: less setup 5me

slide-20
SLIDE 20

Multiplication GC vs. HE: Online Time

20

0.1 1 10 100 1000 1 2 4 8 16 32 64 128 Online Time in ms Bitlength HE1: C HE1: S HE2: C HE2: S GC1: C GC1: S GC2: C GC2: S

GC: negligible


  • nline work for S

GC: beHer
 for small operands

slide-21
SLIDE 21

Part 2: ABY

21

  • D. Demmler, T. Schneider, M. Zohner:


ABY - a framework for efficient mixed-protocol secure two-party computation.

In NDSS’15.

A B Y

Code: http://encrypto.de/code/ABY

slide-22
SLIDE 22

Protocol Development

22

Function

Boolean Circuits Arithmetic Circuits

GMW Yao

Idea Representation Protocol Optimizations

Point-and-
 permute Fixed-Key
 Garbling Free-XOR Half-Gates

?

DGK Paillier

?

Existing Frameworks Abstract Languages

. . .

slide-23
SLIDE 23

Mixed Protocols

23

  • Some functionalities have a more efficient circuit representation
  • Multiplication in Boolean circuits: O(n2)
  • Comparison in Arithmetic circuits: O(n) multiplications of q-bit values
  • TASTY [HKSSW10] combines Paillier (Arithmetic) and Yao (Boolean)
  • Multiplication and conversion requires public-key operation
  • For long-term security, Yao-only is often most efficient [KSS14]

Yao Paillier

slide-24
SLIDE 24

Example: Minimum Euclidean Distance

24

Function

Boolean Circuits Arithmetic Circuits

GMW Yao Paillier

. . .

Paillier DGK Yao DGK Paillier DGK

Minimum Euclidean Distance: min(∑d

i=1(Si,1 – Ci)2, …, ∑d i=1 (Si,n – Ci)2)

  • Server holds database S, client holds query C
  • Used in biometric matching (face-recognition, fingerprint, …)

GMW

slide-25
SLIDE 25

Outline

25

Function

Boolean Circuits Arithmetic Circuits

GMW Yao DGK Paillier

. . .

3.ABY

1.OT-ext. 2.Conversion

1) More efficient multiplication using
 OT extension 2) More efficient conversion 3) Mixed-protocol framework called ABY

slide-26
SLIDE 26

Multiplication using OT [Gilboa99]

26

School Multiplication z = x * y with x=x3x2x1x0 and y=y3y2y1y0 x3x2x1x0 * y3y2y1y0 (x3x2x1x0) * y0 + (x3x2x1x0 0) * y1 + (x3x2x1x0 0 0) * y2 + (x3x2x1x0 0 0 0) * y3 z7z6z5z4z3z2z1z0 (r0, r0+x)

OT

y0 s0 = r0+x*y0 (r1, r1+2x)

OT

y1 s1= r1+2x*y1 (r3, r3+8x)

OT

y3 s3= r3+8x*y3 . . . [z]A=∑3

i=0 (-ri)

[z]B=∑3

i=0 si


= ∑3

i=0 ri + ∑3 i=02ix*yi

z= [z]A+[z]B r0 ЄR Z28 r1 ЄR Z28 r3 ЄR Z28

slide-27
SLIDE 27

Multiplication using OT Extension

27

8 16 32 64 500 1000 1500 2000 2500 3000

Communication

Bit-Length of Values Communication (Bytes) 8 16 32 64 1 10 100 1000 10000 100000

Run-Time

Paillier (WAN) DGK (WAN) Paillier (LAN) DGK (LAN) OT-Ext (WAN) OT-Ext (LAN) Bit-Length of Values Run-time (μs)

Use a multiplication protocol that is based on OT extension

  • Requires symmetric-key cryptography only


 Compare one multiplication using Paillier, DGK, and OT extension

Communication and run-time for 1 multiplication in LAN and WAN for long-term security

slide-28
SLIDE 28

The ABY framework

28

Combine:

  • Arithmetic sharing
  • Boolean sharing (GMW)
  • Yao's garbled circuits


 Efficient conversions between schemes 
 Use best practices in secure computation:

  • batch pre-compute crypto
  • use symmetric crypto where possible
  • use sub-protocols with recent optimizations

A B Y

slide-29
SLIDE 29

a,b

ABY Secure Computation Schemes

29

rithmetic sharing:

  • Free addition / cheap multiplication
  • Good for multiplication
  • olean sharing:
  • Free XOR / one message per AND
  • Good for multiplexing

ao's garbled circuits:

  • Free XOR / no interaction per AND
  • Good for comparison

A B Y A B Y

Multiplication Protocol Yao Mixed LAN [µs] 1.1 0.1 Comm. [KB] 100 5 c=a*b c c=a*b

slide-30
SLIDE 30

Example: Minimum Euclidean Distance

30

Minimum Euclidean Distance: min(∑d

i=1(Si,1 – Ci)2, …, ∑d i=1 (Si,n – Ci)2)

  • Server holds database S, client holds query C
  • Used in biometric matching (face-recognition, fingerprint, …)


1) Evaluate in Arithmetic circuits using Paillier [EFGJKT09] or DGK [BG11]

  • Comparison is costly



 2) Multiplication in Arithmetic; Comparison in Boolean circuits [HKSSW10]

  • Costly conversion/multiplication: expensive public-key crypto

3) Evaluate everything in Boolean circuits using Yao [KSS14] 


slide-31
SLIDE 31

Example: Minimum Euclidean Distance

31

Minimum Euclidean Distance: min(∑d

i=1(Si,1 – Ci)2, …, ∑d i=1 (Si,n – Ci)2)

dist min LAN [s] WAN [s] Comm [MB] #Msg Y Y 2.55 24.62 147.7 2 B B 2.43 39.41 99.9 129 A Y 0.19 3.42 5.0 8 A B 0.21 26.41 4.6 101 Euclidean distance for n = 512 values of 32-bit length and d = 4.

slide-32
SLIDE 32

Summary of ABY Framework

32

ABY = mixed-protocol secure computation framework Abstract from underlying secure computation protocol Use only fast symmetric key crypto

A B Y

slide-33
SLIDE 33

Part 3: Privacy-Preserving Biometric Identification

33

  • J. Bringer, H. Chabanne, M. Favre, A. Patey, T. Schneider, M. Zohner:


GSHADE: Faster privacy-preserving distance computation and biometric identification.

In ACM IH&MMSEC’14.

Code: http://encrypto.de/code/GSHADE

slide-34
SLIDE 34

Privacy-Preserving Biometric Identification

....

34

Task: Check if query is similar to an entry in the DB.

  • without revealing the query to the server
  • without revealing the DB to the client

Y1 X Y2 Y3 Yn

....

slide-35
SLIDE 35

Use-Cases

35

Biometric Access Control / Border Control
 
 Anonymous Biometric Credentials
 
 
 
 Secure Biometric Database Intersection

slide-36
SLIDE 36

HD( , ) < t2 HD( , ) < t3 HD( , ) < tn

The SCiFI Algorithm [Osadchy/Pinkas/Jarrous/Moskovich S&P’10]

36

HD( , ) < t1

....

? ? ? ? Compute Hamming distance of ℓ=900 bit strings and compare with threshold.

slide-37
SLIDE 37

Privacy-Preserving Biometric Identification: Classification

37

Technique
 
 Public-Key Crypto Boolean / Hybrid OT-based Hamming (HD)

[OPJM10] [HEKM11]
 [SZ13] [BCP13] SHADE
 GSHADE

Euclidean

[EFG+09] [SSW09]
 [HKS+10]
 [BG11]
 [HMEK11]
 [SZ13] GSHADE

Normalized HD

  • [BG11]

GSHADE

Distance

slide-38
SLIDE 38

SHADE

38

Secure Hamming Dist. computation from OT [BringerChabannePatey’13] Goal: compute HD(X,Y) = Σ(xi⨁yi), i=1..ℓ

OT

ti=ri+(xi⨁yi) ri+yi ; ri+(1-yi) xi choose ri ∈R Zℓ+1 for i=1..ℓ: T = Σti = R + HD(X,Y) R = Σri Continue with generic MPC protocol (e.g., Yao or GMW)
 from T - R = HD(X,Y) …

slide-39
SLIDE 39

GSHADE: Optimizations and Generalization of SHADE

39

  • For multiple HD computations: HD(X,Y1), HD(X,Y2), …:


Same number of OTs, but on longer strings

  • Can use correlated OT (C-OT) to improve communication
  • Generalize to larger class of functions f(X,Y) = fX(X) + fY(Y) + Σfi(xi,Y)
  • Hamming Distance: fX=fY=0, fi(xi,Y)=xi⨁yi
  • Squared Euclidean Distance (for faces & fingerprints):


fX(X)=Σxi2, fY(Y)=Σyi2, fi(xi,Y)=-2xiyi

  • Normalized Hamming Distance (for irises)
  • Squared Mahalanobis Distance


(for hand shapes, keystrokes, signatures)

1 P`

i=1(mim0 i(xiyi))

P`

i=1(mim0 i)

. . , XK) and Y = (Y1, . (X − Y )T M(X − Y ),

slide-40
SLIDE 40

GSHADE Protocol

40

OT

ti=ri+fi(xi,Y) ri+fi(0,Y); ri+fi(1,Y) xi choose ri ∈R Zm for i=1..ℓ: T = fX(X) + Σti R = - fY(Y) + Σri Goal: compute f(X,Y) = fX(X) + fY(Y) + Σfi(xi,Y) Continue with generic MPC from T - R = f(X,Y) = …

slide-41
SLIDE 41

Performance of GSHADE

41

Algorithm Distance Time in s Communication in MB SCiFI Hamming 1,0 6,2 Eigenfaces Euclidean 5,0 83,6 FingerCodes Euclidean 6,7 67,5 IrisCodes Normalized Hamming 9,1 56,4

Compare biometric sample with DB of 5,000 entries.

slide-42
SLIDE 42

Performance for SCiFI

42

Runtime in s 0,1 1 10 100 1.000 |DB|=100 |DB|=320|DB|=50,000 9,9 0,3 0,2 46 0,5 0,3 42,9 8,8 244,0 HE
 [OPJM10] GC
 [HEKM11] GMW [SZ13] GSHADE+GMW [BCF+14] Communication in MB 0,1 1 10 100 1.000 |DB|=100 |DB|=320 |DB|=50,000 63,4 0,5 0,2 886,5 5,7 1,7 8,3 2,6 7,3

slide-43
SLIDE 43

Runtime for SCiFI

43

Numbers taken from papers (not measured on same machines).

Runtime in s 0,1 1 10 100 1.000 |DB|=100 |DB|=320 |DB|=50,000 9,9 0,3 0,2 46 0,5 0,3 42,9 8,8 244,0 HE (Java)
 [OPJM10] GC (Java)
 [HEKM11] GMW (C++) [SZ13] GSHADE+GMW (C++) [BCF+14]

slide-44
SLIDE 44

Communication for SCiFI

44

Improvement by 1 order of magnitude.

Communication in MB 0,1 1 10 100 1.000 |DB|=100 |DB|=320 |DB|=50,000 63,4 0,5 0,2 886,5 5,7 1,7 8,3 2,6 7,3 HE (Java)
 [OPJM10] GC (Java)
 [HEKM11] GMW (C++) [SZ13] GSHADE+GMW (C++) [BCF+14]

slide-45
SLIDE 45

Performance for Eigenfaces

45

Runtime in s 0,1 1 10 100 1.000 |DB|=320 |DB|=1,000 1,3 0,6 26,3 17,7 139,6 79,6 40,0 HE
 [EFG+09] HE+GC
 [HKS+10] GMW [SZ13] GSHADE+GMW [BCF+14] Communication in MB 1 10 100 1.000 |DB|=320 |DB|=1,000 9,4 7,7 446 291,1 17 9,2 7,3

slide-46
SLIDE 46

Runtime for Eigenfaces

46

Numbers taken from papers (not measured on same machines).

Runtime in s 0,1 1 10 100 1.000 |DB|=320 |DB|=1,000 1,3 0,6 26,3 17,7 139,6 79,6 40,0 HE
 [EFG+09] HE+GC
 [HKS+10] GMW [SZ13] GSHADE+GMW [BCF+14]

slide-47
SLIDE 47

Communication for Eigenfaces

47

Communication in MB 1 10 100 1.000 |DB|=320 |DB|=1,000 9,4 7,7 446 291,1 17 9,2 7,3 HE
 [EFG+09] HE+GC
 [HKS+10] GMW [SZ’13] GSHADE+GMW [BCF+14]

slide-48
SLIDE 48

Performance for Iriscodes

48

Runtime in s 0,1 1 10 100 1.000 |DB|=320 |DB|=10,000 17,2 0,5 212,6 17,6 HE+GC
 [BG11] GSHADE+GMW
 [BCF+14] Communication in MB 10 100 1.000 |DB|=320 |DB|=10,000 87,5 4,9 37,6 1,7

slide-49
SLIDE 49

Performance for Fingercodes

49

Runtime in s 0,1 1 10 100 1.000 |DB|=128 |DB|=1,024 1,6 0,3 1114,3 148,2 HE+GC
 [HMEK11] GSHADE+GMW
 [BCF+14] Communication in MB 1 10 100 |DB|=128 |DB|=1,024 13,8 1,8 17,5 2,2

slide-50
SLIDE 50

Summary

Part 1: TASTY

  • combine protocol based on


Homomorphic Encryption and Garbled Circuits Part 2: ABY

  • combine protocols based on


Arithmetic, Boolean (GMW), and Yao (GC) sharing Part 3: Privacy-preserving biometric identification

  • Applications can be built efficiently directly on OT

50

slide-51
SLIDE 51

EXERCISE 4

Design public-key based OT protocol with two messages using additively homomorphic encryption.

51

slide-52
SLIDE 52

Literature

  • M. Barni, P. Failla, V. Kolesnikov, R. Lazzeretti, A.-R. Sadeghi, T. Schneider: Secure evaluation of private linear branching programs with

medical applications. In ESORICS’09.

  • M. Blanton, P. Gasti: Secure and Efficient Protocols for Iris and Fingerprint Identification. In ESORICS’11.
  • J. Bringer, H. Chabanne, M. Favre, A. Patey, T. Schneider, M. Zohner: GSHADE: Faster privacy-preserving distance computation and

biometric identification. In ACM IH&MMSec’14.

  • J. Bringer, H. Chabanne, A. Patey. SHADE: secure hamming distance computation from oblivious transfer. In FC Workshops’13.
  • D. Boneh, E. Goh, K. Nissim: Evaluating 2-DNF Formulas on Ciphertexts. In TCC’05
  • J. Brickell, D. E. Porter, V. Shmatikov, E. Witchel: Privacy-preserving remote diagnostics. In ACM CCS’07.
  • I. Damgård, M. Geisler, M. Krøigaard: A correction to 'Efficient and secure comparison for on-line auctions'. IJACT’09.
  • I. Damgård, M. Jurik: A Generalisation, a Simplification and some Applications of Paillier’s Probabilistic Public-Key System. In PKC’01.
  • D. Demmler, T. Schneider, M. Zohner: ABY - a framework for efficient mixed-protocol secure two-party computation. In NDSS’15.
  • Z. Erkin, M. Franz, J. Guajardo, S. Katzenbeisser, I. Lagendijk, T. Toft: Privacy-preserving face recognition. In PETS’09.
  • M. J. Freedman, K. Nissim, B. Pinkas: Efficient private matching and set intersection. In EURORYPT’04.
  • C. Gentry: Fully homomorphic encryption using ideal latices. In STOC’09.
  • C. Gentry, S. Halevi, V. Vaikuntanathan: A Simple BGN-Type Cryptosystem from LWE. In EUROCRYPT’10.
  • N. Gilboa: Two party RSA key generation. In CRYPTO’99.
  • W. Henecka, S. Kögl, A.-R. Sadeghi, T. Schneider, I. Wehrenberg: TASTY - Tool for Automating Secure Two-partY computations. In ACM

CCS’10.

  • Y. Huang, D. Evans, J. Katz, L. Malka: Faster secure two-party computation using garbled circuits. In USENIX Security’11.
  • Y. Huang, L. Malka, D. Evans, J. Katz: Efficient privacy-preserving biometric identification. In NDSS’11.
  • A. Karatsuba, Y. Ofman. Multiplication of many-digital numbers by automatic computers. In SSSR Academy of Sciences’62.
  • F. Kerschbaum, T. Schneider, A. Schröpfer. Automatic protocol selection in secure two-party computations. In ANCS’14.
  • V. Kolesnikov, A.-R. Sadeghi, T. Schneider: Improved garbled circuit building blocks and applications to auctions and computing minima. In

CANS’09.

  • V. Kolesnikov, A.-R. Sadeghi, T. Schneider: A systematic approach to practically efficient general two-party secure function evaluation

protocols and their modular design. In Journal of Computer Security 2013.

  • M. Osadchy, B. Pinkas, A. Jarrous, B. Moskovich: SCiFI - A system for secure face identification. In IEEE S&P’10.
  • P. Paillier: Public-Key Cryptosystems Based on Composite Degree Residuosity Classes. In EUROCRYPT’99.
  • A.-R. Sadeghi, T. Schneider, I. Wehrenberg: Efficient privacy-preserving face recognition. In ICISC’09.
  • T. Schneider, M. Zohner: GMW vs. Yao? Efficient secure two-party computation with low depth circuits. In FC’13.
  • N. Smart, F. Vercauteren: Fully Homomorphic Encryption with Relatively Small Key and Ciphertext Sizes. In PKC’10.
  • M. Turk, A. Pentland: Eigenfaces for recognition. Journal of Cognitive Neuroscience 1991.
  • M. van Dijk, C. Gentry, S. Halevi, V. Vaikuntanathan: Fully Homomorphic Encryption over the Integers. In EUROCRYPT’10.

52