diff options
-rw-r--r-- | CHANGELOG | 15 | ||||
-rw-r--r-- | README | 30 |
2 files changed, 45 insertions, 0 deletions
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 @@ -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. |