Gregory Maxwell
bb0ea50de8
Replace set/add with cmov in secp256k1_gej_add_ge.
...
Use a conditional move of the same kind we use for the affine points
in the storage type instead of multiplying with the infinity flag
and adding. This results in fewer constructions to worry about for
sidechannel behavior.
It also might be faster: It doesn't appear to benchmark as slower for
me at least; but I think the CMOV is faster than the mul_int + add,
but slower than the set+add; making it a wash.
2015-04-22 00:43:30 +00:00
Pieter Wuille
443cd4b8ee
Get rid of hex format and some binary conversions
2015-02-23 04:37:21 -08:00
Pieter Wuille
fcc48c4561
Remove the non-storage cmov
2015-01-25 00:56:22 -04:00
Pieter Wuille
ff889f7d90
Field storage type
2015-01-25 00:11:20 -04:00
Pieter Wuille
0768bd55a1
Get rid of variable-length hex string conversions
2015-01-24 21:52:48 -04:00
Gregory Maxwell
3627437d80
C89 nits and dead code removal.
2015-01-23 04:17:12 +00:00
Pieter Wuille
4732d26069
Convert the field/group/ecdsa constant initialization to static consts
2015-01-22 22:44:52 -05:00
Peter Dettman
49ee0dbe16
Add _normalizes_to_zero_var variant
2014-12-20 14:38:29 +01:00
Peter Dettman
eed599dd72
Add _fe_normalizes_to_zero method
2014-12-20 14:38:24 +01:00
Pieter Wuille
d7174edf5f
Weak normalization for secp256k1_fe_equal
2014-12-20 14:38:20 +01:00
Pieter Wuille
0295f0a33d
weak normalization
2014-12-20 14:38:07 +01:00
Pieter Wuille
7277fd76e2
Remove GMP field implementation
2014-12-17 12:41:31 +01:00
Pieter Wuille
6a9901e15b
Merge pull request #137
...
39bd94d
Variable time normalize (Pieter Wuille)
2014-12-07 14:35:23 +01:00
Pieter Wuille
39bd94d86d
Variable time normalize
2014-12-06 18:18:28 +01:00
Pieter Wuille
2b9388b647
Remove unused secp256k1_fe_inv_all
2014-12-05 18:13:51 +01:00
Pieter Wuille
efb7d4b299
Use constant-time conditional moves instead of byte slicing
2014-12-03 02:41:55 +01:00
Pieter Wuille
bd313f7d6e
Merge pull request #119
...
597128d
Make num optional (Pieter Wuille)
659b554
Make constant initializers independent from num (Pieter Wuille)
2014-12-02 16:42:50 +01:00
Pieter Wuille
be82e92fc4
Require that r and b are different for field multiplication.
...
Suggested by Peter Dettman, this prepares for slightly faster muitiplication
which writes results immediately to r before finishing reading b.
2014-12-01 13:40:34 +01:00
Pieter Wuille
597128d389
Make num optional
2014-12-01 12:38:38 +01:00
Pieter Wuille
f24041d6aa
Switch all EC/ECDSA logic from num to scalar
2014-11-30 23:38:01 +01:00
Pieter Wuille
d907ebc0e3
Add bounds checking to field element setters
2014-11-26 15:21:31 +01:00
Gregory Maxwell
71712b27e5
Switch to C89 comments in prep for making the whole codebase C89 compatible.
...
This should be whitespace/comment only changes and should produce the same
object code.
2014-11-15 07:33:07 -08:00
Gregory Maxwell
a4a43d7543
Reorder static to comply with C99 and switch to the inline macro.
2014-11-12 13:07:55 -08:00
Peter Dettman
f16be77ffc
Use batch inversion in G precomputation
2014-07-17 15:33:00 +07: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
Cory Fields
78cd96b151
autotools: autotools'ify libsecp256k1
2014-01-17 23:24:12 -05:00
Pieter Wuille
60442b835f
Remove 5x64 implementation - no actual benefits
2013-12-01 21:16:47 +01:00
Pieter Wuille
1487ca95c6
Field 5x64
2013-06-09 00:04:55 +02:00
Pieter Wuille
0a433ea23c
MIT License
2013-05-09 15:24:32 +02:00
Pieter Wuille
f0c89aadc6
Revamp makefile
2013-04-07 01:39:57 +02:00
Pieter Wuille
ea165f47da
Add field_gmp; only 64-bit platforms for now
2013-04-05 01:38:29 +02:00
Pieter Wuille
3231676bf9
10x26 field implementation
2013-04-02 00:10:14 +02:00
Pieter Wuille
eb0be8eec6
Final step in converting to C
2013-04-01 07:52:58 +02:00
Pieter Wuille
2d93809255
Source tree reorganization
2013-03-31 05:03:27 +02:00