Strong Cryptography from Weak Secrets Building Efficient PKE and IBE - - PowerPoint PPT Presentation

strong cryptography from weak secrets
SMART_READER_LITE
LIVE PREVIEW

Strong Cryptography from Weak Secrets Building Efficient PKE and IBE - - PowerPoint PPT Presentation

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Strong Cryptography from Weak Secrets Building Efficient PKE and IBE from Distributed Passwords Xavier Boyen 1 Cline Chevalier 2 Georg Fuchsbauer 3


slide-1
SLIDE 1

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Strong Cryptography from Weak Secrets

Building Efficient PKE and IBE from Distributed Passwords

Xavier Boyen1 Céline Chevalier2 Georg Fuchsbauer3 David Pointcheval3 5 May 2010

1Université de Liège, Belgium 2Telecom ParisTech, Paris, France 3École normale supérieure, Paris, France

1/24

slide-2
SLIDE 2

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Our Contribution

Abdalla, Boyen, Chevalier, Pointcheval: Distributed Public-Key Cryptography from Weak Secrets PKC 2009

2/24

slide-3
SLIDE 3

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Our Contribution

Abdalla, Boyen, Chevalier, Pointcheval: Distributed Public-Key Cryptography from Weak Secrets PKC 2009 Extend their results DDH → DLIN ABCP09 ElGamal encryption Ours Linear encryption, identity-based encryption Practical simulation-sound NIZKs ABCP09 Impractical generic construction or random oracles Ours Practical standard-model construction

2/24

slide-4
SLIDE 4

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Outline

1

Distributed Cryptography

2

Distributed Password Public-Key Cryptography Introduction Outline of Security Model Construction of Public Key Decryption

3

The Decision-Linear Case

3/24

slide-5
SLIDE 5

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Outline

1

Distributed Cryptography

2

Distributed Password Public-Key Cryptography Introduction Outline of Security Model Construction of Public Key Decryption

3

The Decision-Linear Case

4/24

slide-6
SLIDE 6

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Introduction

Goal of distributed cryptography Base security not on a single person

− → Distribute the secret key among several persons

5/24

slide-7
SLIDE 7

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Introduction

Goal of distributed cryptography Base security not on a single person

− → Distribute the secret key among several persons

Example: safe with several locks

5/24

slide-8
SLIDE 8

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Introduction

Goal of distributed cryptography Base security not on a single person

− → Distribute the secret key among several persons

Example: safe with several locks Every responsable possesses one key A B C D

5/24

slide-9
SLIDE 9

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Introduction

Goal of distributed cryptography Base security not on a single person

− → Distribute the secret key among several persons

Example: safe with several locks Every responsable possesses one key

− → Presence of all responsables necessary

A B C D

5/24

slide-10
SLIDE 10

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

ElGamal Encryption

Key distribution Every player Pi chooses ski (big size and thus high entropy) Pi publishes pki = gski Global public key: pk =

n

Π

i=1pki

Secret key: sk =

n

i=1

ski

6/24

slide-11
SLIDE 11

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

ElGamal Encryption

Decryption Every player publishes pki = gski Global public key: pk =

n

Π

i=1pki

Secret key: sk =

n

i=1

ski Parameters: G cyclic, g generator and h = gsk Cyphertext: c = E(m;r) = (mhr,gr) Every player publishes (gr)ski Multiplying all shares gives (gr)sk = hr thus mhr/hr = m

6/24

slide-12
SLIDE 12

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Outline

1

Distributed Cryptography

2

Distributed Password Public-Key Cryptography Introduction Outline of Security Model Construction of Public Key Decryption

3

The Decision-Linear Case

7/24

slide-13
SLIDE 13

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Outline

1

Distributed Cryptography

2

Distributed Password Public-Key Cryptography Introduction Outline of Security Model Construction of Public Key Decryption

3

The Decision-Linear Case

8/24

slide-14
SLIDE 14

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Introduction

Disadvantage Every user must memorize a key of high entropy

− → Use passwords

9/24

slide-15
SLIDE 15

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Introduction

Disadvantage Every user must memorize a key of high entropy

− → Use passwords

Passwords in public-key cryptography? If pki = gpwi

− → Attack by testing every password pw: gpw ? = pki

Offline dictionary attack

9/24

slide-16
SLIDE 16

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Introduction

Disadvantage Every user must memorize a key of high entropy

− → Use passwords

Passwords in public-key cryptography? If pki = gpwi

− → Attack by testing every password pw: gpw ? = pki

Offline dictionary attack Best of both worlds Use many passwords to construct distributed key of high entropy

9/24

slide-17
SLIDE 17

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Distributed Password Public-Key Cryptography

Model by [ABCP09] n players P1, ..., Pn One particular player: group leader, P1 n − 1 “mercenaries”, controlled by P1 Every Pi chooses a password pwi No assumption of secure channels, Communication controlled by the adversary who can corrupt players

10/24

slide-18
SLIDE 18

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Outline

1

Distributed Cryptography

2

Distributed Password Public-Key Cryptography Introduction Outline of Security Model Construction of Public Key Decryption

3

The Decision-Linear Case

11/24

slide-19
SLIDE 19

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Universal Composability

Principle Real world Protocol Ideal world Ideal Functionality

properties of the protocol adversary’s goals adversary’s means

12/24

slide-20
SLIDE 20

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Universal Composability

Principle Real world Protocol Players Ideal world Ideal Functionality

properties of the protocol adversary’s goals adversary’s means

Virtual players

12/24

slide-21
SLIDE 21

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Universal Composability

Principle Real world Protocol Players Adversary Ideal world Ideal Functionality

properties of the protocol adversary’s goals adversary’s means

Virtual players Simulator (to construct) Indistinguishability of the two worlds

12/24

slide-22
SLIDE 22

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Proof principle

Summary There exists an adversary

passive or active static or adaptive impersonating players with passwords of his choice

We have to construct a simulator plays the role of the virtual players that are not corrupted by the adversary

A A

Simulator does not know passwords chosen by adversary The two worlds must be indistinguishable

− → Need means to extract the passwords from the adversary

13/24

slide-23
SLIDE 23

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Proof principle

Summary There exists an adversary

passive or active static or adaptive impersonating players with passwords of his choice

We have to construct a simulator plays the role of the virtual players that are not corrupted by the adversary

A A S S S S

Simulator does not know passwords chosen by adversary The two worlds must be indistinguishable

− → Need means to extract the passwords from the adversary

13/24

slide-24
SLIDE 24

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Outline

1

Distributed Cryptography

2

Distributed Password Public-Key Cryptography Introduction Outline of Security Model Construction of Public Key Decryption

3

The Decision-Linear Case

14/24

slide-25
SLIDE 25

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Ideal Functionality for Public-Key Generation

Parameterized by PublicKeyGen Queries allowed to S compute F computes pk = PublicKeyGen(pw1,...,pwn) and sends it to S. deliver F sends pk to player and S

15/24

slide-26
SLIDE 26

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Instantiation for ElGamal

Distributed cryptography: public and private key n players choose n passwords pwi sk =

n

i=1

pwi pk = gsk Public-key generation

1

first commitment to password (extractable + test)

2

second commitment to password (gpwi hri,gri)

3

product of commitments: (gskhr,gr) r = ∑ri

4

blinding: (gskhr,h) → (gα1skhrα1,hα1) → (gα1α2skhrα1α2,hα1α2) →

··· → (gαskhrα,hα) α = Παi

5

sending (hα)ri : hrα then gαsk

6

unblinding: gαsk → gα1...αn−1sk → ··· → gα1sk → gsk

16/24

slide-27
SLIDE 27

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Outline

1

Distributed Cryptography

2

Distributed Password Public-Key Cryptography Introduction Outline of Security Model Construction of Public Key Decryption

3

The Decision-Linear Case

17/24

slide-28
SLIDE 28

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Decryption

Goal One group leader created public key with help of a group wants to decrypt a message (private result) secret key is never explicitly computed Leader wants to compute csk from in := c

18/24

slide-29
SLIDE 29

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Ideal Functionality for Decryption

Parameterized by PublicKeyVer, SecretKeyGen, PrivateComp Queries Initialization: verify that in and pk are the same for all players PublicKeyVer(pw1,...,pwn;pk): verification of compatibility of passwords with public key compute: F computes sk = SecretKeyGen(pw1,...,pwn) and

  • ut = PrivateComp(sk,in). It informs adversary whether

computation succeeded of failed leaderDeliver: F sends out to the leader (and the adversary, ie S, if the latter is corrupted)

19/24

slide-30
SLIDE 30

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case Introduction Outline of Security Model Construction of Public Key Decryption

Instantiation for ElGamal

Private decryption of c

1

first commitment to passwords (extractable + test)

2

second commitment to passwords (gpwihri,gri) + commitment (cpwihsi,csi)

3

blinding/unblinding −

→ gsk publicly verifiable

4

blinding −

→ (cαskhsα,hα)

5

send (hα)si −

→ cαsk

6

unblinding: cαsk → cα1...αn−1sk → ··· → cα1sk csk (private)

20/24

slide-31
SLIDE 31

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Outline

1

Distributed Cryptography

2

Distributed Password Public-Key Cryptography Introduction Outline of Security Model Construction of Public Key Decryption

3

The Decision-Linear Case

21/24

slide-32
SLIDE 32

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Applications

Identity-Based Encryption (IBE) Key generation: system parameters pp master secret key sk User private key generation (extraction):

(pp,sk,ID) → d

Encryption:

(pp,m,ID) → c

Decryption:

(pp,c,d) → m

Correctness:

∀ m,ID

Decrypt (pp,Encrypt (pp,m,ID),Extract (pp,sk,ID)) = m

22/24

slide-33
SLIDE 33

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Applications

Two IBE schemes Password-based Boneh-Franklin IBE [BF01] H(id): Hash of the user identity compute: did = H(id)sk

− → analogous to csk, similar to ElGamal

Password-based Boneh-Boyen IBE [BB04] compute: did = (g0sk(gid

1 g2)r,gr 3), randomized!

− → new techniques for secret-key functionality with randomness

22/24

slide-34
SLIDE 34

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Applications

Two IBE schemes Password-based Boneh-Franklin IBE [BF01] H(id): Hash of the user identity compute: did = H(id)sk

− → analogous to csk, similar to ElGamal

Password-based Boneh-Boyen IBE [BB04] compute: did = (g0sk(gid

1 g2)r,gr 3), randomized!

− → new techniques for secret-key functionality with randomness

Both schemes rely on pairings

− → cannot assume DDH

22/24

slide-35
SLIDE 35

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Changing the Commitments

Commitment El Gamal

(gr, gpwhr) − →

Linear encryption

(g1r, g2s, gpwg3r+s)

Improvements Efficient zero-knowledge proofs for commitments (Groth-Sahai) No need for NIZK proofs for correct blinding and de-blinding h,csk −

→ hα,cαsk

e(h,cαsk) = e(hα,csk)

23/24

slide-36
SLIDE 36

Distributed Cryptography Distributed Password Public-Key Cryptography The Decision-Linear Case

Thank you!

¨ ⌣

24/24