Commit graph

752 commits

Author SHA1 Message Date
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
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
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
Henry de Valence
7bf091ab13 Fix custom CSS rules to cover pre.rust 2018-01-30 12:31:29 -08:00
Henry de Valence
2d5dc5079f Add type to X25519 basepoint doc 2018-01-29 14:39:37 -08:00
Henry de Valence
1d480a8a71 Rename X25519 basepoint to X25519_BASEPOINT_MONTGOMERY 2018-01-29 14:36:45 -08:00
Henry de Valence
ae46ecd445 Rename BASE_CMPRSSD to ED25519_BASEPOINT_COMPRESSED. 2018-01-29 12:38:58 -08:00
Henry de Valence
06994e8139 Tidy docs for public constants in backends 2018-01-29 12:38:58 -08:00
Henry de Valence
739755cb1c Fix up constants docstrings 2018-01-29 12:38:58 -08:00
Henry de Valence
d3a8ee0d7b Remove BASEPOINT_ORDER_MINUS_* constants
These were originally added in 32da4c7d50
to implement Scalar negation in terms of multiply-add.

But we have a full implementation of scalar arithmetic now, so it's not
necessary to keep the constants around.
2018-01-29 12:38:58 -08:00
Henry de Valence
690637e368 Prevent precomputed points from appearing in the rendered docs. 2018-01-29 12:38:58 -08:00
Isis Lovecruft
26c217de2a
Add PNG logo version with clear background. 2018-01-27 01:19:34 +00:00
Henry de Valence
31dbb9e434 Fix no_std build failure 2018-01-26 16:36:42 -08:00
Henry de Valence
04506bbca2 Consolidate Cargo.toml and document the weird build hack 2018-01-26 16:29:23 -08:00
Henry de Valence
3b5a8f84a8 Add an is_torsion_free function and document cofactor-related functions. 2018-01-26 16:07:52 -08:00
Henry de Valence
3d2cf74261 Add docs on Edwards points 2018-01-26 15:36:06 -08:00
Henry de Valence
d4d9d86d72 Fix up coffee/ristretto reference 2018-01-26 15:35:51 -08:00
Henry de Valence
12e658401c Reword Ristretto intro 2018-01-26 14:53:31 -08:00
Henry de Valence
52904b5c3e Use math for multiscalar docs 2018-01-26 13:39:11 -08:00
Henry de Valence
4b47087b40 Refactor Ristretto notes into doc and doc-internal sections. 2018-01-26 13:35:30 -08:00