7c9a6f6af0
libuecc v7
2016-03-27 01:37:26 +01:00
3eb02ade40
Update CHANGELOG
2016-03-19 14:02:43 +01:00
b5b4697c1c
Improve ecc_25519_scalarmult_base documentation
2016-03-19 13:59:30 +01:00
bb87f7b0e8
Optimize ecc_25519_scalarmult_base
...
We can elide one multiplication assuming that Z == 1 for the default base.
2016-03-19 00:51:39 +01:00
26cbc55f78
Switch internal point representation to the Ed25519 curve
...
The Ed25519 curve allows slightly more efficient addition.
2016-03-19 00:51:31 +01:00
5ade164170
Deprecate ecc_25519_work_base_ed25519 and ecc_25519_work_base_legacy
...
The deprecation of ecc_25519_work_default_base and
ecc_25519_scalarmult_base{,_bits} is reverted, as the Ed25519 and legacy
base points are represented in the same way now.
2016-03-18 15:12:46 +01:00
740355d5dd
Unify legacy and Ed25519 base point by negating conversion factors
2016-03-18 15:03:46 +01:00
bb4fcb9328
libuecc v6
2015-10-25 16:01:42 +01:00
fd6b95b775
Add README and CHANGELOG
2015-10-23 19:00:41 +02:00
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