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