Applications Mark Zhandry Stanford University Diffie-Hellman Key - - PowerPoint PPT Presentation

applications
SMART_READER_LITE
LIVE PREVIEW

Applications Mark Zhandry Stanford University Diffie-Hellman Key - - PowerPoint PPT Presentation

Multilinear Maps and Their Applications Mark Zhandry Stanford University Diffie-Hellman Key Exchange Exchange keys over a public channel: Public group , generator , order (Potential) Hard Problems in Groups Discrete Log (DL):


slide-1
SLIDE 1

Multilinear Maps and Their Applications

Mark Zhandry – Stanford University

slide-2
SLIDE 2

Diffie-Hellman Key Exchange

Exchange keys over a public channel:

  • Public group , generator , order
slide-3
SLIDE 3

(Potential) Hard Problems in Groups

  • Discrete Log (DL):
  • Computational Diffie-Hellman (CDH):
  • Decisional Diffie-Hellman (DDH):
  • Many Others:

– Decision Linear (DLIN):

slide-4
SLIDE 4

Uses of Diffie-Hellman

  • Two party key exchange
  • Encryption
  • Signatures
slide-5
SLIDE 5

3-Way Diffie-Hellman?

slide-6
SLIDE 6

3-Way Diffie-Hellman

Problem: Need way to multiply and Solution [Joux’00]: Use bilinear maps

  • Bilinear group: group with bilinear map
slide-7
SLIDE 7

3-Way Diffie-Hellman?

slide-8
SLIDE 8

Potential Hard Problems in Bilinear Groups

  • DL, CDH, DLIN
  • DDH?
  • Bilinear DDH:
  • Many Others

– Bilinear Diffie-Hellman Exponent – Subgroup Decision – …

slide-9
SLIDE 9

Uses of Bilinear Maps

  • Identity-Based Encryption
  • Broadcast Encryption w/ short ciphertexts
  • Traitor Tracing w/ short ciphertexts
  • Short Signatures
  • Threshold Signatures
  • Somewhat Homomorphic Encryption
slide-10
SLIDE 10

4-Way Diffie Hellman?

slide-11
SLIDE 11

Multilinear Maps

Many groups:

  • Generators

Source group: , Pairing:

  • Often write

Gives multilinear map:

( )

slide-12
SLIDE 12

Potential Hard Problems in Multilinear Groups

  • DL, CDH, generalization of DLIN
  • Multilinear DDH:
  • ML-CDH for all

– ML-DDH easy for all

  • Many others:

– Subgroup Decision – Multilinear DH Exponent

slide-13
SLIDE 13

Potential Applications

Or: Imagine what we could do…

slide-14
SLIDE 14

N-Way Key Exchange

slide-15
SLIDE 15

Broadcast Encryption

  • Alice wants to broadcast a message
  • Only a subset of players should decrypt
  • Will build via constrained PRFs

✓ ✓ ✓

slide-16
SLIDE 16

PRFs

Keyed functions that look like random functions All or Nothing:

  • Given , can eval at all
  • Without , indistinguishable from

random

slide-17
SLIDE 17

Constrained PRFs [BW’13]

Given set of inputs, give “constrained key”: can compute on all points : Goal: allow interesting sets

slide-18
SLIDE 18

Example: GGM

Constrained keys = values of nodes Constrained sets = sets with same prefix

x0 ⟶ x1 ⟶ x2 ⟶

slide-19
SLIDE 19

Other Possible Set Systems

Left/Right:

  • Left sets: for fixed
  • Right sets: for fixed

Bit-fixing:

  • Sets correspond to
  • Can eval at all that agree with ( wildcard)

Circuit Predicates

Example:

slide-20
SLIDE 20

Bit-Fixing PRF Construction

Use multilinear map Setup:

  • Choose random
  • Choose random
  • Secret key:

Function:

slide-21
SLIDE 21

Bit-Fixing PRF Construction

Constrain:

  • Input
  • Let
slide-22
SLIDE 22

Bit-Fixing PRF Construction

Eval:

  • Pair with to get output
slide-23
SLIDE 23

Broadcast Encryption from Bit-Fixing PRFs

Setup:

  • Generate a Bit-Fixing PRF with key
  • For each player , compute:

where , for Encrypt to a subset of players:

  • Let
  • Use symmetric cipher with key
slide-24
SLIDE 24

Policy-Based Key Agreement

✓ ✓ ✓

Shared secret key

Build from constrained PRFs for circuit predicates

slide-25
SLIDE 25

Other Applications of Multilinear Maps

  • Attribute-Based Encryption
  • Witness Encryption
  • Obfuscation
  • Functional Encryption
slide-26
SLIDE 26

Rest of Talk

Two recent candidates for multilinear maps

  • From ideal lattices
  • Over the integers

Not true multilinear maps

  • Randomized
  • Noisy

May still be used in many applications

slide-27
SLIDE 27

Relaxation: Graded Encodings

Scalar  Level 0 encoding of  Level 1 encoding of  Level 2 encoding of … Graded encoding schemes: encoding not unique

  • Ring

: set of level encodings of

slide-28
SLIDE 28

Relaxation: Graded Encodings

Requirements:

  • Add same level encodings
  • Multiply encodings

(as long as )

Pairing Equivalent:

slide-29
SLIDE 29

The GGH Construction

slide-30
SLIDE 30

Notation

: reduce mod : principle ideal generated by Properties:

  • ,
  • “short”  , “short”
slide-31
SLIDE 31

The GGH Construction

  • “short”, secret, “short”
  • secret, not short
  • Level encoding of :

, “short”

slide-32
SLIDE 32

Encoding Operations

  • Addition:

Proof: “short”

slide-33
SLIDE 33

Encoding Operations

  • Multiplication:

Proof: “short”

slide-34
SLIDE 34

Generating Level 0 Encodings

Level 0 encoding of : short Problem: can’t encode coset w/o knowing Resolution: sample coset by sampling short rep

Fact: Sample “short” from appropriate distribution  coset close to uniform

slide-35
SLIDE 35

Moving to Higher Levels

Need operation where Problem: is secret Solution: publish level 1 encoding of To move to level 1:

, “short”

slide-36
SLIDE 36

Moving to Higher Levels

Insecure: by dividing by Solution: rerandomize

  • Publish many level 1 encodings of 0:

To move to level 1:

, “short” , “small”

slide-37
SLIDE 37

Testing for Equality

Need to be able to test equality

  • Suffices to test if level encoding encodes 0

Solution: publish “zero test” parameter Test if is “small”

“somewhat small”

slide-38
SLIDE 38

Testing for Equality

If encodes 0: “short”

(Multiplication over )

slide-39
SLIDE 39

Testing for Equality

If encodes non-zero: Thm [GGH]: If , then is large w.h.p.

slide-40
SLIDE 40

Extraction

Each party needs to agree on same value

  • But have different encoding of same element

Solution: Use zero-test parameter

  • If encode same value,

is “short”

  • agree on most-significant bits
slide-41
SLIDE 41

Extraction

To extract at level :

  • Collect most-significant bits of
  • Apply strong randomness extractor to get

uniform bit string

slide-42
SLIDE 42

What needs to be a secret?

  • : otherwise DL is easy
  • : compute

Given level 1 encoding Compute No , so can “divide mod ”

– Obtain , “short”

slide-43
SLIDE 43

What needs to be a secret?

  • : compute

Pick randomizer Compute Now we have level 2k zero tester!  Can solve MLDDH

“short”

slide-44
SLIDE 44

Security of GGH

  • No security proof from standard assumptions

– Instead: extensive cryptanalysis

  • Supposed hard problems:

– Discrete Log – Multilinear DDH

  • Easy problems:

– Decision Linear – Subgroup Decision

slide-45
SLIDE 45

Efficiency of GGH

  • Parameterized by security , level
  • All encodings represented as elements in
  • For functionality, need (at minimum)
  • For security, need

– Implies

  • Size of encodings:
slide-46
SLIDE 46

Efficiency of GGH

  • Size of encodings:
  • Size of public parameters:

– Level 1 encoding of 1 – level 1 encodings of 0 ( for rerandomization) – Zero tester Total public parameter size:

  • Even larger for some applications
slide-47
SLIDE 47

The CLT Construction

slide-48
SLIDE 48

The CLT Construction

, component-wise add/mult Let vector of primes “short”, secret vector of primes secret, not short

slide-49
SLIDE 49

Over the Integers

Let CRT isomorphism: Apply to scheme: random Level encoding of : s.t. small

slide-50
SLIDE 50

Secrets?

Need same secrets as GGH: What about the primes?

  • Factorization of known  1D problem
  • Look at what happens mod p
  • GGH zero tester, encodings of 0, 1:
slide-51
SLIDE 51

Secrets?

Combine: Compute for many , GCD  Compute for many , GCD   From easy to compute For security, must keep primes secret!

slide-52
SLIDE 52

Other Changes

Keeping primes secret introduces several issues:

  • Generating level 0 encodings

Must generate integer such that is short Cannot sample without knowing ! Solution: publish many level 0 encodings of random values – To sample, take random subset sums

slide-53
SLIDE 53

Other Changes

Keeping primes secret introduces several issues:

  • Zero testing:

GGH zero tester: Level encoding of 0:

slide-54
SLIDE 54

Zero Testing

Multiply GGH zero tester with encoding of 0: Product is “short” mod , but we can’t test! Instead, want product to be “short” mod

slide-55
SLIDE 55

CRT Isomorphism

Coefficient of >>

  • Small do not give small

Need to cancel out some the coefficient

slide-56
SLIDE 56

Zero Testing

Solution: new zero tester Multiply with encoding of zero: CRT:

slide-57
SLIDE 57

Zero Testing

Thm [CLT]: If does not encode 0, then whp

slide-58
SLIDE 58

Security of CLT

  • Just like GGH, no security proof from standard

assumptions

  • Supposed hard problems:

– Discrete Log – Multilinear DH – Decision Linear? – Subgroup Decision?

slide-59
SLIDE 59

Efficiency of CLT

All encodings elements of Size of encodings same as GGH: Public params:

  • Asymptotically same:
  • CLT offer some heuristics to reduce size
slide-60
SLIDE 60

Open Problems

  • From standard assumptions
  • Remove secrets

– Necessary to remove trusted setup from key exchange – How to remove zero tester?

  • More Efficient?