Commit graph

2305 commits

Author SHA1 Message Date
Henry de Valence
fafdae7a60 Prototype of Ristretto encoding 2017-10-30 16:34:36 -07:00
Henry de Valence
58a55117be Rename Decaf to Ristretto 2017-10-30 16:34:36 -07:00
Isis Lovecruft
6ed006abc1
Fix two oversized buffer allocations in scalar code. 2017-10-30 23:17:46 +00:00
Henry de Valence
aaa2315703
add failing test case from fuzzer 2017-10-30 22:25:34 +00:00
Henry de Valence
f1fc9a83c6
Pass through features from cargo-fuzz 2017-10-30 22:25:33 +00:00
Henry de Valence
3c085d264c
Change Scalar32 and Scalar64 to not mask the high 3 bits of a Scalar.
This should not cause overflow, since this just lets the high limb have the
same bounds as the other limbs, but we should check this carefully.
2017-10-30 22:25:33 +00:00
Henry de Valence
b05c2c30aa
Add fuzzer checking that Scalar accepts 256bit inputs 2017-10-30 22:25:32 +00:00
Isis Lovecruft
6079b0269f
Revert "Revert "Merge remote-tracking branch 'floodyberry/optimized_scalar' into develop""
This reverts commit 90b69c13ee.

Signed-off-by: Isis Lovecruft <isis@torproject.org>
2017-10-30 19:27:44 +00:00
Isis Lovecruft
f8c554dd97
Move seldom-used import. 2017-10-24 06:10:27 +00:00
Isis Lovecruft
3f52aa4df2
Merge branch 'master' into develop 2017-10-16 21:58:34 +00:00
Isis Lovecruft
acc5883ca1
Merge branch 'release/0.12.1' 2017-10-16 21:58:26 +00:00
Isis Lovecruft
154bb75b46
Bump curve25519-dalek version number to 0.12.1. 2017-10-16 21:49:39 +00:00
Isis Lovecruft
90b69c13ee
Revert "Merge remote-tracking branch 'floodyberry/optimized_scalar' into develop"
This reverts commit 804dab8924, reversing
changes made to 5d15ca77ff.

This is due to a (previously undocumented) contract on the behaviours of
(potentially unreduced mod \ell) "packed" scalars w.r.t. to the manner in which
their bytes are interpreted.

Upon documentation fixes and corresponding fixes being made on top of the
floodyberry/optimized_scalar branch, this revert will again be reverted and then
the additional changes merged (à la
file:///usr/share/doc/git/html/howto/revert-a-faulty-merge.html).

Signed-off-by: Isis Lovecruft <isis@patternsinthevoid.net>
2017-10-16 21:41:52 +00:00
Isis Lovecruft
2f16d80b26
Bump x25519-dalek version to 0.1.0. 2017-10-09 04:33:16 +00:00
Isis Lovecruft
3702a7c598
Initial commit. 2017-10-09 04:02:40 +00:00
Isis Lovecruft
cbc3abd002
Merge branch 'master' into develop 2017-10-05 07:05:39 +00:00
Isis Lovecruft
608f63d0eb
Merge branch 'release/0.4.3' 2017-10-05 07:05:38 +00:00
Isis Lovecruft
3b3848fc0c
Bump ed25519-dalek version to 0.4.3. 2017-10-05 07:05:08 +00:00
Isis Lovecruft
e9cd9a2264
Changes for bumping curve25519-dalek dependency to 0.12.0. 2017-10-05 07:03:35 +00:00
Isis Lovecruft
b78487132c
Bump subtle dependency version. 2017-10-05 06:58:17 +00:00
Isis Lovecruft
a6aaa6fae6
Merge branch 'release/0.12.0' 2017-10-05 06:31:58 +00:00
Isis Lovecruft
e054cd7fc5
Merge branch 'master' into develop 2017-10-05 06:31:58 +00:00
Isis Lovecruft
bf25b2767b
Bump curve25519-dalek version to 0.12.0. 2017-10-05 06:29:39 +00:00
Isis Lovecruft
3596e5ec87
Add licence. 2017-10-05 06:19:55 +00:00
Isis Lovecruft
e706b35d92
Merge remote-tracking branch 'greyspectrum/license-typo' into develop 2017-10-05 06:12:03 +00:00
Isis Lovecruft
cec6b5e3b9
Merge remote-tracking branch 'emilbayes/patch-1' into develop 2017-10-05 05:32:12 +00:00
Isis Lovecruft
08a9715a5c
Merge remote-tracking branch 'nikkolasg/patch-1' into develop 2017-10-05 05:27:43 +00:00
Zaki Manian
8accff36b3
Replaces the depracted rustc_serialize with hex 2017-10-05 05:20:24 +00:00
Isis Lovecruft
804dab8924
Merge remote-tracking branch 'floodyberry/optimized_scalar' into develop 2017-10-05 02:57:55 +00:00
Isis Lovecruft
5d15ca77ff
Merge branch 'feature/montgomery-arithmetic_r1' into develop 2017-10-05 02:37:27 +00:00
Isis Lovecruft
d39e47ff11
Remove comment on non-canonical encodings in CompressedMontgomeryU.decompress(). 2017-10-05 02:27:27 +00:00
Isis Lovecruft
4965238b5a
Removed now unused subtle import from montgomery module. 2017-10-05 02:23:55 +00:00
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
eda4abbea8
Merge branch 'feature/private-limbs' into develop 2017-10-02 00:21:53 +00:00
Isis Lovecruft
ecef4d836e
Make FieldElement limbs private to the curve25519-dalek crate.
Limbs are no longer accessible outside of the curve25519-dalek crate.
If you were relying on this behaviour, first you probably shouldn't be
doing that, second please contact us so we can determine the best way
forward for your use case.
2017-10-01 23:36:57 +00:00
Andrew Moon
7e53499a10 optimized scalar implementations for 32/64 bit 2017-09-24 22:24:35 -05:00
Isis Lovecruft
a1caa4dfda
Fix typo in README. 2017-09-21 22:06:48 +00:00
Henry de Valence
e27bcd0057 Merge remote-tracking branch 'briansmith/addition-chain' into develop 2017-09-15 16:16:11 -07: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