22.3 Tripartite Diffie-Hellman

Alice, Bob, and Carlos want to agree on a common key (for a symmetric cryptosystem). All communications among them are public. If there were only two people, Diffie-Hellman could be used. A slight extension of this procedure works for three people:

  1. Alice, Bob, and Carlos agree on a large prime p and a primitive root α.

  2. Alice chooses a secret integer a,  Bob chooses a secret integer b,  and Carlos chooses a secret integer c.

  3. Alice computes Aαa(modp),  Bob computes Bαb(modp),  and Carlos computes Cαc(modp).

  4. Alice sends A to Bob, Bob sends B to Carlos, and Carlos sends C to Alice.

  5. Alice computes ACa,  Bob computes BAb,  and Carlos computes CBc.

  6. Alice sends A to Bob, Bob sends B to Carlos, and Carlos sends C to Alice.

  7. Alice computes A′′Ca,  Bob computes B′′Ab,  and Carlos computes C′′Bc. Note that A′′=B′′=C′′αabc(modp).

  8. Alice, Bob, and Carlos use some agreed-upon method to obtain keys from A′′, B′′, C′′. For example, they could use some standard hash function and apply it to αabc(modp).

This protocol could also be used with p and α replaced by an elliptic curve E and a point P0,  so Alice computes aP0,  etc., and the final result is abcP0.

In 2000, Joux showed how to use pairings to obtain a more efficient protocol, one in which there is only one round instead of two:

  1. Alice, Bob, and Carlos choose a supersingular elliptic curve E and a point P0,  as in Section 22.1.

  2. Alice chooses a secret integer a,  Bob chooses a secret integer b,  and Carlos chooses a secret integer c.

  3. Alice computes A=aP0,  Bob computes B=bP0,  and Carlos computes C=cP0.

  4. Alice makes A public, Bob makes B public, and Carlos makes C public.

  5. Alice computes e˜(B, C)a,  Bob computes e˜(A, C)b,  and Carlos computes e˜(A, B)c. Note that each person has computed e˜(P0, P0)abc.

  6. Alice, Bob, and Carlos use some agreed-upon method to obtain keys from e˜(P0, P0)abc. For example, they could apply some standard hash function to this number.

The eavesdropper Eve sees E and the points P0, aP0, bP0, cP0 and needs to compute e˜(P0, P0)abc. This computation is called the Bilinear Diffie-Hellman Problem. It is not known how difficult it is. However, if Eve can solve the Computational Diffie-Hellman Problem (see Section 10.4), then she uses E, P0, aP0, bP0 to obtain abP0 and computes e˜(abP0, cP0)=e˜(P0, P0)abc. Therefore, the Bilinear Diffie-Hellman Problem is no harder than the Computational Diffie-Hellman Problem.

Joux’s result showed that pairings could be used in a constructive way in cryptography, rather than only in a destructive method such as the MOV attack, and this led to pairings being considered for applications such as those in the next few sections. It also meant that supersingular curves again became useful in cryptography, with the added requirement that when a curve mod p is used, the prime p must be chosen large enough that the classical discrete logarithm problem (solve αxβ(modp) for x) is intractable.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.16.54.63