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
Isis Lovecruft
8c5c1790f3
Merge remote-tracking branch 'jasondavies/fix-readme' into develop
2017-07-31 19:06:24 +00:00
Henry de Valence
720da348c0
Add size checking to multiscalar multiplication.
2017-07-30 23:54:13 -07:00
Henry de Valence
2d01aa1bf7
Add fixme note on cache awareness
2017-07-30 22:26:18 -07:00
Henry de Valence
63ee9d21ae
tweak code arrangement to keep comments together
2017-07-30 22:24:58 -07:00
Henry de Valence
aaefb90ed3
Rename k_fold_scalar_mult to multiscalar_mult
2017-07-30 22:16:22 -07:00
Henry de Valence
9c4046c3d9
Add constant-time k-fold scalar multiplication
2017-07-30 21:13:56 -07:00
Isis Lovecruft
ad53e5b60c
Add CONTRIBUTING.md
2017-07-31 03:24:41 +00:00
Henry de Valence
f72de04003
Remove unneeded imports to suppress warnings
2017-07-30 16:29:37 -07:00
Henry de Valence
77103986a3
Split field arithmetic into per-implementation files
...
Split the field arithmetic implementations into `FieldElement`,
`FieldElement32`, and `FieldElement64`. `FieldElement` is a type alias for one
of `FieldElement32` or `FieldElement64`, depending on feature selection.
`field.rs` contains tests and code which is generic with respect to the
implementation (e.g., inversions), while `field_32bit.rs` and `field_64bit.rs`
contain the implementation-specific code.
The implementation is not completely hidden, since `FieldElement32` and
`FieldElement64` are tuple structs whose elements are public; `pub(crate)`
doesn't seem to work for tuple structs.
Similarly, the constants file is split over multiple files, depending on the
implementation.
2017-07-30 16:25:42 -07:00
Henry de Valence
513ce26942
avoid 128-bit multiplications
2017-07-20 21:33:15 -07:00
Jason Davies
b49a2e55bd
Fix broken crates.io link.
2017-07-06 23:35:43 +01:00
Isis Lovecruft
2e24b251df
Merge branch 'master' into develop
2017-06-27 21:43:28 +00:00
Isis Lovecruft
732f681b95
Merge branch 'release/0.9.2'
2017-06-27 21:43:21 +00:00
Isis Lovecruft
beb15b8807
Bump curve25519-dalek version to 0.9.2.
2017-06-27 20:47:45 +00:00
Isis Lovecruft
4608193206
Merge remote-tracking branch 'chain/subtle-no-std-fix' into develop
2017-06-27 20:44:09 +00:00
Tony Arcieri
bdcfc30fe8
Only pull in subtle's std feature if "std" is enabled
...
Otherwise subtle implicitly pulls in std because it's a default feature
2017-06-27 11:04:45 -07:00
Isis Lovecruft
8d1de2f1ba
Merge branch 'master' into develop
2017-06-26 20:41:53 +00:00
Isis Lovecruft
010e1f8dec
Merge branch 'release/0.9.1'
2017-06-26 20:41:39 +00:00
Isis Lovecruft
8374fa3000
Bump generic-array version to ^0.8.
2017-06-26 20:31:37 +00:00
Isis Lovecruft
d7b3329780
Bump curve25519-dalek version to 0.9.1.
2017-06-26 20:27:22 +00:00
Isis Lovecruft
493786db35
Merge remote-tracking branch 'doomrobo/patch-1' into develop
2017-06-26 20:21:32 +00:00
Isis Lovecruft
4e63cbfe4c
Merge remote-tracking branch 'chain/no_std-fix' into develop
2017-06-26 20:14:38 +00:00
Isis Lovecruft
5c62c424d7
Merge branch 'feature/subtle-new-crate' into develop
2017-06-26 20:11:48 +00:00
Michael Rosenberg
74b80b227e
Update sha2 and digest deps
2017-06-26 10:20:07 -04:00
Tony Arcieri
d9742c2367
Switch from libcollections to liballoc (gated on an "alloc" feature)
...
libcollections was recently merged into liballoc:
https://github.com/rust-lang/rust/pull/42648
I went ahead and also added an "alloc" feature which no_std users can use to opt
into liballoc features (i.e. any code using Vec). This should have no effect on
anything but no_std usage. It does make it possible for people without
allocators to use curve25519-dalek if they want though. Might be nice for
"bare metal" development.
All that said, from what I can gather liballoc, while not "stable", should
likely stick around for the forseeable future.
Some backstory on the liballoc/libcollections merge here:
https://github.com/rust-lang/rust/pull/42565
2017-06-19 16:59:45 -07:00
Isis Lovecruft
4bcf8bed9d
Move subtle to its own crate.
2017-05-31 21:20:56 +00:00
Isis Lovecruft
b2470cb7b9
Merge branch 'feature/subtle' into develop
2017-05-31 02:05:00 +00:00
Isis Lovecruft
161c0cd96d
Add a doctest for subtle::bytes_equal().
2017-05-31 01:31:40 +00:00