Overview

Pairing = Bilinear Map

Technically, pairing is a special kind of bilinear map for modules. In cryptography, they are often used interchangeably.

[! What do pairings allow you to do that normal groups do not?] Pairings allow you to multiply two hidden numbers, while “normal groups” only allow you to add

Pairing Rules

[! Pairing Application] Question

Let’s suppose Alice want to prove to Bob that she know some integer that satisfies the equation:    without revealing  to Bob. How would Alice do this using an elliptic curve pairing?

Answer:

  1. Choose 2 public generators , and

  2. Compute and and send results to Bob (Bob cannot compute due to ECDLP)

  3. Bob computes:

    If the above result == 1, then we know with high probability

Definition

A pairing is a map:

where:

  • are groups of points on elliptic curves (sometimes the same curve, sometimes different).
  • is a multiplicative subgroup of a finite field .
  • The pairing must be:
    • Bilinear: for all points and integers
    • Non-degenerate: if and are generators of and , so it carries meaningful information
    • Efficiently computable: there must be an efficient algorithm to compute

Pairing Friendly Elliptic Curves

  • for an elliptic curve defined by , there is an integer such that divides (i.e. )
  • k is called the embedding degree
  • the smaller is, the more pairing-friendly the curve
    • e.g. for BN254,
  • Reason:
    • the pairing function pair(𝑎, 𝑏) takes as input two points 𝑎, 𝑏 ∈ 𝐸 on the elliptic curve and spits out a value pair
    • in other words, a nonzero element of the finite field of order
    • thus, the smaller the , the smaller the order of

Pairing Types

  • All types are equally secure
  • Tate Pairing
    • Weil and Ate pairings can be written in terms of Tate pairing
  • Weil Pairing
  • Ate Pairing
    • most efficient type

Pairing Classification

Type 1

  • (symmetric pairing)

Type 2

  • which is an efficiently computable homomorphism
  • no efficient secure hash to group function exists.

Type 3

  • no efficiently computable homomorphism exists

Type 4

  • which is an efficiently computable homomorphism
  • there exists some which is an efficient secure hash to group function

Security

  • let be a bilinear map and and for asymmetric bilinear map groups , such that
  • the general pairing inversion problem to be the problem of finding given

Different than Elliptic Curve Hardness

Hardness assumption in Pairing-based cryptography is separate from Elliptic Curve Cryptography

Calculation

  1. Miller Loop
  2. Final Exponentiation a. Easy Part b. Hard Part

where is the cyclotomic polynomial evaluated at p

Notation (additive vs multiplicative)

vitalik.eth on X: "Based @dankrad using additive notation even for the pairing group. https://t.co/uIu7nQEYYl" / X

Example

Discrete Logarithm Problem (DLP)

Multiplicative Notation

  • will give a result that is uniformly distributed between 1 and (p - 1), inclusive
  • Given g, r and p, it is hard to deduce x
  • If p is small, it is easy to find x
  • If p is very large, it is hard to find x

Additive Notation

  • Given is a standard elliptic curve and arbitrary nonzero
  • where and (e.g. is 254-bit if is BN254 )
  • is hard to find
  • However, given and , one can compute in

General

Link to original

undefined

Benchmarks

Implementations

pairings_bn.nim Faster pairings · Issue #101 · axiom-crypto/halo2-lib · GitHub

Reference