summaryrefslogtreecommitdiffstats
path: root/README
blob: 6e0ec9b08b6d7aebac272c749569aadef9cd0dbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
libuecc is a very small generic-purpose Elliptic Curve Cryptography library
compatible with Ed25519.

Most documentation can be found as Doxygen comments in the ecc.h header
file. You can use `make doxygen` after running CMake to create HTML
documenation from it.

There are two sets of functions converting between libuecc's internal point
representation and coordinates or compressed representation. The functions
ending with _ed25519 use the same representation as original Ed25519
implementation and should be used by new software. The functions with the
suffix _legacy are provided for compatiblity with libuecc version before
v6.

Ed25519 and the legacy representation are isomorphic, they use a Twisted
Edwards Curve

    ax^2 + y^2 = 1 + dx^2y^2

over the prime field for p = 2^255 - 19.

Ed25519 uses the parameters

    a = -1 and
    d = -(121665/121666),

while the legacy curve has

    a = 486664
    d = 486660.