+ All Categories
Home > Documents > Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max....

Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max....

Date post: 12-Oct-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
31
Privacy-Preserving Logistic Regression based on HEAAN Library Privacy-Preserving Logistic Regression based on HEAAN Library Andrey Kim ? , Miran Kim , Keewoo Lee ? , Yongsoo Song ? ? Seoul National University University of California, San Diego October 14, 2017 iDASH Privacy & Security Workshop 2017 1 / 17
Transcript
Page 1: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Privacy-Preserving Logistic Regressionbased on HEAAN Library

Andrey Kim?, Miran Kim†, Keewoo Lee?, Yongsoo Song?

?Seoul National University†University of California, San Diego

October 14, 2017

iDASH Privacy & Security Workshop 2017

1 / 17

Page 2: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Table of contents

1 Introduction

2 Scheme

3 Evaluation

4 Implementation & Optimization

2 / 17

Page 3: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Introduction

Task3: HE based Logistic Regression Model Learning

Logistic RegressionI Regression model for categorical dependent variable.I Find a machine learning model for disease prediction using the

genotype/phenotype data.

Implementation Results

Iteration Learning AUC

7 10.25min 0.709

14 63.85min 0.715

#(Features) = 19, #(Samples) = 1421

3 / 17

Page 4: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Scheme

HEAAN∗ Library

Homomorphic Encryption for Arithmetic of Approximate Numbers[CKKS, to appear in AC’17]

Efficient HE scheme over the real/complex numbers.

Provide an open-source implementation in C++ language.Available at github (https://github.com/kimandrik/HEAAN).

Follow-up researches in applicationsI Encrypted Controller of Cyber-Physical System [KLSCKKS, IFAC’16]I Privacy-Preserving Logistic Regression [KSWXJ17, preprint]

∗ 慧眼: insight, prescience

4 / 17

Page 5: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Scheme

HEAAN∗ Library

Homomorphic Encryption for Arithmetic of Approximate Numbers[CKKS, to appear in AC’17]

Efficient HE scheme over the real/complex numbers.

Provide an open-source implementation in C++ language.Available at github (https://github.com/kimandrik/HEAAN).

Follow-up researches in applicationsI Encrypted Controller of Cyber-Physical System [KLSCKKS, IFAC’16]I Privacy-Preserving Logistic Regression [KSWXJ17, preprint]

∗ 慧眼: insight, prescience

4 / 17

Page 6: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Scheme

HEAAN∗ Library

Homomorphic Encryption for Arithmetic of Approximate Numbers[CKKS, to appear in AC’17]

Efficient HE scheme over the real/complex numbers.

Provide an open-source implementation in C++ language.Available at github (https://github.com/kimandrik/HEAAN).

Follow-up researches in applicationsI Encrypted Controller of Cyber-Physical System [KLSCKKS, IFAC’16]I Privacy-Preserving Logistic Regression [KSWXJ17, preprint]

∗ 慧眼: insight, prescience

4 / 17

Page 7: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Scheme

Construction of HEAAN

A noise of (Ring) LWE is considered to be a part of computation error.

ct = Enc(m) ⇒ Dec(ct) = m + e for some small e.I An approximate value can replace the original message.

Support arithmetic operations and rounding of encrypted data.

Linear bitsize of ctx modulus on the depth of a circuit & bit precision

1.12 2.34

Quantization

11200 23400

Encryption

11209 23395

Mult

262234563

Rounding

26219

Decryption

26219

Dequantization

2.62

5 / 17

Page 8: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Scheme

Functionality of HEAANRLWE based construction over the cyclotomic ringR = Z[X ]/(XN + 1) of a power-of-two dimension N.

Packing multiple numbers (max. N/2) in a single ciphertext.

Addition, multiplication, and rounding in a SIMD manner.

Rotation on plaintext slots.

a0 a1 · · · a`

⊗b0 b1 · · · b`

a0 ∗ b0 a1 ∗ b1 · · · a` ∗ b`

a0 · · · ai−1 ai · · · · · · a`

ai · · · · · · a` a0 · · · ai−1

6 / 17

Page 9: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Scheme

Functionality of HEAANRLWE based construction over the cyclotomic ringR = Z[X ]/(XN + 1) of a power-of-two dimension N.

Packing multiple numbers (max. N/2) in a single ciphertext.

Addition, multiplication, and rounding in a SIMD manner.

Rotation on plaintext slots.

a0 a1 · · · a`

⊗b0 b1 · · · b`

a0 ∗ b0 a1 ∗ b1 · · · a` ∗ b`

a0 · · · ai−1 ai · · · · · · a`

ai · · · · · · a` a0 · · · ai−1

6 / 17

Page 10: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Scheme

Functionality of HEAANRLWE based construction over the cyclotomic ringR = Z[X ]/(XN + 1) of a power-of-two dimension N.

Packing multiple numbers (max. N/2) in a single ciphertext.

Addition, multiplication, and rounding in a SIMD manner.

Rotation on plaintext slots.

a0 a1 · · · a`

⊗b0 b1 · · · b`

a0 ∗ b0 a1 ∗ b1 · · · a` ∗ b`

a0 · · · ai−1 ai · · · · · · a`

ai · · · · · · a` a0 · · · ai−1

6 / 17

Page 11: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Database Encoding

User Class (±1) Feature Vector (Rd)

1 y1 = 1 x11 = 2.78 x12 = 1.12 · · · x1d = 3.05

2 y2 = −1 x21 = 0.56 x22 = 1.58 · · · x2d = 2.95...

......

.... . .

...

n yn = 1 xn1 = 1.22 xn2 = 2.01 · · · xnd = 4.31

=⇒ Z =

1 2.78 1.12 · · · 3.05

−1 −0.56 −1.58 · · · −2.95...

......

. . ....

1 1.22 2.01 · · · 4.31

∈ Rn×(d+1)

Write ~zi = yi · (1, ~xi ) ∈ Rd+1 for i = 1, 2, . . . , n.

Generate an encryption of Z = (~zi )i .7 / 17

Page 12: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Logistic Regression and Gradient Descent

Find a modeling vector ~β ∈ Rd+1 which maximizes the likelihood

n∏i=1

Pr[yi |~xi ] for Pr[yi |~xi ] =1

1 + exp(−~zi · ~β).

Loss function J(~β) = 1n

∑ni=1 log(1 + exp(−~zi · ~β)).

5J(~β) = − 1n

∑ni=1 σ(~zi · ~β) · ~zi for the sigmoid function σ.

Repeat ~βt ← ~βt−1 − αt · 5J(~βt−1) for t = 1, 2, · · · .

8 / 17

Page 13: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 14: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 15: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 16: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 17: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 18: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 19: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 20: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 21: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 22: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 23: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Evaluation

Evaluation Strategy

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

z10 z11 · · · z1d

z20 z21 · · · z2d

......

. . ....

zn0 zn1 · · · znd

z10β0 z11β1 · · · z1dβd

z20β0 z21β1 · · · z2dβd

......

. . ....

zn0β0 zn1β1 · · · zndβd

Rotate & Sum

~z1 · ~β ? · · · ?

~z2 · ~β ? · · · ?

......

. . ....

~zn · ~β ? · · · ?

Replicate

~z1 · ~β ~z1 · ~β · · · ~z1 · ~β

~z2 · ~β ~z2 · ~β · · · ~z2 · ~β...

.... . .

...

~zn · ~β ~zn · ~β · · · ~zn · ~β

Sigmoid

σ(−~z1 · ~β) · · · σ(−~z1 · ~β)

σ(−~z2 · ~β) · · · σ(−~z1 · ~β)

.... . .

...

σ(−~zn · ~β) · · · σ(−~z1 · ~β)

σ(−~z1 · ~β) · z10 · · · σ(−~z1 · ~β) · z1d

σ(−~z2 · ~β) · z20 · · · σ(−~z2 · ~β) · z2d...

. . ....

σ(−~zn · ~β) · zn0 · · · σ(−~zn · ~β) · znd

Rotate

& Sum

∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid∑ni=1 σ(−~zi · ~β) · zi0 · · · ∑n

i=1 σ(−~zi · ~β) · zid...

. . ....∑n

i=1 σ(−~zi · ~β) · zi0 · · · ∑ni=1 σ(−~zi · ~β) · zid

β0 β1 · · · βd

β0 β1 · · · βd

......

. . ....

β0 β1 · · · βd

Update

9 / 17

Page 24: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Implementation & Optimization

Sigmoid Function

−8 −6 −4 −2 0 2 4 6 8

0

0.5

1

Sigmoid

The most widely used activation function.

Use the least squares on [-8,8] to find an approximate polynomial.

10 / 17

Page 25: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Implementation & Optimization

Degree 3

−8 −6 −4 −2 0 2 4 6 8

0

0.5

1

Sigmoid

g3(x)

Pros: Small depth

Cons: Maximum error > 0.1.

11 / 17

Page 26: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Implementation & Optimization

Degree 7

−8 −6 −4 −2 0 2 4 6 8

0

0.5

1

Sigmoid

g7(x)

Pros: Maximum error ≈ 0.03

Cons: Computation cost.

12 / 17

Page 27: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Implementation & Optimization

Degree 5

−8 −6 −4 −2 0 2 4 6 8

0

0.5

1

sigmoid

g5(x)

Maximum error ≈ 0.06.

13 / 17

Page 28: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Implementation & Optimization

Momentum Method

Momentum is a method that accelerates GD in the relevant directionand dampens oscillations.

Add a fraction of the update vector of the past time step to thecurrent update vector.

Standard GD Momentum method

14 / 17

Page 29: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Implementation & Optimization

Nesterov Accelerated Gradient

Guarantee a better rate of convergence O(1/t2) (vs. O(1/t))

Evaluate the gradient at this ”looked-ahead” position.

~vt = γ · ~vt−1 + αt · 5J(~βt−1 − γ · ~vt−1)

~βt = ~βt−1 − ~vt

15 / 17

Page 30: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Implementation & Optimization

Experimental Results

Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz processor.

Parameters Results

Iter Deg logN log qEnc Learn PK Encrypted

Correctness AUCTime Time Size Database

7 5 16 1229 0.95min 10.25min 1.2GB 38 MB 815 / 1421 0.709

14 5 17 2405 2.33min 63.85min 2.4GB 75 MB 888 / 1421 0.715

#(Features) = 19, #(Samples) = 1421

16 / 17

Page 31: Privacy-Preserving Logistic Regression based on HEAAN Library · Packing multiple numbers (max. N=2) in a single ciphertext. Addition, multiplication, and rounding in a SIMD manner.

Privacy-Preserving Logistic Regression based on HEAAN Library

Implementation & Optimization

17 / 17


Recommended