Cryptographic multilinear map

From testwiki
Jump to navigation Jump to search

A cryptographic n-multilinear map is a kind of multilinear map, that is, a function e:G1××GnGT such that for any integers a1,,an and elements giGi, e(g1a1,,gnan)=e(g1,,gn)i=1nai, and which in addition is efficiently computable and satisfies some security properties. It has several applications on cryptography, as key exchange protocols, identity-based encryption, and broadcast encryption. There exist constructions of cryptographic 2-multilinear maps, known as bilinear maps,[1] however, the problem of constructing such multilinear[1] maps for n>2 seems much more difficult[2] and the security of the proposed candidates is still unclear.[3]

Definition

For n = 2

In this case, multilinear maps are mostly known as bilinear maps or pairings, and they are usually defined as follows:[4] Let G1,G2 be two additive cyclic groups of prime order q, and GT another cyclic group of order q written multiplicatively. A pairing is a map: e:G1×G2GT, which satisfies the following properties:

Bilinearity
a,bFq*, PG1,QG2: e(aP,bQ)=e(P,Q)ab
Non-degeneracy
If g1 and g2 are generators of G1 and G2, respectively, then e(g1,g2) is a generator of GT.
Computability
There exists an efficient algorithm to compute e.

In addition, for security purposes, the discrete logarithm problem is required to be hard in both G1 and G2.

General case (for any n)

We say that a map e:G1××GnGT is a n-multilinear map if it satisfies the following properties:

  1. All Gi (for 1in) and GT are groups of same order;
  2. if a1,,an and (g1,,gn)G1××Gn, then e(g1a1,,gnan)=e(g1,,gn)i=1nai;
  3. the map is non-degenerate in the sense that if g1,,gn are generators of G1,,Gn, respectively, then e(g1,,gn) is a generator of GT
  4. There exists an efficient algorithm to compute e.

In addition, for security purposes, the discrete logarithm problem is required to be hard in G1,,Gn.

Candidates

All the candidates multilinear maps are actually slightly generalizations of multilinear maps known as graded-encoding systems, since they allow the map e to be applied partially: instead of being applied in all the n values at once, which would produce a value in the target set GT, it is possible to apply e to some values, which generates values in intermediate target sets. For example, for n=3, it is possible to do y=e(g2,g3)GT2 then e(g1,y)GT.

The three main candidates are GGH13,[5] which is based on ideals of polynomial rings; CLT13,[6] which is based approximate GCD problem and works over integers, hence, it is supposed to be easier to understand than GGH13 multilinear map; and GGH15,[7] which is based on graphs.

References

Template:Reflist

  1. 1.0 1.1 Cite error: Invalid <ref> tag; no text was provided for refs named pairingSurvey
  2. Cite error: Invalid <ref> tag; no text was provided for refs named bonehMultilinear
  3. Cite error: Invalid <ref> tag; no text was provided for refs named AlbrechtSite
  4. Cite error: Invalid <ref> tag; no text was provided for refs named KoblitzMenezes2005
  5. Cite error: Invalid <ref> tag; no text was provided for refs named ggh13
  6. Cite error: Invalid <ref> tag; no text was provided for refs named clt13
  7. Cite error: Invalid <ref> tag; no text was provided for refs named ggh15