From fd6b95b7750600088699397ae5103586c63146a3 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 23 Oct 2015 18:52:10 +0200 Subject: Add README and CHANGELOG --- CHANGELOG | 15 +++++++++++++++ README | 30 ++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 CHANGELOG create mode 100644 README diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..2ab4d4c --- /dev/null +++ b/CHANGELOG @@ -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 +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. -- cgit v1.2.3