will now have two pairs of points , and , respectively. A and B now exchange these pairs of points over a communications channel. A and B now use the pair of points they receive as the basis for the kernel of a new isogeny. They use the same linear coefficients they used above with the points they received to form a point in the kernel of an isogeny that they will create. They each compute points and and use Velu's formulas to construct new isogenies. To complete the key exchange, A and B compute the coefficients of two new elliptic curves under these two new isogenies. They then compute the j-invariant of these curves. Unless there were errors in transmission, the j-invariant of the curve created by A will equal to the j-invariant of the curve created by B. Notationally, the SIDH key exchange between parties A and B works as follows: 1A. A generates two random integers 2A. A generates 3A. A uses the point to create an isogeny mapping and curve isogenous to 4A. applies to and to form two points on and 5A. A sends to B , and 1B - 4B: Same as A1 through A4, but with A and B subscripts swapped. 5B. B sends to A , and 6A. A has , and and forms 7A. A uses to create an isogeny mapping . 8A. A uses to create an elliptic curve which is isogenous to . 9A. A computes of the curve . 6B. Similarly, B has , and and forms . 7B. B uses to create an isogeny mapping . 8B. B uses to create an elliptic curve which is isogenous to . 9B. B computes of the curve . The curves and are guaranteed to have the same j-invariant. A function of is used as the shared key. Sample parameters The following parameters were taken as an example by De Feo et al.: p = prime for the key exchange with wA = 2, wB = 3, eA = 63, eB = 41, and f = 11. Thus p = (263·341·11) - 1. E0 = the base (starting) curve for the key exchange = y2 = x3 + x Luca De Feo, one of the authors of the paper defining the key exchange has posted software that implements the key exchange for these and other parameters. Similar systems, signatures, and