Commit graph

23 commits

Author SHA1 Message Date
5f2814e261 Add support for the Ed25519 curve 2015-10-17 18:09:32 +02:00
5f143b1c29 Add _legacy suffix to functions accessing points in compressed/coordinate representation 2015-10-17 06:32:06 +02:00
256e972b36 Add Ed25519-compatible generator point
The old point is renamed, as it isn't the only default point anymore. The
old name and functions using the old point are deprecated now.
2015-10-17 06:32:06 +02:00
c917cec3ef Use stdint types where reasonable
Using uint32_t instead of unsigned int for the unpacked work struct ensures
the code is working correctly on ABIs with ints narrower than 32 bits.

While this would constitute a API/ABI change on some systems in theory,
most likely all systems using libuecc so far have uint8_t == unsigned char
and uint32_t == unsigned int.

Also, coding style cleanup.
2015-10-06 21:16:36 +02:00
962888f03f Add functions for point negation and subtraction 2015-10-02 20:57:19 +09:00
a68abb34c2 Move documentation comments for public API to the public header
This makes the documentation more accessible, as the header now contains
all information regarding the usage of the API, and it is not necessary to
generate the Doxygen documentation anymore for that.
2015-10-02 20:07:45 +09:00
1591dbfc4d Make default base and identity points accessible 2015-01-26 06:00:20 +01:00
68821f6b8f Update copyright years 2015-01-26 05:45:45 +01:00
1a5fdede16 Add reduced-bitlength scalar multiplication 2015-01-22 21:25:25 +01:00
baebc99c0b Remove deprecated definitions 2013-10-27 19:09:02 +01:00
a88af14481 Check points for validity on load 2013-01-09 10:18:39 +01:00
9d875f0418 Lots of code documentation 2012-12-23 19:17:28 +01:00
9c832519c6 Change type names to follow the _t convention, add `deprecated' attribute 2012-12-22 22:12:03 +01:00
d072ec9de1 Add the order of the base point to the public API 2012-12-08 12:15:49 +01:00
80db8a2f72 Add GF reciprocal function 2012-12-07 20:11:54 +01:00
bccf64ec1b Reworked the API 2012-12-07 19:07:37 +01:00
f1d5eb1da9 Add ecc_25519_secret_sanitize stub implementation 2012-03-25 19:44:26 +02:00
89d237f36b Switch from inverted to extended coordinate representation
In inverted coordinates there are 4 points that aren't representable correctly. Avoid this problem by using the extended coordinate representation, in which an add+double operation has essentially the same performance as in the inverted representation.
2012-03-17 15:15:02 +01:00
3ea1ba496e For Edwards curves, the identity element isn't at infinity, so rename the identity check function accordingly 2012-03-16 20:59:33 +01:00
eec9db5e4d Some more renamed, some utility functions 2012-03-14 10:47:16 +01:00
6c37af4a76 More renames, added secret key arithmetic 2012-03-14 04:15:02 +01:00
fb00f40057 Some renames, fix load function, add default base 2012-03-13 05:56:19 +01:00
999ae91ffd Initial version 2012-03-13 00:18:43 +01:00