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
Isis Lovecruft
acd3826fe2
Implement Montgomery arithmetic and laddering.
...
* ADDs part of https://github.com/isislovecruft/curve25519-dalek/issues/47
2017-09-14 02:09:14 +00:00
greyspectrum
52ecf1669e
Fix a small typo in the license url.
2017-09-06 13:31:52 -04:00
Brian Smith
7ed9eb8617
Replace one multiplication with a squaring in scalar inversion.
...
This brings the code up to date with the 2017-09-04 version of
the source article.
2017-09-04 09:45:13 -10:00
Brian Smith
028140bb33
Reformat addition chain window building code to better show pattern.
...
Make the 2 digit, `_10`, the first argument to more closely match the
Haskell code in the source article. Align the code into columns to
further clarify the patterns.
2017-09-04 09:23:27 -10:00
Brian Smith
91a7c641c2
Use more efficient addition chain for scalar inversion.
...
Use the addition chain from
https://briansmith.org/ecc-inversion-addition-chains-01#curve25519_scalar_inversion .
In my benchmarking, this consistently runs at least 20% faster.
2017-09-03 17:00:42 -10:00
Henry de Valence
5494648718
Merge remote-tracking branch 'khyperia/invert_using_square' into develop
2017-08-24 20:54:40 -07:00