Commit graph

50 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
0a08c04b0d libuecc v5 2015-01-26 19:41:00 +01:00
ceddc2c2ce Update doxygen support 2015-01-26 19:40:28 +01:00
1591dbfc4d Make default base and identity points accessible 2015-01-26 06:00:20 +01:00
2320e02317 Add a better explanation to ecc_25519_gf_sanitize_secret() 2015-01-26 05:53:39 +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
caf543ccfd libuecc v4 2013-12-26 22:06:39 +01:00
f2ca23547e Use LIB_SUFFIX in pkg-config information 2013-12-26 06:01:01 +01:00
85aa5199d2 Add -Wall to COMPILE_FLAGS 2013-10-28 00:16:38 +01:00
38f32789b1 Update Doxyfile.in 2013-10-27 19:12:44 +01:00
baebc99c0b Remove deprecated definitions 2013-10-27 19:09:02 +01:00
894ecf6913 Respect LIB_SUFFIX 2013-10-27 19:04:57 +01:00
32d40ef190 Build a shared library as well 2013-10-27 19:04:13 +01:00
c30aa7087c libuecc v3 2013-01-09 10:19:30 +01:00
a88af14481 Check points for validity on load 2013-01-09 10:18:39 +01:00
131597e511 Add pkg-config file, prepare release 2 2012-12-23 19:37:56 +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
c6f33a891f Fix ecc_25519_gf_is_zero 2012-12-09 03:55:33 +01:00
d072ec9de1 Add the order of the base point to the public API 2012-12-08 12:15:49 +01:00
5dff3b368f Add some Doxygen documentation 2012-12-08 12:11:28 +01:00
9aae1f4177 Reduce before reciprocation 2012-12-07 20:47:51 +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
f67c3f36b9 Use the same key sanitization as Curve25519 2012-03-28 22:57:16 +02: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
a3743a365a Simplyfy secret add, subtract and reduce functions 2012-03-15 08:48:18 +01:00
20529b77df Improve modular multiplication performance 2012-03-15 07:24:00 +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