pyca/ed25519 — pull request #14 by gnprice (2013-10-05 21:31:37+00:00)
Title: Switch to extended coordinates

This makes things faster; about 39x faster for verification on my machine.

We pass to homogeneous coordinates and add an auxiliary coordinate, so
a point P = (x, y) is represented now as (X : Y : Z : T), where
x = X/Z, y = Y/Z, xy = T/Z. The homogeneous coordinates allow us to
avoid any inversion in the Edwards addition, and the auxiliary
coordinate T saves another multiply or so.

Patch supplied by Mike Hamburg against upstream
ed25519.py. He released his modifications into the public domain.
I rebased and added the short comment and this commit message.