Structure Preserving Smooth Projective Hashing Olivier Blazy , Cline - - PowerPoint PPT Presentation

structure preserving smooth projective hashing
SMART_READER_LITE
LIVE PREVIEW

Structure Preserving Smooth Projective Hashing Olivier Blazy , Cline - - PowerPoint PPT Presentation

Structure Preserving Smooth Projective Hashing Olivier Blazy , Cline Chevalier O. Blazy (Xlim) (SP)2H 1 / 25 Global Framework 1 Cryptographic Tools 2 Structure-Preserving SPHF 3 Applications 4 O. Blazy (Xlim) (SP)2H 2 / 25 Global


slide-1
SLIDE 1

Structure Preserving Smooth Projective Hashing

Olivier Blazy, Céline Chevalier

  • O. Blazy

(Xlim) (SP)2H 1 / 25

slide-2
SLIDE 2

1

Global Framework

2

Cryptographic Tools

3

Structure-Preserving SPHF

4

Applications

  • O. Blazy

(Xlim) (SP)2H 2 / 25

slide-3
SLIDE 3

1

Global Framework

2

Cryptographic Tools

3

Structure-Preserving SPHF

4

Applications

  • O. Blazy

(Xlim) (SP)2H 2 / 25

slide-4
SLIDE 4

1

Global Framework

2

Cryptographic Tools

3

Structure-Preserving SPHF

4

Applications

  • O. Blazy

(Xlim) (SP)2H 2 / 25

slide-5
SLIDE 5

1

Global Framework

2

Cryptographic Tools

3

Structure-Preserving SPHF

4

Applications

  • O. Blazy

(Xlim) (SP)2H 2 / 25

slide-6
SLIDE 6

1

Global Framework Motivation

2

Cryptographic Tools

3

Structure-Preserving SPHF

4

Applications

  • O. Blazy

(Xlim) (SP)2H 3 / 25

slide-7
SLIDE 7

Conditional Actions

Oblivious Transfer Database User C(line) ← − − − − − − − − − − − − − − − DB[line] − − − − − − − − − − − − − − − → The User learns the value of line but nothing else The Database learns nothing

  • O. Blazy

(Xlim) (SP)2H 4 / 25

slide-8
SLIDE 8

Conditional Actions

Password Authenticated Key Exchange Bob Alice f (pwA) ← − − − − − − − − − − − − − − − f (pwB, fA) − − − − − − − − − − − − − − − → The Users obtain the same key iff their passwords match An Adversary learns nothing

  • O. Blazy

(Xlim) (SP)2H 5 / 25

slide-9
SLIDE 9

UC Requirements for Adaptive Corruptions

First flow should be extractable First flow should be equivocable Memory should be adapted accordingly

Memory as a scalar

No real trapdoor possible Partial Erasure is the only way

Memory as a group element

Allows extra trapdoor

  • O. Blazy

(Xlim) (SP)2H 6 / 25

slide-10
SLIDE 10

UC Requirements for Adaptive Corruptions

First flow should be extractable First flow should be equivocable Memory should be adapted accordingly

Memory as a scalar

No real trapdoor possible Partial Erasure is the only way

Memory as a group element

Allows extra trapdoor

  • O. Blazy

(Xlim) (SP)2H 6 / 25

slide-11
SLIDE 11

UC Requirements for Adaptive Corruptions

First flow should be extractable First flow should be equivocable Memory should be adapted accordingly

Memory as a scalar

No real trapdoor possible Partial Erasure is the only way

Memory as a group element

Allows extra trapdoor

  • O. Blazy

(Xlim) (SP)2H 6 / 25

slide-12
SLIDE 12

UC Requirements for Adaptive Corruptions

First flow should be extractable First flow should be equivocable Memory should be adapted accordingly

Memory as a scalar

No real trapdoor possible Partial Erasure is the only way

Memory as a group element

Allows extra trapdoor

  • O. Blazy

(Xlim) (SP)2H 6 / 25

slide-13
SLIDE 13

UC Requirements for Adaptive Corruptions

First flow should be extractable First flow should be equivocable Memory should be adapted accordingly

Memory as a scalar

No real trapdoor possible Partial Erasure is the only way

Memory as a group element

Allows extra trapdoor

  • O. Blazy

(Xlim) (SP)2H 6 / 25

slide-14
SLIDE 14

1

Global Framework

2

Cryptographic Tools Encryption Scheme Smooth Projective Hash Function

3

Structure-Preserving SPHF

4

Applications

  • O. Blazy

(Xlim) (SP)2H 7 / 25

slide-15
SLIDE 15

Definition (Encryption Scheme)

E = (Setup, KeyGen, Encrypt, Decrypt): Setup(K): param; KeyGen(param): public encryption key pk, private decryption key dk; Encrypt(pk, m; r): encrypts m ∈ M in c using pk; Decrypt(dk, c): decrypts c under dk. Indistinguishability under Chosen Ciphertext Attack

  • O. Blazy

(Xlim) (SP)2H 8 / 25

slide-16
SLIDE 16

Definition (Smooth Projective Hash Functions) [CS02]

Let {H} be a family of functions: X, domain of these functions L, subset (a language) of this domain such that, for any point x in L, H(x) can be computed by using either a secret hashing key hk: H(x) = HashL(hk; x);

  • r a public projected key hp: H′(x) = ProjHashL(hp; x, w)

Public mapping hk → hp = ProjKGL(hk, x)

  • O. Blazy

(Xlim) (SP)2H 9 / 25

slide-17
SLIDE 17

Properties

For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L

Smoothness

For any x ∈ L, H(x) and hp are independent

Pseudo-Randomness

For any x ∈ L, H(x) is pseudo-random, without a witness w

  • O. Blazy

(Xlim) (SP)2H 10 / 25

slide-18
SLIDE 18

Properties

For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L

Smoothness

For any x ∈ L, H(x) and hp are independent

Pseudo-Randomness

For any x ∈ L, H(x) is pseudo-random, without a witness w

  • O. Blazy

(Xlim) (SP)2H 10 / 25

slide-19
SLIDE 19

Properties

For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L

Smoothness

For any x ∈ L, H(x) and hp are independent

Pseudo-Randomness

For any x ∈ L, H(x) is pseudo-random, without a witness w

  • O. Blazy

(Xlim) (SP)2H 10 / 25

slide-20
SLIDE 20

1

Global Framework

2

Cryptographic Tools

3

Structure-Preserving SPHF

4

Applications

  • O. Blazy

(Xlim) (SP)2H 11 / 25

slide-21
SLIDE 21

Definition (Structure Preserving Smooth Projective Hash Functions)

X = Gk

∗, L Gk ∗

such that, for any point x in L, H(x) can be computed as: H(x) = HashL(hk; x) ∈ GT; H′(x) = ProjHashL(hp; x, w) hp, x, w are group elements

  • O. Blazy

(Xlim) (SP)2H 12 / 25

slide-22
SLIDE 22

Definition (Structure Preserving Smooth Projective Hash Functions)

X = Gk

∗, L Gk ∗

such that, for any point x in L, H(x) can be computed as: H(x) = HashL(hk; x) ∈ GT; H′(x) = ProjHashL(hp; x, w) hp, x, w are group elements

  • O. Blazy

(Xlim) (SP)2H 12 / 25

slide-23
SLIDE 23

Why?

Witnesses can now be Group Elements This means, compatible with Groth Sahai Proofs (QA-NIZK, . . . ) Witnesses can now have trapdoors

  • O. Blazy

(Xlim) (SP)2H 13 / 25

slide-24
SLIDE 24

Why?

Witnesses can now be Group Elements This means, compatible with Groth Sahai Proofs (QA-NIZK, . . . ) Witnesses can now have trapdoors

  • O. Blazy

(Xlim) (SP)2H 13 / 25

slide-25
SLIDE 25

Retro-Compatibilty

SPHF SP-SPHF Word u [ω ⊙ Γ(u)]1 [ω ⊙ Γ(u)]1 Witness w ω Λ = [f ⊙ ω]2 hk λ λ hp = [γ(u)]1 [Γ(u) ⊙ λ]1 [Γ(u) ⊙ λ]1 Hash(hk, u) [Θ(u) ⊙ λ]1 [f ⊙ Θ(u) ⊙ λ]T ProjHash(hp, u, w) [ω ⊙ γ(u)]1 [Λ ⊙ γ(u)]T

  • O. Blazy

(Xlim) (SP)2H 14 / 25

slide-26
SLIDE 26

SPHF SP-SPHF DH hr, g r hr, g r Witness w r g r

2

hk λ, µ λ, µ hp hλg µ hλg µ Hash(hk, u) (hr)λ(g r)µ e((hr)λ(g r)µ, g2) ProjHash(hp, u, w) hpr e(hp, g r

2)

Figure: Example of conversion of classical SPHF into SP-SPHF

  • O. Blazy

(Xlim) (SP)2H 15 / 25

slide-27
SLIDE 27

1

Global Framework

2

Cryptographic Tools

3

Structure-Preserving SPHF

4

Applications Generic Constructions SPHF-friendly UC Commitment Efficiency MDDH

  • O. Blazy

(Xlim) (SP)2H 16 / 25

slide-28
SLIDE 28

Oblivious Transfer [Rab81]

A user U wants to access a line ℓ in a database D composed of t of them: U learns nothing more than the value of the line ℓ D does not learn which line was accessed by U Correctness: if U request a single line, he learns it

Security Notions

Oblivious: D does not learn which line was accessed ; Semantic Security: U does not learn any information about the other lines.

  • O. Blazy

(Xlim) (SP)2H 17 / 25

slide-29
SLIDE 29

Oblivious Transfer [Rab81]

A user U wants to access a line ℓ in a database D composed of t of them: U learns nothing more than the value of the line ℓ D does not learn which line was accessed by U Correctness: if U request a single line, he learns it

Security Notions

Oblivious: D does not learn which line was accessed ; Semantic Security: U does not learn any information about the other lines.

  • O. Blazy

(Xlim) (SP)2H 17 / 25

slide-30
SLIDE 30

Oblivious Transfer [Rab81]

A user U wants to access a line ℓ in a database D composed of t of them: U learns nothing more than the value of the line ℓ D does not learn which line was accessed by U Correctness: if U request a single line, he learns it

Security Notions

Oblivious: D does not learn which line was accessed ; Semantic Security: U does not learn any information about the other lines.

  • O. Blazy

(Xlim) (SP)2H 17 / 25

slide-31
SLIDE 31

Generic 1-out-of-t Oblivious Transfer (Simplified)

User U picks ℓ: Computes C = Encrypt(ℓ; s) with a UC commit SPHF friendly (d being the decommit information). He sends C and keeps d while erasing the rest. For each line Lj, server S computes hkj, hpj, and Hj = HashLj(hkj, C), Mj = Hj ⊕ Lj and sends Mj, hpj. For the line ℓ, user computes H′

ℓ = ProjHashLℓ(hpℓ, C, d), and then

Lℓ = Mℓ ⊕ H′

  • O. Blazy

(Xlim) (SP)2H 18 / 25

slide-32
SLIDE 32

Generic 1-out-of-t Oblivious Transfer (Simplified)

User U picks ℓ: Computes C = Encrypt(ℓ; s) with a UC commit SPHF friendly (d being the decommit information). He sends C and keeps d while erasing the rest. For each line Lj, server S computes hkj, hpj, and Hj = HashLj(hkj, C), Mj = Hj ⊕ Lj and sends Mj, hpj. For the line ℓ, user computes H′

ℓ = ProjHashLℓ(hpℓ, C, d), and then

Lℓ = Mℓ ⊕ H′

  • O. Blazy

(Xlim) (SP)2H 18 / 25

slide-33
SLIDE 33

Generic 1-out-of-t Oblivious Transfer (Simplified)

User U picks ℓ: Computes C = Encrypt(ℓ; s) with a UC commit SPHF friendly (d being the decommit information). He sends C and keeps d while erasing the rest. For each line Lj, server S computes hkj, hpj, and Hj = HashLj(hkj, C), Mj = Hj ⊕ Lj and sends Mj, hpj. For the line ℓ, user computes H′

ℓ = ProjHashLℓ(hpℓ, C, d), and then

Lℓ = Mℓ ⊕ H′

  • O. Blazy

(Xlim) (SP)2H 18 / 25

slide-34
SLIDE 34

Generic Password Authenticated Key Exchange

Each user Ui computes Ci = Encrypt(pwi; si) with a UC commitment SPHF friendly, and di the decommit information. He computes hpi, hki for the language of valid passwords. He sends Ci, hpi and keeps di, hki while erasing the rest. Receiving Cj, hpj, compute H′

i · Hj = ProjHash(hpj, di) · Hash(hki, Cj)

  • O. Blazy

(Xlim) (SP)2H 19 / 25

slide-35
SLIDE 35

Generic Password Authenticated Key Exchange

Each user Ui computes Ci = Encrypt(pwi; si) with a UC commitment SPHF friendly, and di the decommit information. He computes hpi, hki for the language of valid passwords. He sends Ci, hpi and keeps di, hki while erasing the rest. Receiving Cj, hpj, compute H′

i · Hj = ProjHash(hpj, di) · Hash(hki, Cj)

  • O. Blazy

(Xlim) (SP)2H 19 / 25

slide-36
SLIDE 36

Generic Anonymous Credential-Based Message Transmission

Credential Use by User i:

1 UC commits to his credential in C, and keeps his decommit info d 2 Stores d, sends C and erases the rest

Database input M with policy P:

1 Computes hkP R

← HashKG(LP), hpP ← ProjKG(hkP, LP), KP ← Hash(hkP, (LP, C)), and NP ← KP ⊕ M

2 Server erases everything except (hpP, NP) and sends them

Data recovery: Upon receiving (hpP, NP), User computes K ← ProjHash(hpP, (LP, C), d) and gets M ← K ⊕ NP.

  • O. Blazy

(Xlim) (SP)2H 20 / 25

slide-37
SLIDE 37

One Round UC Commitment [FLM11]

High Level

Do a Linear Cramer-Shoup Encryption of M with randomness r, s C Do a Groth Sahai proof of knowledge of r, s d

  • O. Blazy

(Xlim) (SP)2H 21 / 25

slide-38
SLIDE 38

One Round UC Commitment [FLM11]

High Level

Do a Linear Cramer-Shoup Encryption of M with randomness r, s C Do a Groth Sahai proof of knowledge of r, s d

  • O. Blazy

(Xlim) (SP)2H 21 / 25

slide-39
SLIDE 39

Comparison with existing SXDH UC-secure OT schemes

Flow Communication Complexity 1-out-of [CKWZ13] 4 26 G + 7 Zp 2 [ABBCP13] 3 (m + 8 log m) G1 + log m G2 + 1 Zp m Us 3 4 G1 + (4 + 4m) G2 + m Zp m Us 3 4 G1 + 12 G2 + 2 Zp 2

  • O. Blazy

(Xlim) (SP)2H 22 / 25

slide-40
SLIDE 40

Comparison with UC-secure PAKE where |password| = m

Adaptive One-round Communication complexity Assumption [ACP09] ✓ ✗ 2 × (2m + 22mK) × G + OTS DDH [KV11] ✗ ✓ ≈ 2 × 70 G DLIN [BBCPV13] ✗ ✓ 2 × (6 G1 + 5 G2) SXDH [ABBCP13] ✓ ✓ 2 × (10m G1 + m G2) SXDH [JR15] ✓ ✓ 4 G1 + 4 G2 SXDH Us ✓ ✓ 2 × (4 G1 + 5 G2) SXDH

  • O. Blazy

(Xlim) (SP)2H 23 / 25

slide-41
SLIDE 41

k-MDDH abstraction [EHKRV13]

Allows to abstract every Diffie Hellman assumptions Given A, z decides whether there exists s such that As = z

A framework for everything

Compatible with linear constructions (CCA2, FLM-like, SPHF, and so SPSPHF)

  • O. Blazy

(Xlim) (SP)2H 24 / 25

slide-42
SLIDE 42

k-MDDH abstraction [EHKRV13]

Allows to abstract every Diffie Hellman assumptions Given A, z decides whether there exists s such that As = z

A framework for everything

Compatible with linear constructions (CCA2, FLM-like, SPHF, and so SPSPHF)

  • O. Blazy

(Xlim) (SP)2H 24 / 25

slide-43
SLIDE 43

To sum up

✓ Generic Transformation (keeps security, extra property) ✓ Allows to use NIZK as witnesses ✓ Leads to efficient protocols by using existing results ✓ All constructions can be transposed to MDDH

  • O. Blazy

(Xlim) (SP)2H 25 / 25

slide-44
SLIDE 44

To sum up

✓ Generic Transformation (keeps security, extra property) ✓ Allows to use NIZK as witnesses ✓ Leads to efficient protocols by using existing results ✓ All constructions can be transposed to MDDH

  • O. Blazy

(Xlim) (SP)2H 25 / 25

slide-45
SLIDE 45

To sum up

✓ Generic Transformation (keeps security, extra property) ✓ Allows to use NIZK as witnesses ✓ Leads to efficient protocols by using existing results ✓ All constructions can be transposed to MDDH

  • O. Blazy

(Xlim) (SP)2H 25 / 25

slide-46
SLIDE 46

To sum up

✓ Generic Transformation (keeps security, extra property) ✓ Allows to use NIZK as witnesses ✓ Leads to efficient protocols by using existing results ✓ All constructions can be transposed to MDDH

  • O. Blazy

(Xlim) (SP)2H 25 / 25