Commit graph

451 commits

Author SHA1 Message Date
Isis Lovecruft
29f9090411
Fix two typos in docstrings for constants. 2017-10-05 02:23:34 +00:00
Isis Lovecruft
9da24d8afa
Add test for Montgomery ladder with a scalar with high bit set. 2017-10-05 02:15:28 +00:00
Isis Lovecruft
ca5b58c2b7
Clarify doc note on degenerate cases for differential addition. 2017-10-05 01:54:26 +00:00
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
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
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
Henry de Valence
d2ce1ce5dc Revert "Add size checking to multiscalar multiplication."
This reverts commit 720da348c0.

Unfortunately, iter::chain on two ExactSizeIterators does not produce an ExactSizeIterator, for reasons described here: https://github.com/rust-lang/rust/issues/34433 .
2017-07-31 18:23:26 -07:00
Isis Lovecruft
f718a64d00
Merge remote-tracking branch 'hdevalence/feature/better-fieldelement-impl-handling' into develop 2017-07-31 20:51:53 +00:00
Isis Lovecruft
e619511881
Merge branch 'master' into develop 2017-07-31 19:42:16 +00:00
Isis Lovecruft
d0e332e36f
Merge branch 'release/0.9.3' 2017-07-31 19:42:10 +00:00
Isis Lovecruft
1388f91925
Bump curve25519-dalek version to 0.9.3. 2017-07-31 19:40:17 +00:00
Isis Lovecruft
511e9aab8a
Merge remote-tracking branch 'hdevalence/feature/64bit-precomputation' into develop 2017-07-31 19:10:13 +00:00