Henry de Valence
d6b8389428
Use criterion.rs instead of libtest for benchmarks.
...
Since Criterion can only benchmark public API, these changes just drop
all internal benchmarks (e.g., benchmarks for field operations). But
those are usually microbenchmarks whose meaning is kind of questionable
anyways, so I don't think this is a big loss.
The `bench` feature disappears, since Criterion works on stable Rust.
2018-03-25 17:14:37 -07:00
Henry de Valence
049e338430
Merge branch 'master' into develop
2018-03-22 12:37:41 -07:00
Henry de Valence
ffeb8cfadd
Merge branch 'release/0.16.0'
2018-03-22 12:37:09 -07:00
Henry de Valence
ce439458a1
Bump version to 0.16.0
2018-03-22 12:35:41 -07:00
Henry de Valence
c9239f54e9
Merge branch 'fix/warnings' into develop
2018-03-22 12:34:31 -07:00
Henry de Valence
8091609bc1
Merge branch 'fix/avx2-docs' into develop
2018-03-22 12:20:13 -07:00
Henry de Valence
6f9c229e65
Remove Elligator stubs for now, since this isn't the API we want anyways
2018-03-22 12:17:23 -07:00
Henry de Valence
f2e44898ee
Suppress warnings about square() on UnpackedScalars
2018-03-22 12:17:23 -07:00
Henry de Valence
0ba5c72122
This variable doesn't need to be mut since it's immediately consumed
2018-03-22 12:17:23 -07:00
Henry de Valence
e73b635fe0
Remove unused constants
2018-03-22 12:17:23 -07:00
Henry de Valence
844da9712b
Fix AVX2 docs formatting, remove obsolete AVX512 note
2018-03-22 12:13:39 -07:00
Henry de Valence
d67e895619
Merge branch 'feature/rename-to-multiscalar-mul' into develop
2018-03-22 12:08:49 -07:00
Henry de Valence
132b1a9d77
Merge branch 'feature/ristretto-uniform-hash' into develop
2018-03-22 11:44:52 -07:00
Henry de Valence
7b0e6495e7
Merge branch 'feature/batch-scalar-inversion' into develop
2018-03-22 11:43:31 -07:00
Henry de Valence
2e73b2bc20
Use scalar_mul instead of scalar_mult
2018-03-22 11:40:13 -07:00
Henry de Valence
70eee5208a
Rename double_scalar_mult_basepoint to double_scalar_mul_basepoint for consistency
2018-03-22 11:39:47 -07:00
Henry de Valence
296cd16463
Rename mult_by_cofactor to mul_by_cofactor for consistency
2018-03-22 11:36:34 -07:00
Henry de Valence
8de3d7576a
Rename mult_by_pow_2 to mul_by_pow_2 for consistency
2018-03-22 11:35:42 -07:00
Henry de Valence
b48d568f47
Add debug_assert that Scalar::batch_invert inputs are nonzero
2018-03-22 11:32:00 -07:00
Henry de Valence
0e7d872ad0
Add batch inversion for Scalars
2018-03-22 11:32:00 -07:00
Henry de Valence
1f0e2d2ed6
Merge branch 'feature/subtle-choice_r1' into develop
2018-03-22 11:20:31 -07:00
Henry de Valence
792ac0775e
Change to the updated subtle API.
2018-03-22 11:13:26 -07:00
Henry de Valence
7f39656b4a
Apply the Elligator map twice to ensure a uniform distribution
...
As noted in the Decaf paper, mapping twice and adding the results ensures a
uniform distribution over the group. This changes our random point and
hash-to-point functions to do this, matching the Sage script.
2018-03-19 15:37:38 -07:00
Henry de Valence
c20e09f6cc
Rename multiscalar_mult->multiscalar_mul to match Mul traits
2018-03-19 14:28:21 -07:00
Henry de Valence
fc6672ab43
Merge branch 'fix/missing-avx2-import' into develop
2018-03-19 11:55:11 -07:00
Henry de Valence
c5fcc6602d
Fix build for AVX2 backend.
...
A missing import of the Borrow trait caused the build to break with the
"yolocrypto" feature enabled; this was't caught by CI because the CI machine
that Travis used didn't have AVX2, so the code was never built.
This commit adds the missing import and changes `std` to `core` so that the
AVX2 backend builds with no_std, but this isn't tested and is, actually,
"yolocrypto".
2018-03-19 11:15:52 -07:00
Isis Lovecruft
de90f16994
Merge branch 'feature/dalek-rs-assets' into develop
2018-03-12 19:50:56 +00:00
Isis Lovecruft
c2be44749f
Add a custom docs badge.
2018-03-09 23:59:20 +00:00
Isis Lovecruft
ea66ab469b
Merge remote-tracking branch 'hdevalence/feature/refine-multiscalar-trait-bounds' into develop
2018-03-09 23:21:32 +00:00
Henry de Valence
a271ff907d
add link to curve models docs
2018-02-22 15:37:16 -08:00
Henry de Valence
3969d80c89
Add links to dalek.rs
2018-02-21 11:11:17 -08:00
Henry de Valence
2b42966bb4
Load resources from our own domain
2018-02-21 11:03:18 -08:00
Henry de Valence
70f06338f9
Remove docs.rs
...
docs.rs won't be the authoritative source for docs any more. Also, it won't build our docs properly, because the nightly Rust it uses is too old to support stuff like markdown-included-in-docs :(
2018-02-21 11:01:59 -08:00
Henry de Valence
0f185d3e28
Generalize trait bounds on multiscalar multiplication.
...
This allows iterators returning either &Scalars or Scalars, so that it's
possible to use map() and friends to adjust scalars as they're being fed into
the multiscalar multiplication.
2018-02-20 18:31:23 -08:00
Henry de Valence
4a4ec74100
Add example to edwards::multiscalar_mult
2018-02-20 17:32:50 -08:00
Henry de Valence
0c1f912b93
Merge branch 'master' into develop
2018-02-06 11:24:43 -08:00
Henry de Valence
ad36709e69
Merge branch 'release/0.15.1'
2018-02-06 11:24:29 -08:00
Henry de Valence
151911bc47
Try to tell docs.rs to build using the "nightly" feature
...
We need this to put the README.md into the docs, or else the crate description is bare.
2018-02-06 11:19:50 -08:00
Henry de Valence
d5203b1687
Merge branch 'master' into develop
2018-02-06 11:11:44 -08:00
Henry de Valence
0d483d2238
Merge branch 'release/0.15'
2018-02-06 11:10:54 -08:00
Henry de Valence
3fb0ccc68f
Bump version to 0.15
2018-02-06 10:56:39 -08:00
Isis Lovecruft
fd5b6c4f05
Merge remote-tracking branch 'hdevalence/feature/refactor-montgomery' into develop
2018-02-05 19:21:31 +00:00
Henry de Valence
6748dddb96
Simplify and optimize Montgomery code.
...
The `MontgomeryPoint` struct is now a point on the Kummer line of the Montgomery curve.
The `ProjectivePoint` struct is made private, since its only purpose is
internal to the Montgomery ladder.
The Montgomery ladder takes affine input, making it faster, and produces affine output.
The Edwards-Montgomery correspondence is simplified.
2018-02-05 10:40:25 -08:00
Henry de Valence
a4256fd9b1
Merge pull request #106 from isislovecruft/feature/compressed-ristretto-basepoint
...
Add compressed ristretto basepoint
2018-02-02 21:52:20 +00:00
Isis Lovecruft
b5e664ab16
Add RISTRETTO_BASEPOINT_COMPRESSED constant.
2018-02-02 02:33:51 +00:00
Isis Lovecruft
23bc6ff848
Change README and docs sidebar image to transparent version.
2018-01-31 02:26:28 +00:00
Isis Lovecruft
cd112afff5
Whitespace EOL fixes.
2018-01-31 02:19:53 +00:00
Isis Lovecruft
5f1320bb3b
Merge remote-tracking branch 'hdevalence/feature/refactor-docs' into develop
2018-01-31 02:11:46 +00:00
Isis Lovecruft
f6030dbe85
Merge remote-tracking branch 'hdevalence/feature/fixup-deps' into develop
2018-01-31 01:29:08 +00:00
Henry de Valence
9698435e38
Add note on point validity and "make illegal states unrepresentable".
...
Remove references to Montgomery conversions, as a prelude to putting the
Montgomery/Edwards conversion docs in the Montgomery module.
2018-01-30 12:31:53 -08:00