Isis Lovecruft
7b378ada6b
Rephrase doc note on exceptional projective Montgomery points.
2017-10-05 01:46:42 +00:00
Isis Lovecruft
5e6e6c3fa8
Eliminate extra inversions in MontgomeryPoint.ct_eq().
2017-10-05 01:32:44 +00:00
Isis Lovecruft
7e4fd5677c
Add tests and benchmark for MontgomeryPoint.ct_eq().
2017-10-05 01:26:15 +00:00
Isis Lovecruft
d39cb275c5
Remove DecafPoint.to_edwards() method.
2017-10-05 00:56:40 +00:00
Isis Lovecruft
cb98a23230
Change Cargo.toml to use subtle-0.3.0.
2017-10-05 00:51:42 +00:00
Isis Lovecruft
49f8781681
Revert "Use subtle branch with ConditionallySwappable trait for now."
...
This reverts commit d86fcd4e17 .
2017-10-05 00:49:49 +00:00
Isis Lovecruft
c08591a7d8
Improve documentation for Mongomery code.
2017-10-04 07:31:11 +00:00
Isis Lovecruft
eda4abbea8
Merge branch 'feature/private-limbs' into develop
2017-10-02 00:21:53 +00:00
Isis Lovecruft
ecef4d836e
Make FieldElement limbs private to the curve25519-dalek crate.
...
Limbs are no longer accessible outside of the curve25519-dalek crate.
If you were relying on this behaviour, first you probably shouldn't be
doing that, second please contact us so we can determine the best way
forward for your use case.
2017-10-01 23:36:57 +00:00
Andrew Moon
7e53499a10
optimized scalar implementations for 32/64 bit
2017-09-24 22:24:35 -05:00
Henry de Valence
e27bcd0057
Merge remote-tracking branch 'briansmith/addition-chain' into develop
2017-09-15 16:16:11 -07:00
Isis Lovecruft
d86fcd4e17
Use subtle branch with ConditionallySwappable trait for now.
2017-09-14 04:55:12 +00:00
Isis Lovecruft
6be10341e2
Add benchmarks for Mongomery point (de)compression and laddering.
2017-09-14 04:55:11 +00:00
Isis Lovecruft
2939d26b5c
Remove direct compression methods between points in curve models.
...
compress_edwards() is now named compress() and works only on points
which are in Edwards form. Similarly, compress_montgomery() is now
also called compress(), and it only works on point already in
Mongomery form.
To switch between forms, use to_montgomery().
Conversion from Montgomery directly to Edwards is not yet implemented.
* CHANGE the API requested in
https://github.com/isislovecruft/curve25519-dalek/issues/47 ,
hopefully for the better.
2017-09-14 04:55:11 +00:00
Isis Lovecruft
acd3826fe2
Implement Montgomery arithmetic and laddering.
...
* ADDs part of https://github.com/isislovecruft/curve25519-dalek/issues/47
2017-09-14 02:09:14 +00:00
Brian Smith
7ed9eb8617
Replace one multiplication with a squaring in scalar inversion.
...
This brings the code up to date with the 2017-09-04 version of
the source article.
2017-09-04 09:45:13 -10:00
Brian Smith
028140bb33
Reformat addition chain window building code to better show pattern.
...
Make the 2 digit, `_10`, the first argument to more closely match the
Haskell code in the source article. Align the code into columns to
further clarify the patterns.
2017-09-04 09:23:27 -10:00
Brian Smith
91a7c641c2
Use more efficient addition chain for scalar inversion.
...
Use the addition chain from
https://briansmith.org/ecc-inversion-addition-chains-01#curve25519_scalar_inversion .
In my benchmarking, this consistently runs at least 20% faster.
2017-09-03 17:00:42 -10:00
Henry de Valence
5494648718
Merge remote-tracking branch 'khyperia/invert_using_square' into develop
2017-08-24 20:54:40 -07:00
khyperia
6747133519
Optimize scalar inversion by implementing square()
...
This shows an 11% speedup for invert()
2017-08-21 21:35:26 -07:00
Isis Lovecruft
f6483697d6
Merge branch 'master' into develop
2017-08-15 05:15:42 +00:00
Isis Lovecruft
ae4660db3e
Merge branch 'release/0.11.0'
2017-08-15 05:14:54 +00:00
Isis Lovecruft
17290db44c
Update copyright/license headers in source files.
2017-08-15 05:09:20 +00:00
Isis Lovecruft
463b64f8d3
Merge branch 'master' into develop
2017-08-15 05:00:33 +00:00
Isis Lovecruft
84b7d8698f
Merge branch 'release/0.11.0'
2017-08-15 05:00:25 +00:00
Isis Lovecruft
f1a1886d96
Bump dalek to 0.11.0.
2017-08-15 04:53:28 +00:00
Isis Lovecruft
911b71ae27
Bump arrayref to 0.3.4.
2017-08-15 04:47:19 +00:00
Henry de Valence
f2dddcd469
Merge branch 'feature/differentiated-names-for-points-and-tables' into develop
2017-08-14 00:22:44 -07:00
Henry de Valence
c29103d109
Rename _BASEPOINT to _BASEPOINT_POINT.
...
Having _BASEPOINT_TABLE and _BASEPOINT_POINT means that it's not possible to
use the slow, generic scalar mult in place of the fast, precomputed scalar
mults.
2017-08-14 00:20:18 -07:00
Henry de Valence
9c7f419ead
Merge branch 'bugfix/pub-ify-to-extended' into develop
2017-08-14 00:01:27 -07:00
Henry de Valence
afecd4f438
Fixup types and publication
2017-08-13 23:57:57 -07:00
Henry de Valence
829e6a6453
Merge branch 'feature/split-edwards-montgomery-modules' into develop
2017-08-02 23:08:58 -07:00
Henry de Valence
ea845b4163
Fix missing import in tests
2017-08-02 23:08:46 -07:00
Henry de Valence
75c436bd36
Merge branch 'feature/split-edwards-montgomery-modules' into develop
2017-08-02 23:03:18 -07:00
Henry de Valence
3dddecb4a8
Move Montgomery code to a montgomery.rs module
2017-08-02 22:58:15 -07:00
Henry de Valence
8ad02e2f57
Move curve.rs to edwards.rs
2017-08-02 22:35:12 -07:00
Henry de Valence
9d20a4aca0
Merge remote-tracking branch 'isis/develop' into develop
2017-08-02 18:03:59 -07:00
Isis Lovecruft
2d15619c6c
Add DecafPoint.to_bytes().
2017-08-01 19:30:51 +00:00
Isis Lovecruft
fa481903d3
Merge branch 'master' into develop
2017-08-01 03:07:16 +00:00
Isis Lovecruft
4e5ae5ef36
Merge branch 'release/0.10.0'
2017-08-01 03:06:35 +00:00
Isis Lovecruft
65525313e8
Update TODO section of README.
2017-08-01 03:03:11 +00:00
Isis Lovecruft
cbf3f6d8c2
Bump dalek version to 0.10.0.
2017-08-01 03:02:47 +00:00
Isis Lovecruft
4d8c18fff3
Add documentation warnings on FieldElement32 and FieldElement64.
2017-08-01 02:46:14 +00:00
Isis Lovecruft
2c86589939
Merge remote-tracking branch 'hdevalence/feature/fix-licence' into develop
2017-08-01 02:45:17 +00:00
Isis Lovecruft
0043c444ab
Merge branch 'feature/use-subtle-0.2' into develop
2017-08-01 02:43:18 +00:00
Isis Lovecruft
f2883028dc
Use subtle version 0.2.0.
...
* CLOSES PR#66 https://github.com/isislovecruft/curve25519-dalek/pull/66
2017-08-01 02:22:43 +00:00
Henry de Valence
4060059b40
Fix licence
2017-07-31 19:08:30 -07:00
Henry de Valence
b4d818273d
Merge remote-tracking branch 'isis/develop' into develop
2017-07-31 19:08:05 -07:00
Isis Lovecruft
7202ab8e63
Merge remote-tracking branch 'hdevalence/feature/constant-time-k-fold-scalar-mult' into develop
2017-08-01 01:51:58 +00:00
Henry de Valence
ddaf602a09
Add multiscalar_mult to Decaf.
2017-07-31 18:40:53 -07:00