16 Commits

Author SHA1 Message Date
Pieter Wuille
9338dbf791 Branch-free point addition 2014-11-11 14:28:22 -08:00
Pieter Wuille
da55986fdf Label variable-time functions correctly and don't use those in sign 2014-11-04 02:50:06 -08:00
Gregory Maxwell
2f6c801911
Try to not leave secret data on the stack or heap.
This makes a basic effort and has not been audited.
Doesn't appear to have a measurable performance impact on bench.

It also adds a secp256k1_num_free to secp256k1_ecdsa_pubkey_create.
2014-08-14 07:06:36 -07:00
Peter Dettman
f16be77ffc Use batch inversion in G precomputation 2014-07-17 15:33:00 +07:00
Pieter Wuille
4d79bebdff Do not free endomorphism constants when disabled 2014-06-15 23:31:17 +02:00
Peter Dettman
09ca4f32e2 secp256k1_fe_sqrt checks for success
- secp256k1_fe_sqrt now checks that the value it calculated is actually a square root.
- Add return values to secp256k1_fe_sqrt and secp256k1_ge_set_xo.
- Callers of secp256k1_ge_set_xo can use return value instead of explicit validity checks
- Add random value tests for secp256k1_fe_sqrt
2014-05-21 10:22:14 +07:00
Pieter Wuille
399c03f227 Make endomorphism optimization optional 2013-12-01 21:06:20 +01:00
Pieter Wuille
d0b33489f2 Break malleability by producing S <= order/2 2013-09-19 00:58:42 +02:00
Pieter Wuille
0a433ea23c MIT License 2013-05-09 15:24:32 +02:00
Pieter Wuille
764332d05d Make pubkeys, set_xo, ... ge instead of gej 2013-05-05 01:18:23 +02:00
Pieter Wuille
f491cd35df Make constants constant 2013-04-30 15:57:40 +02:00
Pieter Wuille
7fef66199e Some group.h comments 2013-04-03 00:58:51 +02:00
Pieter Wuille
eb0be8eec6 Final step in converting to C 2013-04-01 07:52:58 +02:00
Pieter Wuille
f11ff5be70 Third step in converting to C: group 2013-03-31 17:02:52 +02:00
Pieter Wuille
254327e49a Begin group C interface + start/stop 2013-03-31 06:36:03 +02:00
Pieter Wuille
2d93809255 Source tree reorganization 2013-03-31 05:03:27 +02:00