Elliptic-Curve Diffie–Hellman

Elliptic-curve Diffie–Hellman (ECDH) is a key agreement protocol that allows two parties, each having an elliptic-curve public–private key pair, to establish a shared secret over an insecure channel.

This shared secret may be directly used as a key, or to derive another key. The key, or the derived key, can then be used to encrypt subsequent communications using a symmetric-key cipher. It is a variant of the Diffie–Hellman protocol using elliptic-curve cryptography.

Key establishment protocol

The following example illustrates how a shared key is established. Suppose Alice wants to establish a shared key with Bob, but the only channel available for them may be eavesdropped by a third party. Initially, the domain parameters (that is, Elliptic-Curve Diffie–Hellman  in the prime case or Elliptic-Curve Diffie–Hellman  in the binary case) must be agreed upon. Also, each party must have a key pair suitable for elliptic curve cryptography, consisting of a private key Elliptic-Curve Diffie–Hellman  (a randomly selected integer in the interval Elliptic-Curve Diffie–Hellman ) and a public key represented by a point Elliptic-Curve Diffie–Hellman  (where Elliptic-Curve Diffie–Hellman , that is, the result of adding Elliptic-Curve Diffie–Hellman  to itself Elliptic-Curve Diffie–Hellman  times). Let Alice's key pair be Elliptic-Curve Diffie–Hellman  and Bob's key pair be Elliptic-Curve Diffie–Hellman . Each party must know the other party's public key prior to execution of the protocol.

Alice computes point Elliptic-Curve Diffie–Hellman . Bob computes point Elliptic-Curve Diffie–Hellman . The shared secret is Elliptic-Curve Diffie–Hellman  (the x coordinate of the point). Most standardized protocols based on ECDH derive a symmetric key from Elliptic-Curve Diffie–Hellman  using some hash-based key derivation function.

The shared secret calculated by both parties is equal, because Elliptic-Curve Diffie–Hellman .

The only information about her key that Alice initially exposes is her public key. So, no party except Alice can determine Alice's private key (Alice of course knows it by having selected it), unless that party can solve the elliptic curve discrete logarithm problem. Bob's private key is similarly secure. No party other than Alice or Bob can compute the shared secret, unless that party can solve the elliptic curve Diffie–Hellman problem.

The public keys are either static (and trusted, say via a certificate) or ephemeral (also known as ECDHE, where final 'E' stands for "ephemeral"). Ephemeral keys are temporary and not necessarily authenticated, so if authentication is desired, authenticity assurances must be obtained by other means. Authentication is necessary to avoid man-in-the-middle attacks. If one of either Alice's or Bob's public keys is static, then man-in-the-middle attacks are thwarted. Static public keys provide neither forward secrecy nor key-compromise impersonation resilience, among other advanced security properties. Holders of static private keys should validate the other public key, and should apply a secure key derivation function to the raw Diffie–Hellman shared secret to avoid leaking information about the static private key. For schemes with other security properties, see MQV.

If Alice maliciously chooses invalid curve points for her key and Bob does not validate that Alice's points are part of the selected group, she can collect enough residues of Bob's key to derive his private key. Several TLS libraries were found to be vulnerable to this attack.

The shared secret is uniformly distributed on a subset of Elliptic-Curve Diffie–Hellman  of size Elliptic-Curve Diffie–Hellman . For this reason, the secret should not be used directly as a symmetric key, but it can be used as entropy for a key derivation function.

Diffie-Hellman Key Agreement on Montgomery Curves

Let Elliptic-Curve Diffie–Hellman  such that Elliptic-Curve Diffie–Hellman . The Montgomery form elliptic curve Elliptic-Curve Diffie–Hellman  is the set of all Elliptic-Curve Diffie–Hellman  satisfying the equation Elliptic-Curve Diffie–Hellman  along with the point at infinity denoted as Elliptic-Curve Diffie–Hellman . This is called the affine form of the curve. The set of all Elliptic-Curve Diffie–Hellman -rational points of Elliptic-Curve Diffie–Hellman , denoted as Elliptic-Curve Diffie–Hellman  is the set of all Elliptic-Curve Diffie–Hellman  satisfying Elliptic-Curve Diffie–Hellman  along with Elliptic-Curve Diffie–Hellman . Under a suitably defined addition operation, Elliptic-Curve Diffie–Hellman  is a group with Elliptic-Curve Diffie–Hellman  as the identity element. It is known that the order of this group is a multiple of 4. In fact, it is usually possible to obtain Elliptic-Curve Diffie–Hellman  and Elliptic-Curve Diffie–Hellman  such that the order of Elliptic-Curve Diffie–Hellman  is Elliptic-Curve Diffie–Hellman  for a prime Elliptic-Curve Diffie–Hellman . For more extensive discussions of Montgomery curves and their arithmetic one may follow .

For computational efficiency, it is preferable to work with projective coordinates. The projective form of the Montgomery curve Elliptic-Curve Diffie–Hellman  is Elliptic-Curve Diffie–Hellman . For a point Elliptic-Curve Diffie–Hellman  on Elliptic-Curve Diffie–Hellman , the Elliptic-Curve Diffie–Hellman -coordinate map Elliptic-Curve Diffie–Hellman  is the following: Elliptic-Curve Diffie–Hellman  if Elliptic-Curve Diffie–Hellman  and Elliptic-Curve Diffie–Hellman  if Elliptic-Curve Diffie–Hellman  . Bernstein introduced the map Elliptic-Curve Diffie–Hellman  as follows: Elliptic-Curve Diffie–Hellman  which is defined for all values of Elliptic-Curve Diffie–Hellman  and Elliptic-Curve Diffie–Hellman  in Elliptic-Curve Diffie–Hellman . Following Miller, Montgomery and Bernstein, the Diffie-Hellman key agreement can be carried out on a Montgomery curve as follows. Let Elliptic-Curve Diffie–Hellman  be a generator of a prime order subgroup of Elliptic-Curve Diffie–Hellman . Alice chooses a secret key Elliptic-Curve Diffie–Hellman  and has public key Elliptic-Curve Diffie–Hellman ; Bob chooses a secret key Elliptic-Curve Diffie–Hellman  and has public key Elliptic-Curve Diffie–Hellman . The shared secret key of Alice and Bob is Elliptic-Curve Diffie–Hellman . Using classical computers, the best known method of obtaining Elliptic-Curve Diffie–Hellman  from Elliptic-Curve Diffie–Hellman  and Elliptic-Curve Diffie–Hellman  requires about Elliptic-Curve Diffie–Hellman  time using the Pollards rho algorithm.

The most famous example of Montgomery curve is Curve25519 which was introduced by Bernstein. For Curve25519, Elliptic-Curve Diffie–Hellman  and Elliptic-Curve Diffie–Hellman . The other Montgomery curve which is part of TLS 1.3 is Curve448 which was introduced by Hamburg. For Curve448, Elliptic-Curve Diffie–Hellman  and Elliptic-Curve Diffie–Hellman . Couple of Montgomery curves named M[4698] and M[4058] competitive to Curve25519 and Curve448 respectively have been proposed in . For M[4698], Elliptic-Curve Diffie–Hellman  and for M[4058], Elliptic-Curve Diffie–Hellman . At 256-bit security level, three Montgomery curves named M[996558], M[952902] and M[1504058] have been proposed in . For M[996558], Elliptic-Curve Diffie–Hellman , for M[952902], Elliptic-Curve Diffie–Hellman  and for M[1504058], Elliptic-Curve Diffie–Hellman  respectively. Apart from these two, other proposals of Montgomery curves can be found at .

Software

See also

References

Tags:

Elliptic-Curve Diffie–Hellman Key establishment protocolElliptic-Curve Diffie–Hellman SoftwareElliptic-Curve Diffie–HellmanDiffie–Hellman key exchangeElliptic curveElliptic-curve cryptographyInsecure channelKey agreementKey derivation functionShared secretSymmetric-key algorithm

🔥 Trending searches on Wiki English:

Gulf WarList of Masters Tournament championsPirates of the Caribbean (film series)UEFA Champions LeagueAleksandar RakićRichard GaddSaltburn (film)UEFA Euro 2024Deiveson FigueiredoIWGP World Heavyweight ChampionshipHESA Shahed 136Ben AffleckJodie FosterAaron Taylor-JohnsonRikky von OpelNullMichael RapaportSunny LeoneMiley CyrusJ. K. RowlingThe Greatest Hits (film)2024 Indian general election in MaharashtraVarshangalkku SheshamPVR INOXSolo LevelingGirls AloudThe Rookie (TV series)Vijay SinghLate Night with the DevilHolly HolmPark Bo-ramLionel MessiPerrie EdwardsXNXX2024 Monte-Carlo Masters – SinglesTom Watson (golfer)Austin ButlerParakala PrabhakarElton JohnGoogleDexter (TV series)Stephen McKinley HendersonManchester City F.C.Dua LipaLimoneneKirsten DunstS ClubAlex GarlandEdward VIIIRoad House (2024 film)Kato KaelinX-Men '97Future (rapper)Geli RaubalVal KilmerKurt RussellSalt Lake CityMS DhoniKobe BryantKarl DönitzBen CrenshawTama TongaElizabeth HolmesSydney SweeneyMaXXXineDrake BellPatrick SwayzeAnne HathawayGypsy-Rose BlanchardThe Bloodline (professional wrestling)Prichard ColónWilliam Temple FranklinBarry KeoghanXXX (2002 film)2024 ATP TourOmegleSplit (2016 American film)YG Marley🡆 More