Crate curve25519_dalek [] [src]


A Rust implementation of field and group operations on an Edwards curve over GF(2255 - 19).

[SPOILER ALERT] The Twelfth Doctor's first encounter with the Daleks is in his second full episode, "Into the Dalek". A beleaguered ship of the "Combined Galactic Resistance" has discovered a broken Dalek that has turned "good", desiring to kill all other Daleks. The Doctor, Clara and a team of soldiers are miniaturized and enter the Dalek, which the Doctor names Rusty. They repair the damage, but accidentally restore it to its original nature, causing it to go on the rampage and alert the Dalek fleet to the whereabouts of the rebel ship. However, the Doctor manages to return Rusty to its previous state by linking his mind with the Dalek's: Rusty shares the Doctor's view of the universe's beauty, but also his deep hatred of the Daleks. Rusty destroys the other Daleks and departs the ship, determined to track down and bring an end to the Dalek race.



This module contains various constants (such as curve parameters and useful field elements like sqrt(-1)), as well as lookup tables of pre-computed points.


Group operations for Curve25519, in the form of the twisted Edwards curve -x²+y²=1+dx²y² modulo p=2²⁵⁵-19 with parameter d=-121665/121666.


Field arithmetic for ℤ/(2²⁵⁵-19).


Montgomery arithmetic.


Arithmetic for scalar multiplication.


Miscellaneous common utility functions.