Commit graph

30 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
a0751e06dc Fix loading of packed points in edge case
The parity bit was not handled correctly when the squeezed value of Y is
not fully reduced.
2015-10-17 06:29:22 +02:00
a20ecf69d8 Fix another comment typo 2015-10-09 18:26: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
89f8a35c71 Remove some unnecessary squeeze() calls
As only the subtrahend in a sub() call needs to be squeezed, the squeeze
can be skipped in these cases.
2015-10-03 18:57:41 +02:00
320daa4838 Improve documenation of internal functions 2015-10-03 18:57:27 +02:00
55178f5f41 Fix typo in comment 2015-10-03 15:40:23 +02:00
16636d4f90 Add comments clarifying when subtractions without squeeze are valid 2015-10-03 13:35:59 +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
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
5dff3b368f Add some Doxygen documentation 2012-12-08 12:11:28 +01:00
bccf64ec1b Reworked the API 2012-12-07 19:07:37 +01: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
a3345c7d5b Code cleanup 2012-03-14 06:37:19 +01:00
50019f858f Fixed square_root() 2012-03-14 06:35:12 +01:00
0f4ce2313c Formatting improvements 2012-03-14 05:02:35 +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
b45baaba78 Correctly rename all functions to match header file 2012-03-13 00:26:33 +01:00
999ae91ffd Initial version 2012-03-13 00:18:43 +01:00