Commit graph

2349 commits

Author SHA1 Message Date
Henry de Valence
d29618ca2e
Merge pull request #145 from tarcieri/rand-0-5
Upgrade rand to (non-pre)release version 0.5
2018-06-03 11:47:26 -07:00
Tony Arcieri
42430f1a1f Upgrade rand to (non-pre)release version 0.5
It was previously using pre-release version 0.5.0-pre.2
2018-06-02 11:17:10 -07:00
Isis Lovecruft
a7c318da6e
Fix benchmarks to use new rand_core traits. 2018-05-30 21:01:21 +00:00
Isis Lovecruft
196fd24b63
Update README to explain features and update benches. 2018-05-30 20:59:44 +00:00
Jake McGinty
715208e0eb use production rand 0.5 release 2018-05-22 22:44:31 -07:00
Isis Lovecruft
115174df19
Merge branch 'feature/remove-unnecessary-std' into develop 2018-05-16 22:24:06 +00:00
Isis Lovecruft
47c1d869ec
Make key generation work with no_std. 2018-05-16 22:09:31 +00:00
Isis Lovecruft
85a3776d27
Collapse part of the .travis build matrix. 2018-05-16 19:56:09 +00:00
Isis Lovecruft
44b3a32598
Merge branch 'feature/update-curve25519-dalek-0.17' into develop 2018-05-16 19:54:40 +00:00
Isis Lovecruft
3a54e970a6
Change travis config to test various backends. 2018-05-16 19:47:35 +00:00
Isis Lovecruft
f6a631c229
WIP Update curve25519-dalek dependency to 0.17. 2018-05-15 23:34:01 +00:00
Isis Lovecruft
f76e08deec
Add syntax highlighting to README. 2018-05-15 23:00:27 +00:00
Isis Lovecruft
ba0bf47492
Update links in README to point to new github org. 2018-05-15 23:00:06 +00:00
Isis Lovecruft
bd8a546b13
Merge branch 'master' into develop 2018-05-15 22:53:03 +00:00
Isis Lovecruft
d1e6f3a968
Merge branch 'release/0.2.0' 2018-05-15 22:52:49 +00:00
Isis Lovecruft
d80bd7094f
Bump x25519-dalek version to 0.2.0. 2018-05-15 22:51:53 +00:00
Isis Lovecruft
3a0b35dc38
Add backend options to travis.yml build matrix. 2018-05-15 21:51:31 +00:00
Isis Lovecruft
b13417e82c
Expose backend options from curve25519-dalek. 2018-05-15 21:48:01 +00:00
Isis Lovecruft
5f608f9218
Merge branch 'feature/benches' into develop 2018-05-15 21:01:16 +00:00
Isis Lovecruft
d0c4da85e8
Update rand dependency to 0.5.0-pre.2. 2018-05-15 21:00:28 +00:00
Isis Lovecruft
3b825e7a32
Merge branch 'master' into develop 2018-05-15 20:59:24 +00:00
Isis Lovecruft
32288e8625
Merge branch 'release/0.17.0' 2018-05-15 20:59:23 +00:00
Isis Lovecruft
3e9a5db419
Update curve25519-dalek dependency to 0.17. 2018-05-15 20:41:39 +00:00
Isis Lovecruft
337de2a204
Bump curve25519-dalek version to 0.17.0. 2018-05-15 20:39:01 +00:00
Isis Lovecruft
26ae887262
Merge remote-tracking branch 'mcginty/curve25519-0.16' into develop 2018-05-15 20:30:31 +00:00
Isis Lovecruft
1b2f382e66
Merge remote-tracking branch 'oleganza/no-default-features-in-curve25519' into develop 2018-05-15 20:28:09 +00:00
Isis Lovecruft
9a89a217f8
Merge remote-tracking branch 'dalek/multiscalar-trait-without-precomputation_r1' into develop 2018-05-15 20:23:05 +00:00
Isis Lovecruft
325cdcad2a
Merge remote-tracking branch 'dalek/rand-0.5' into develop 2018-05-15 20:21:01 +00:00
Henry de Valence
bbb64312f7 Use rand 0.5
Requires `0.5.0-pre.2`, which adds `impl CryptoRng for OsRng`.
2018-05-15 12:30:28 -07:00
Henry de Valence
bab642c5af Add doc comments 2018-05-15 11:33:38 -07:00
Henry de Valence
2eed24109e Move double-base scmul to the EdwardsPoint type 2018-05-15 11:33:38 -07:00
Henry de Valence
149c5004e8 Use multiscalar traits for the backend implementations. 2018-05-15 11:33:38 -07:00
Henry de Valence
e3bf9b0213 Add MultiscalarMul and VartimeMultiscalarMul traits.
These traits have the same interface, but with different names, so that it's
not possible to use them interchangeably.  (Constant-time and variable-time
routines should not be used interchangeably).

This commit changes the external API to use these traits, replacing
```
edwards::multiscalar_mul
edwards::vartime::multiscalar_mul
```
with
```
EdwardsPoint::multiscalar_mul (as an impl)
EdwardsPoint::vartime_multiscalar_mul (as an impl)
```
and similarly for Ristretto.

Refactoring the backend is for a later commit.

Multiscalar multiplication with precomputation is for a later commit.

The `edwards::vartime` module is retained since it's used for
`vartime_double_base_scalar_mul`.

It should be subsumed into the precomputation API in a later commit.
2018-05-15 11:33:38 -07:00
Isis Lovecruft
83280ca181
Fix travis no_std builds after merging #143. 2018-05-15 02:56:29 +00:00
Isis Lovecruft
32b561013f
Merge remote-tracking branch 'dalek/select-backend-in-build.rs' into develop 2018-05-15 02:27:41 +00:00
Henry de Valence
34c43c20a9 Rework backend selection code.
Each backend can now be selected by an individual feature:

- `u32_backend` for `backend::u32`;
- `u64_backend` for `backend::u64`;
- `avx2_backend` for `backend::avx2`;

The `u64_backend` is selected by default, since most people use X64 and we have
no way to select based on target (see discussion in #126).  However, these
changes mean that it is possible to select the backend explicitly, and if we
had the ability to select target-default features, we could do so easily.
2018-05-14 17:43:54 -07:00
Henry de Valence
9b6c932635 Rename 'precomputed_tables' to the more accurate 'stage2_build' 2018-05-14 15:41:45 -07:00
Henry de Valence
615095817b Merge branch 'master' into develop 2018-05-10 17:50:33 -07:00
Henry de Valence
696e965c39 Merge branch 'release/0.16.4' 2018-05-10 17:50:17 -07:00
Henry de Valence
7b802c7bf5 Bump version to 0.16.4 2018-05-10 17:46:37 -07:00
Henry de Valence
4bc75792e6
Merge pull request #138 from oleganza/byteorder-nostd
Disable default features in byteorder dependency to be no_std-compatible
2018-05-10 17:18:34 -07:00
Oleg Andreev
2a1e122300 disable default features in byteorder dependency to be no_std-compatible 2018-05-10 15:13:50 -07:00
Henry de Valence
62bb6b79a1
Merge pull request #134 from Mandragorian/feature-scalar-traits
Implement Product and Sum traits
2018-05-03 13:56:45 -07:00
Henry de Valence
9375405f20
Merge pull request #136 from dalek-cryptography/fix-avx2-build
Fix AVX2 build on recent nightlies (was broken due to type inference failure)
2018-05-03 13:53:20 -07:00
mandragore
96d2fe4905 Implement Sum trait for RistrettoPoint
Closes #131.
2018-05-03 03:42:37 +03:00
mandragore
aff69a58a4 Implement Sum trait for EdwardsPoint 2018-05-03 03:42:37 +03:00
Henry de Valence
185bbd3da8 Fix build on recent nightlies (was broken due to type inference failure) 2018-05-02 17:30:10 -07:00
mandragore
01fd44ffd2 Remove trailing whitespaces 2018-05-02 23:53:52 +03:00
mandragore
3ab087ea7f Implement Sum trait for Scalar 2018-05-02 23:53:49 +03:00
mandragore
afffe962f9 Implement Product trait for Scalar 2018-05-02 23:53:24 +03:00