diff options
authorMatthias Schiffer <>2015-10-23 18:52:10 +0200
committerMatthias Schiffer <>2015-10-23 19:00:41 +0200
commitfd6b95b7750600088699397ae5103586c63146a3 (patch)
parent5f2814e261ed76663979c0831fb89f7975911d34 (diff)
2 files changed, 45 insertions, 0 deletions
new file mode 100644
index 0000000..2ab4d4c
--- /dev/null
@@ -0,0 +1,15 @@
+libuecc v6 (in development)
+* Fixes a bug which might have caused a point's y coordinate to be negated
+ in certain circumstances when the point was stored in packed
+ representation and loaded again. It is extremely improbable that this
+ has ever actually happened, as only a small range of coordinates was
+ affected.
+* Use stdint types to clarify ABI and add support for systems with
+ sizeof(int) < 4 (this is not an ABI break in practise as all systems on
+ which libuecc has been used in the past should have int == int32_t)
+* Add point negation and subtraction functions
+* Rename all point access functions to bear a _legacy suffix (the old names
+ are still available, but marked as deprecated)
+* Add new point access functions and a new generator point that are
+ compatible with Ed25519
diff --git a/README b/README
new file mode 100644
index 0000000..6e0ec9b
--- /dev/null
+++ b/README
@@ -0,0 +1,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
+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.