Isis Lovecruft
0c38718346
Rename subtle::arrays_equal_ct() to subtle::arrays_equal().
...
It's already obvious that it's constant-time because it's in the subtle
module.
2017-05-26 22:35:45 +00:00
Isis Lovecruft
9a9959061d
Merge remote-tracking branch 'hdevalence/feature/clippy-fixes' into develop
2017-05-06 00:16:09 +00:00
Henry de Valence
cb656bafa7
Delete bytes_equal_less_than
...
This function is unused and untested. It's also incorrect, since the loop
32..0 iterates over an empty range. Remove it for now; if we need it later, it
still lives in the history.
2017-04-25 15:08:59 -07:00
Henry de Valence
57c96616b9
Remove unused import
2017-04-25 14:50:59 -07:00
Henry de Valence
e00cd114d7
Have radix 25.5 reduce() consume its argument
2017-04-02 23:46:01 +02:00
Henry de Valence
162dfc8331
Remove clones on Copy types
2017-04-02 23:45:34 +02:00
Henry de Valence
3705346afa
Remove unnecessary returns
2017-04-02 23:39:45 +02:00
Henry de Valence
7f4b96150d
Remove explicit lifetimes
2017-04-02 23:36:05 +02:00
Henry de Valence
c8e7e22ddf
Remove unnecessary returns
2017-04-02 23:28:01 +02:00
Henry de Valence
73e172484c
Add tick marks around code items in docs
2017-04-02 23:12:18 +02:00
Isis Lovecruft
d549fdc8f9
Whitespace fixes.
2017-03-17 21:42:40 +00:00
Henry de Valence
2f5b9e198c
Remove warnings from load3/load4 and load8 functions
2017-03-14 01:05:31 -07:00
Isis Lovecruft
6991b4264b
Merge remote-tracking branch 'hdevalence/feature/64bit-multiplication_r3' into develop
2017-03-14 04:23:11 +00:00
Isis Lovecruft
f6930997d2
Make #[feature(test)] depend on #[cfg(all(test, feature = "bench"))].
...
* FIXES Issue #38 :
https://github.com/isislovecruft/curve25519-dalek/pull/38
2017-03-14 01:59:08 +00:00
Isis Lovecruft
cb3b3144be
Remove prefix from field tests.
2017-03-14 01:11:54 +00:00
Isis Lovecruft
904911e2b8
Move field module benchmarks to separate module.
2017-03-14 01:11:03 +00:00
Henry de Valence
cf9f9aa402
Enable radix_51 on nightly
2017-03-13 17:04:37 -07:00
Henry de Valence
45cc82d258
Move multiply() into the Mul impl
2017-03-13 16:38:05 -07:00
Henry de Valence
f11c97e75c
Remove obsolete test code
2017-03-13 16:38:05 -07:00
Henry de Valence
d2a51197d7
Add a carry-reduction during subtraction.
2017-03-13 16:38:05 -07:00
Henry de Valence
e1d3281c2d
Add debug asserts for multiplication preconditions.
2017-03-13 16:38:05 -07:00
Henry de Valence
9524c079ee
Reduce mod p in radix51 to_bytes
2017-03-13 16:38:05 -07:00
Henry de Valence
0fa8d8f4a7
Reduce to narrower range before to_bytes
2017-03-13 16:38:05 -07:00
Henry de Valence
24f11427a1
Add 2p to avoid underflows
2017-03-13 16:38:05 -07:00
Henry de Valence
a9cbca668b
Implement squaring for radix51
2017-03-13 16:38:05 -07:00
Henry de Valence
df080411e0
Implement multiply() for radix51
2017-03-13 16:38:05 -07:00
Henry de Valence
d6465ccd5e
Fix remaining compile errors for radix_51
2017-03-13 16:38:05 -07:00
Henry de Valence
147b9d90b8
Revert "Add radix51 impl of reduce"
...
This reverts commit 488e886d1e1b11400dedc6c41e7108e34c6747cc.
2017-03-13 16:38:05 -07:00
Henry de Valence
75baefabeb
Stub remaining radix_51 functions with unimplemented!()
2017-03-13 16:38:05 -07:00
Henry de Valence
b515e43dfd
Move to_bytes_64 to to_bytes for radix51
2017-03-13 16:38:05 -07:00
Henry de Valence
7591c74018
Add radix51 impl of reduce
2017-03-13 16:38:05 -07:00
Henry de Valence
08ac5a9068
Add radix51 impl of from_bytes
2017-03-13 16:38:05 -07:00
Henry de Valence
7f8b3fe594
Rename combine_coeffs to reduce
2017-03-13 16:38:05 -07:00
Henry de Valence
f16f5d1e73
Add minus_one for radix51
2017-03-13 16:38:05 -07:00
Henry de Valence
3eab4acbd8
Add p constant for subtraction
2017-03-13 16:38:05 -07:00
Henry de Valence
4ef22b679c
Implement sub_assign for radix_51
2017-03-13 16:38:05 -07:00
Henry de Valence
87001f9d6e
Add utility for extracting constants in the new repr
2017-03-13 16:38:05 -07:00
Henry de Valence
4db735ca44
Add subtraction stub
2017-03-13 16:38:05 -07:00
Henry de Valence
eb66088cb9
Add to/from bytes for radix 51
2017-03-13 16:38:05 -07:00
Henry de Valence
afd42a4628
More feature-gating
2017-03-13 16:38:05 -07:00
Henry de Valence
a884260341
Add radix_51 and radix_25_5 features and start feature-gating
2017-03-13 16:38:05 -07:00
Henry de Valence
3a55a2f410
Add a test for radix-51 multiplication
2017-03-13 16:36:32 -07:00
Henry de Valence
92bf47f990
Clean up field tests
2017-03-13 16:36:32 -07:00
Henry de Valence
97b60d61ab
draft of 64-bit multiplication
2017-03-13 16:36:32 -07:00
Isis Lovecruft
1f871ea0a0
Obsessive whitespace fix.
2017-03-10 02:36:01 +00:00
Henry de Valence
45fbcb45f6
First notes and code on Montgomery conversion
2017-02-27 13:41:50 -08:00
Henry de Valence
d450659b7f
Rewrite CompressedEdwardsY::decompress() to use FieldElement::sqrt_ratio
2017-02-22 20:59:51 -08:00
Henry de Valence
1febf3f753
Add an invsqrt_ratio function.
2017-02-22 20:59:50 -08:00
Henry de Valence
a202f36916
Rewrite invsqrt to avoid using an Option type.
2017-02-22 16:24:11 -08:00
Henry de Valence
a415caa9fb
Add a seperate invsqrt function.
...
This code isn't constant-time, but maybe should be. However that would
prevent a bunch of nice things (e.g., Option types). Probably good to
think about this.
2017-02-21 13:38:58 -08:00