Pairing Schemes
$$ \newcommand{\gen}{\texttt{gen}} \newcommand{\spl}{\texttt{spl}} \newcommand{\dec}{\texttt{dec}} \newcommand{\ECM}{\exists\textrm{CM}} $$

28 April 2022

Pairing Schemes

Pairings are special binary maps defined on top of groups that allows transferring exponents from one group to the other. They find broad use in cryptography including design of digital signatures.

Definition. Let \(G_1, G_2, G_3 \cong \Int_p\) be three cyclic groups of order \(p\). They have the same abstract structure but not necessarily the same description. A pairing \(\inner{\cdot}{\cdot}: G_1 \times G_2 \to G_3\) is a polynomial-time computable map satisfying

Exercise. Prove the following properties of a pairing:

In this chapter we only concern about the symmetric case \(G_1 = G_2 =: G\).

Boneh-Lynn-Shacham Scheme

Let us take a pairing \(\inner{\cdot}{\cdot}: G \times G \to G'\) and an arbitrary generator \(g \in G\). Assume a random oracle \(H: \set{0,1}^* \to G\). The BLS scheme cannot be simpler: hash-then-sign, and verify via the properties of pairing.

Its correctness is obvious. To prove security, we also need a cryptographic assumption.

People believe that the Diffie-Hellman problem is hard (i.e. any polynomial time algorithm could succeed with negligible probability only):

Given \(g^x, g^y\) where \(x,y \in \Int_p\) are sampled uniformly, compute \(g^{xy}\).

Clearly it can be reduced to discrete logarithm, so its hardness assumption is stronger.

Security proof. Take any \(\ECM^+\) adversary in the random oracle model. Modify it such that it always requests \(H(m_i)\) for every message \(m_i\) which it later requests/forges a signature. Let \(\ell\) upper bounds the number of requests. We construct a solver for the Diffie-Hellman problem:

The BLS scheme has the special property of aggregability: The messages and signatures coming from \(n\) players can be bundled into a monolithic message/signature pair for a one-pass verification. For this purpose, we add two specialised routines to the signature scheme:

The game needs refinement as well:

Exercise. Prove that the BLS scheme is secure in this game.

Waters Scheme

Waters scheme, like the BLS scheme, is based on the Diffie-Hellman assumption. But it is constructed in a more sophisticated manner that allows a security proof without random oracle. The key device is a “programmable hash scheme” that captures essential functionality of a random oracle in security proof.

Programmable hash scheme

Definition. A \(\mu\)-programmable hash scheme is a tuple \((\spl, H, \dec)\):

Moreover we impose a semantic constraint. Fix arbitrary generators \(g, h \in G\) and consider a probability space where we sample \((\kappa,\tau) := \spl(1^k, g, h)\). For any \(m \in \set{0,1}^k\) we define random variables \((A_m, B_m) := \dec(\kappa,\tau,m)\). Note that the randomness comes from spl only. We require

\[\Pr \left( \set{B_m=0} \cap \bigcap_{i=1}^{q} \set{B_{m_i} \neq 0} \middle\vert \kappa \right) \geq \mu.\]

for all conditions \(\kappa\) and any distinct messages \(m, m_1, \dots, m_q \in \set{0,1}^k\).

It’s a good place to make a few clarifications:

A possible construction

We present a simple \(\Theta(\frac{1}{q \sqrt{k}})\)-programmable hash scheme:

Note that the descriptor \(\kappa = (u_0, \dots, u_k)\) is uniform and independent of variables \((b_0, \dots, b_k)\), due to the “blinding effect” of uniform variables \(a_0, \dots, a_k\). Hence even with the conditioning on \(\kappa\), the variables \(b_0, \dots, b_k\) still have the same “random-walk distribution”, whose behaviour is governed by the lemma below.

Lemma. Let \(X_1, \dots, X_n\) be i.i.d. random variables following uniform distribution on \(\set{-1,0,1}\). Denote \(X := \sum_{i=1}^n X_i\). Then \(\Pr(X=0) = \Theta(1/\sqrt{n})\).

The proof of the lemma involves heavy computations, which we shall not present. But we invite you to at least write down the exact formula. Also, it is rather easy to prove a lower bound \(\Pr(X=0) \geq \Theta(1/\sqrt{n})\) by Chebyshev and the observation that the mass drops monotonically from the centre 0.

Assuming the lemma, we are almost done. For any message \(m\), we have by definition \(B_m = b_0 + \sum_{\text{bit } i \text{ of } m = 1} b_i\), which involves at least one and at most \(k+1\) bulks of random walks. Hence \(\Pr(B_m=0 \mid \kappa) \in [\Theta(\frac{1}{q \cdot \sqrt{k}}), \Theta(\frac{1}{q})]\). Then we condition on this event and consider any other message \(m_i \neq m\). Since the two messages have at least one bit difference, this intuitively provides us with enough randomness that smooths the correlation between \(B_m\) and \(B_{m_i}\), and one could show that \(\Pr(B_{m_i} = 0 \mid B_m = 0, \kappa) \leq \frac{1}{2q}\). Applying union bound we have \(\Pr\left( \bigcup_i \set{B_{m_i} = 0} \middle\vert B_m=0, \kappa \right) \leq \frac{1}{2}\), and the desired lower bound \(\mu = \Theta(\frac{1}{q \sqrt{k}})\) follows.

Back to signature scheme

Now we assume a pairing \(\inner{\cdot}{\cdot}: G \times G \to G'\) and a \(\mu\)-programmable hash scheme \((\spl,H,\dec)\) for non-negligible \(\mu\). We agree upon a fixed generator \(g \in G\). The Waters signature scheme is given by:

Exercises.

Security proof. We construct a solver for Diffie-Hellman problem based on any \(\ECM^+\) adversary.

Return↩︎