Transcript
Page 1: Candidate Multilinear Maps

Candidate Multilinear Maps

Sanjam Garg (IBM)Based on joint works with

Craig Gentry (IBM) and Shai Halevi (IBM)

Page 2: Candidate Multilinear Maps

Outline Bilinear Maps: Recall

Intuitively: Multilinear Maps Our Results and Applications

Definitions of Multi-linear Maps Classical Notion Our Notion

Our Construction Security

Page 3: Candidate Multilinear Maps

Cryptographic Bilinear Maps(Weil and Tate Pairings)Recalling Bilinear Maps and its Applications: Motivating Multilinear Maps

Page 4: Candidate Multilinear Maps

Cryptographic Bilinear Maps Bilinear maps are extremely useful in cryptography

lots of applications [Joux00, BF01]

As the name suggests allow pairing two things together

Page 5: Candidate Multilinear Maps

Bilinear Maps โ€“ Definitions Cryptographic bilinear map

Groups and of order with generators and a bilinear map such that

Instantiation: Weil or Tate pairings over elliptic curves.

Given hard to get

DDH is easyGiven

Page 6: Candidate Multilinear Maps

Bilinear Maps: ``Hardโ€ Problem Bilinear Diffie-Hellman: Givenhard to distinguish from Random

Multilinear Maps [BS03] generalize this concept.

Page 7: Candidate Multilinear Maps

Our Multilinear Maps constructions of multi-

linear maps Many exciting application

Candidate approximateConstructions of multi-linear maps

Page 8: Candidate Multilinear Maps

Non-Interactive Key Agreement [DH76]

๐‘ƒ ๐พ๐‘Ž ๐‘ƒ ๐พ๐‘

Alice Bob

๐พ ๐‘Ž ,๐‘

Extended to three parties by [Joux00] Mmaps would give solution for more than 3-

parties. [BS03]

Application 1

Page 9: Candidate Multilinear Maps

Non-Interactive Key Agreement [DH76]

Easy Application: Tri-partite key agreement [Joux00]: Alice, Bob, Carol generate and broadcast . They each separately compute the key

More than 3-parties โ€“ easy application. [GGH13]

๐‘Ž ๐‘

๐‘”1๐‘Ž ๐‘”1

๐‘

๐พ=๐‘”1๐‘Ž๐‘

Application 1

Page 10: Candidate Multilinear Maps

10

Software Obfuscation

O(P)

P

โ€ข Obfuscation aims to make computer programs โ€œunintelligibleโ€ while preserving their functionality.

Alice Bob

Application 2

Page 11: Candidate Multilinear Maps

Indistinguishability Obfuscation [BGIRSVY01, GR07, GGHRSW13]

Obfuscator

๐‘‚ (๐ถ )๐ถ

Security : Canโ€™t tell if = or As long as and

Might seem useless: but actually is very usefulโ€ฆ

Application 2

Page 12: Candidate Multilinear Maps

Obfuscation + Mmaps Applications Witness Encryption Attribute Based Encryption [GGHSW13] Functional Encryption [GGHRSW13, GJKS13, GGJS13, ABGSZ13,โ€ฆ] Round Optimal Multiparty Secure computation [GGHR14] Deniable Encryption [SW13] Removing random oracles [HSW13a, FHPS13, HSW13b] Broadcast Encryption and Traitor-Tracing [GGHRSW13, BZ13, ABGSZ13] Impossibility results [BCPR13a,BP13,GK13,BCPR13b,KRW13,MO13,โ€ฆ] Functional Witness Encryption [BCP13] Mmaps optimizations and extensions [CLT13,GGH13b,โ€ฆ] Obfuscation optimizations and extensions [BCP13, ABGSZ13, BR13,

BGKPS13, PTS13,โ€ฆ] Pick your favorite primitive in cryptography

Can it be improved?

Page 13: Candidate Multilinear Maps

Outline Bilinear Maps: Recall

And Multilinear maps Our Results and Applications

Definitions of Multi-linear Maps Classical Notion Our Notion

Our Construction Security

Page 14: Candidate Multilinear Maps

Cryptographic Multi-linear MapsDefinitions: Classical notion and our Approximate variant

Page 15: Candidate Multilinear Maps

Multilinear Maps: Classical Notion Cryptographic n-multilinear map (for groups)

Groups of order with generators Family of maps:

, where

.

And at least the ``discrete logโ€ problems in each is ``hardโ€™โ€™. And hopefully the generalization of Bilinear DH

Page 16: Candidate Multilinear Maps

Getting to our Notion

Our visualization

of (traditional)

Bilinear Maps

Step by step I will make changes to get our notion of

Bilinear Maps

At each step provide

Extension to Multi-linear

Maps

Page 17: Candidate Multilinear Maps

Bilinear Maps: Our visualization๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

Page 18: Candidate Multilinear Maps

Bilinear Maps: Our visualization Sampling๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

It was easy to sample uniformly from .

Page 19: Candidate Multilinear Maps

Bilinear Maps: Our visualizationEquality Checking

๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

Trivial to check if two terms are the same.

Page 20: Candidate Multilinear Maps

Bilinear Maps: Our visualizationAddition๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

๐‘”13

Page 21: Candidate Multilinear Maps

Bilinear Maps: Our visualizationMultiplication๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

Page 22: Candidate Multilinear Maps

Bilinear Maps: Sets(Our Notion)

๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

๐‘†01

๐‘†02

๐‘†0๐‘

๐‘†11

๐‘†12

๐‘†1๐‘

๐‘†21

๐‘†22

๐‘†2๐‘

๐‘†0โ‘ ๐‘†1

โ‘ ๐‘†2โ‘

Level-0 encodings

Page 23: Candidate Multilinear Maps

Multilinear Maps: Our Notion

Finite ring and sets ``level- encodingsโ€ Each set is partitioned into for each : ``level- encodings of

โ€.

Page 24: Candidate Multilinear Maps

Bilinear Maps: Sampling(Our Notion)๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

๐‘†01

๐‘†02

๐‘†0๐‘

๐‘†11

๐‘†12

๐‘†1๐‘

๐‘†21

๐‘†22

๐‘†2๐‘

๐‘†0โ‘ ๐‘†1

โ‘ ๐‘†2โ‘

It was easy to sample uniformly from .

I should be efficient to sample such that for a uIt may not be uniform in or .

Page 25: Candidate Multilinear Maps

Multilinear Maps: Our Notion

Finite ring and sets ``level- encodingsโ€ Each set is partitioned into for each : ``level- encodings of

โ€. Sampling: Output for a u

Page 26: Candidate Multilinear Maps

Bilinear Maps: Equality Checking(Our Notion)

๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

๐‘†01

๐‘†02

๐‘†0๐‘

๐‘†11

๐‘†12

๐‘†1๐‘

๐‘†21

๐‘†22

๐‘†2๐‘

๐‘†0โ‘ ๐‘†1

โ‘ ๐‘†2โ‘

It was trivial to check if two terms are the same.

Check if two values come from the same set.

Page 27: Candidate Multilinear Maps

Multilinear Maps: Our Notion

Finite ring and sets ``level- encodingsโ€ Each set is partitioned into for each : ``level- encodings of

โ€. Sampling: Output for a random Equality testing(): Output iff such that

Page 28: Candidate Multilinear Maps

Bilinear Maps: Addition(Our Notion)

๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

๐‘†01

๐‘†02

๐‘†0๐‘

๐‘†11

๐‘†12

๐‘†1๐‘

๐‘†21

๐‘†22

๐‘†2๐‘

๐‘†0โ‘ ๐‘†1

โ‘ ๐‘†2โ‘

๐‘”13 ๐‘†1

3

Page 29: Candidate Multilinear Maps

Multilinear Maps: Our Notion

Finite ring and sets ``level- encodingsโ€ Each set is partitioned into for each : ``level- encodings of

โ€. Sampling: Output for a random Equality testing(): Output iff such that Addition/Subtraction: There are ops and such

that:

We have and

Page 30: Candidate Multilinear Maps

Bilinear Maps: Multiplication(Our Notion)๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

๐‘†01

๐‘†02

๐‘†0๐‘

๐‘†11

๐‘†12

๐‘†1๐‘

๐‘†21

๐‘†22

๐‘†2๐‘

๐‘†0โ‘ ๐‘†1

โ‘ ๐‘†2โ‘

Page 31: Candidate Multilinear Maps

Multilinear Maps: Our Notion

Finite ring and sets ``level- encodingsโ€ Each set is partitioned into for each : ``level- encodings of

โ€. Sampling: Output for a random Equality testing(): Output iff such that Addition/Subtraction: There are ops and such

that: Multiplication: There is an op such that:

such that We have .

Page 32: Candidate Multilinear Maps

Bilinear Maps: Noisy(Our Notion)

๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

๐‘†01

๐‘†02

๐‘†0๐‘

๐‘†11

๐‘†12

๐‘†1๐‘

๐‘†21

๐‘†22

๐‘†2๐‘

๐‘†0โ‘ ๐‘†1

โ‘ ๐‘†2โ‘

All operations are required to work as long as ``noiseโ€™โ€™ level remains small.

Page 33: Candidate Multilinear Maps

Multilinear Maps: Our Notion

Discrete Log: Given level- encoding of , hard to compute level-- encoding of .

n-Multilinear DDH: Given level- encodings of and a level-n encoding T distinguish whether T encodes or not.

Page 34: Candidate Multilinear Maps

Outline Bilinear Maps: Recall

And Multilinear maps Our Results and Applications

Definitions of Multi-linear Maps Classical Notion Our Notion

Our Construction Security

Page 35: Candidate Multilinear Maps

(Kind of like NTRU-Based FHE, but with Equality Testing)

``Noisyโ€ Multilinear Maps

Page 36: Candidate Multilinear Maps

Background We work in polynomial ring

E.g., ( is a power of two)

Such is irreducible over

,

Page 37: Candidate Multilinear Maps

Our Construction We work in polynomial ring

E.g., ( is a power of two) Also use

Public parameters hide a small and a random invertible (large)

Let be the ideal generated by g, also has lattice structure

is required to be Small and invertible in should be a large prime is not too large

The ``scalarsโ€ that we encode are cosets of (i.e., elements in the quotient ring )

Page 38: Candidate Multilinear Maps

Our Construction

๐‘†01

๐‘†02

๐‘†0๐‘

๐‘†0โ‘

โ‹ฎ

๐‘†11

๐‘†12

๐‘†1๐‘

๐‘†1โ‘

โ‹ฎ

๐‘†21

๐‘†22

๐‘†2๐‘

๐‘†2โ‘

โ‹ฎ

1+๐ผ2+๐ผ

๐ผ

Small defines a principal ideal over

A random (large)

[ ๐‘๐‘ง ]๐‘ž

๐‘

[ ๐‘๐‘ง 2 ]๐‘ž

+   and  ร—

should have small coefficients

If , are both short then, has the form ,

where is still short and

If , are both short then,has the form ,

where is still short and Multiplication

Addition

Page 39: Candidate Multilinear Maps

Our Construction (in general)

In general, ``level-k encodingโ€ of a coset has the form for a short

Addition: Add encodings as long as ||

Multi-linear: Multiply encodings to get an encoding of the product at level as long as

``Somewhat homomorphicโ€ encoding

Sampling and equality check?

Page 40: Candidate Multilinear Maps

Bilinear Maps: Sampling(Our Notion)๐‘ ๐‘

12โ‹ฎ๐‘

๐บ1

๐‘”11

๐‘”12

โ‹ฎ๐‘”1๐‘

๐บ2

๐‘”21

๐‘”22

โ‹ฎ๐‘”2๐‘

๐‘†01

๐‘†02

๐‘†0๐‘

๐‘†11

๐‘†12

๐‘†1๐‘

๐‘†21

๐‘†22

๐‘†2๐‘

๐‘†0โ‘ ๐‘†1

โ‘ ๐‘†2โ‘

It was easy to sample uniformly from .

I should be efficient to sample such that for a uIt may not be uniform in or .

Page 41: Candidate Multilinear Maps

Sampling Sampling: Sample small , but larger than then

encodes a random coset. Why should this work? -- vector with tiny coefficients

Page 42: Candidate Multilinear Maps

Encoding this random coset

Publish an encoding of 1:

Sampling: If (wide enough), then encodes a random coset.

Donโ€™t know how to encode specific elements

Given this short , set is a valid level- encoding of the coset

Translating from level to :

Page 43: Candidate Multilinear Maps

Equality Checking Do encode the same coset?

Suffices to check - encodes . Publish a (level-k) zero-testing param

h is ``somewhat shortโ€ (e.g. of size ) To test, if encodes , compute

= = (output yes if )

Page 44: Candidate Multilinear Maps

Equality Checking โ€“ Correctness I

Do encode the same coset? Suffices to check - encodes .

Publish a (level-k) zero-testing param

h is ``somewhat shortโ€ (e.g. of size ) To test, if encodes , compute

= = (output yes if ) Correctness: if (or, ) Problem: may not be small Solution: is small, is same as in

Page 45: Candidate Multilinear Maps

Equality Checking โ€“ Correctness II

Do encode the same coset? Suffices to check - encodes .

Publish a (level-k) zero-testing param

h is ``somewhat shortโ€ (e.g. of size ) To test, if encodes , compute

= = (output yes if ) Correctness: if Assume then both and are Hence in Implies divides or .

Page 46: Candidate Multilinear Maps

Re-randomizaton๐‘†0

๐‘  ๐‘†0๐‘ก ๐‘†0

๐‘ ๐‘ก ๐‘†0๐‘Ÿ

๐‘๐‘ ๐‘๐‘ก๐‘๐‘ ๐‘ก๐‘๐‘Ÿ

And But then

We need to re-randomize the encoding, to break these simple algebraic relations

๐‘ข๐‘ ๐‘ข๐‘ก๐‘ข๐‘ ๐‘ก๐‘ข๐‘Ÿ

๐‘†1๐‘ ๐‘ก

๐‘†1โ‘

๐‘ฅ0๐‘ฅ0โ€ฒ ๐‘ฅ0

โ€ฒ โ€ฒโ‹ฏโ‹ฏโ‹ฏ

Need to re-randomize

this as well.

This re-randomization gets us statistically close to the actual distribution [AGHS12,AR13].

๐‘†10

Page 47: Candidate Multilinear Maps

The Complete Encoding Scheme

Parameters: , , and Encode a random element:

S

Re-randomize u (at level 1):

Zero Test: Map to level(by multiplying by for appropriate j) Check if is small

Re-randomization not needed for applications like

obfuscation.

Page 48: Candidate Multilinear Maps

Variants Asymmetric variants (many ziโ€™s), XDH analog , , Partially symmetric and partially asymmetric

Page 49: Candidate Multilinear Maps

Security: Cryptanalysis

Page 50: Candidate Multilinear Maps

Attacks, , and Goal: To find or Covering the basics (Not ``Triviallyโ€™โ€™ broken)

Adversary that only (iteratively) adds, subtracts, multiplies, or divides pairs of elements that it has already computed cannot break the scheme

Similar in spirit to Generic Group model Without the - essentially the NTRU problem

Page 51: Candidate Multilinear Maps

Summary Presented ``noisyโ€ cryptographic multilinear map. Construction is similar to NTRU-based

homomorphic encryption, but with an equality-testing parameter.

Security is based on somewhat stronger computational assumptions than NTRU.

But more cryptanalysis needs to be done!

Page 52: Candidate Multilinear Maps

??Thank You! Questions?


Top Related