multilinear maps from ideal lattices and applications

51
Multilinear Maps From Ideal Lattices and Applications Sanjam Garg (UCLA) Joint work with Craig Gentry (IBM) and Shai Halevi (IBM)

Upload: kalani

Post on 23-Feb-2016

43 views

Category:

Documents


0 download

DESCRIPTION

Multilinear Maps From Ideal Lattices and Applications. Sanjam Garg (UCLA) Joint work with Craig Gentry (IBM) and Shai Halevi (IBM). Outline. Bilinear Maps: Recall and Applications Motivating Multilinear maps Our Results Definitions of Multi-linear Maps Classical Notion Our Notion - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multilinear Maps From Ideal Lattices and Applications

Multilinear Maps From Ideal Lattices and

ApplicationsSanjam Garg (UCLA)

Joint work with Craig Gentry (IBM) and Shai Halevi (IBM)

Page 2: Multilinear Maps From Ideal Lattices and Applications

Outline Bilinear Maps: Recall and Applications

Motivating Multilinear maps

Our Results Definitions of Multi-linear Maps

Classical Notion Our Notion

Our Construction Security

Page 3: Multilinear Maps From Ideal Lattices and Applications

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

Page 4: Multilinear Maps From Ideal Lattices and Applications

Cryptographic Bilinear Maps Bilinear maps are extremely useful in cryptography

lots of applications

As the name suggests allow pairing two things together

Page 5: Multilinear Maps From Ideal Lattices and Applications

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: Multilinear Maps From Ideal Lattices and Applications

Bilinear Maps: ``Hard” Problems 3-party Decisional Diffie-Hellman: Given hard to distinguish Bilinear Diffie-Hellman: Givenhard to distinguish from Random

Page 7: Multilinear Maps From Ideal Lattices and Applications

Non-Interactive Key Agreement [DH76]

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

What if we have more than 3-parties? [BS03]

𝑎 𝑏

𝑔1𝑎 𝑔1

𝑏

𝐾=𝑔1𝑎𝑏

Application 1

Page 8: Multilinear Maps From Ideal Lattices and Applications

Prover Verifier

Non-Interactive Zero Knowledge [BMF88]

Soundness:Statement is true

Zero-knowledge:Nothing but truth revealed

Common reference string :

Proof:

Witness for

statement being true

Statement :

Application 2

Only know constructions are from Bilinear Maps[GOS06] and Trapdoor permutation[FLS90] .

What if we had Bilinear maps from some other assumption?

Page 9: Multilinear Maps From Ideal Lattices and Applications

PKE with Enhanced Capabilities Identity Based Encryption [Sha84] Boneh and Franklin using bilinear maps [BF01]

More general notion – Attribute Based Encryption [SW05]

Application 3

Page 10: Multilinear Maps From Ideal Lattices and Applications

10

PKMSK

“Tel-Aviv University”“Professor”

“Tel-Aviv University”“Grad-student”

OR

Chancellor AND

TAU Professor

OR

ChancellorAND

TAU Professor

SK’SK

Key AuthorityAttribute-Based Encryption [SW05]

How general can this policy be?

Bottom line: Very few policies such as formulas are known to be realizable.

Application 3

What if we had multilinear maps?

Page 11: Multilinear Maps From Ideal Lattices and Applications

Other Applications Traitor-Tracing (with small ciphertexts)[BSW06] Efficient Signature Schemes [BLS04] Efficient Broadcast Encryption Attribute based signatures Blind Signatures/Anonymous Credentials Structure Preserving Signatures And many more…. There is a conference on Pairing based Cryptography What if we had multilinear map? [BS03]

Page 12: Multilinear Maps From Ideal Lattices and Applications

Outline Bilinear Maps: Recall and Applications

Motivating Multilinear maps

Our Results Definitions of Multi-linear Maps

Classical Notion Our Notion

Our Construction Security

Page 13: Multilinear Maps From Ideal Lattices and Applications

Our Results constructions of multi-

linear maps Use these to get

-party non-interactive Diffie Hellman NIZKs from lattice assumptions Attribute based encryption for general circuits

[GGH12, SW12] Witness Encryption [GGSW12]

Insufficient for [Rot12] counterexample Every bit encryption remains secure even when

encryption of the secret key is given out

Candidate approximateConstructions of multi-linear maps(Public parameters hide secrets)

Page 14: Multilinear Maps From Ideal Lattices and Applications

Encrypter

Witness Encryption

Soundness:Statement is false Semantic Security

𝑐

Witness for statement . Statement :

𝑚 Encrypter Receiver

Application 4

Page 15: Multilinear Maps From Ideal Lattices and Applications

Outline Bilinear Maps: Recall and Applications

Motivating Multilinear maps

Our Results Definitions of Multi-linear Maps

Classical Notion Our Notion

Our Construction Security

Page 16: Multilinear Maps From Ideal Lattices and Applications

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

Page 17: Multilinear Maps From Ideal Lattices and Applications

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 3-party DH

Page 18: Multilinear Maps From Ideal Lattices and Applications

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 19: Multilinear Maps From Ideal Lattices and Applications

Bilinear Maps: Our visualization𝑍 𝑝

12⋮𝑝

𝐺1

𝑔11

𝑔12

⋮𝑔1𝑝

𝐺2

𝑔21

𝑔22

⋮𝑔2𝑝

Page 20: Multilinear Maps From Ideal Lattices and Applications

Bilinear Maps: Our visualization Sampling𝑍 𝑝

12⋮𝑝

𝐺1

𝑔11

𝑔12

⋮𝑔1𝑝

𝐺2

𝑔21

𝑔22

⋮𝑔2𝑝

It was easy to sample uniformly from .

Page 21: Multilinear Maps From Ideal Lattices and Applications

Bilinear Maps: Our visualizationEquality Checking

𝑍 𝑝

12⋮𝑝

𝐺1

𝑔11

𝑔12

⋮𝑔1𝑝

𝐺2

𝑔21

𝑔22

⋮𝑔2𝑝

Trivial to check if two terms are the same.

Page 22: Multilinear Maps From Ideal Lattices and Applications

Bilinear Maps: Our visualizationAddition𝑍 𝑝

12⋮𝑝

𝐺1

𝑔11

𝑔12

⋮𝑔1𝑝

𝐺2

𝑔21

𝑔22

⋮𝑔2𝑝

𝑔13

Page 23: Multilinear Maps From Ideal Lattices and Applications

Bilinear Maps: Our visualizationMultiplication𝑍 𝑝

12⋮𝑝

𝐺1

𝑔11

𝑔12

⋮𝑔1𝑝

𝐺2

𝑔21

𝑔22

⋮𝑔2𝑝

Page 24: Multilinear Maps From Ideal Lattices and Applications

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 25: Multilinear Maps From Ideal Lattices and Applications

Multilinear Maps: Our Notion

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

”.

Page 26: Multilinear Maps From Ideal Lattices and Applications

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 27: Multilinear Maps From Ideal Lattices and Applications

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 28: Multilinear Maps From Ideal Lattices and Applications

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 29: Multilinear Maps From Ideal Lattices and Applications

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 30: Multilinear Maps From Ideal Lattices and Applications

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 31: Multilinear Maps From Ideal Lattices and Applications

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 32: Multilinear Maps From Ideal Lattices and Applications

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 33: Multilinear Maps From Ideal Lattices and Applications

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 34: Multilinear Maps From Ideal Lattices and Applications

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 35: Multilinear Maps From Ideal Lattices and Applications

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 36: Multilinear Maps From Ideal Lattices and Applications

Outline Bilinear Maps: Recall and Applications

Motivating Multilinear maps

Our Results Definitions of Multi-linear Maps

Classical Notion Our Notion

Our Construction Security

Page 37: Multilinear Maps From Ideal Lattices and Applications

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

``Noisy” Multilinear Maps

Page 38: Multilinear Maps From Ideal Lattices and Applications

Our Construction We work in polynomial ring

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

Public parameters hide a small and a random (large)

defines a principal ideal over The ``scalars” that we encode are cosets of

(i.e., elements in the quotient ring ) e.g., if is a prime, then we can represent these cosets using

the integers

Page 39: Multilinear Maps From Ideal Lattices and Applications

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 40: Multilinear Maps From Ideal Lattices and Applications

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 41: Multilinear Maps From Ideal Lattices and Applications

Sampling Sampling: If (wider than smoothing parameter of

but still smaller than ), then encodes a random coset.

Why should this work? -- vector with tiny coefficients

Page 42: Multilinear Maps From Ideal Lattices and Applications

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: Multilinear Maps From Ideal Lattices and Applications

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 = =

Which is small if (or, )

Page 44: Multilinear Maps From Ideal Lattices and Applications

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].

𝑆10

Page 45: Multilinear Maps From Ideal Lattices and Applications

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

Page 46: Multilinear Maps From Ideal Lattices and Applications

Variants Asymmetric variants (many zi’s), XDH analog , , Partially symmetric and partially asymmetric Statistical Zero-test security

Page 47: Multilinear Maps From Ideal Lattices and Applications

Security: Cryptanalysis

Page 48: Multilinear Maps From Ideal Lattices and Applications

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 49: Multilinear Maps From Ideal Lattices and Applications

Attacks, , and Goal: To find or Algebraic and Lattice Attacks

Averaging attacks Other attacks for Principal Ideals

Page 50: Multilinear Maps From Ideal Lattices and Applications

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! And more applications need to be found!

Page 51: Multilinear Maps From Ideal Lattices and Applications

??Thank You! Questions?