Homomorphic Multiplication for X25519 and X448

Document Type Expired Internet-Draft (individual)
Authors Richard Barnes  , Joël Alwen  , Sandro Corretti 
Last updated 2020-05-07 (latest revision 2019-11-04)
Stream (None)
Intended RFC status (None)
Expired & archived
pdf htmlized (tools) htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state Expired
Telechat date
Responsible AD (None)
Send notices to (None)

This Internet-Draft is no longer active. A copy of the expired Internet-Draft can be found at


In some contexts it is useful for holders of the private and public parts of an elliptic curve key pair to be able to independently apply an updates to those values, such that the resulting updated public key corresponds to the updated private key. Such updates are straightforward for older elliptic curves, but for X25519 and X448, the "clamping" prescribed for scalars requires some additional processing. This document defines a multiplication procedure that can be used to update X25519 and X448 key pairs. This algorithm can fail to produce a result, but only with negligible probability. Failures can be detected by the holder of the private key.


Richard Barnes (rlb@ipv.sx)
Joël Alwen (jalwen@wickr.com)
Sandro Corretti (corettis@gmail.com)

(Note: The e-mail addresses provided for the authors of this Internet-Draft may no longer be valid.)