Isis Lovecruft
28c1576a15
Merge remote-tracking branch 'chain/feature/prune-constants' into develop
2017-11-09 01:48:21 +00:00
Isis Lovecruft
b1386b591a
Merge remote-tracking branch 'hdevalence/feature/ristretto_r2' into develop
2017-11-08 22:19:54 +00:00
Henry de Valence
f3a7108c55
Remove sha2 crate, which is only used in doctests
2017-10-31 14:12:29 -07:00
Henry de Valence
8f68b7a3ed
Remove MSQRT_M1 constant
2017-10-31 14:10:33 -07:00
Henry de Valence
bbbe4bf665
Make most numeric constants pub(crate)
2017-10-30 17:33:23 -07:00
Henry de Valence
a7835a1246
UPPERCASE_GLOBALS and add documentation
2017-10-30 17:33:23 -07:00
Henry de Valence
089efbbbbe
Prune constants that are no longer used anywhere
2017-10-30 16:53:39 -07:00
Henry de Valence
d08c3d252b
fix std/alloc dep for multiscalar_mult for RistrettoPoints
2017-10-30 16:34:36 -07:00
Henry de Valence
8c3ae7f010
Remove 'yolocrypto' from Ristretto
2017-10-30 16:34:36 -07:00
Henry de Valence
b6bfc79cd1
Fix up Elligator tests to match ristretto.sage
2017-10-30 16:34:36 -07:00
Henry de Valence
f4135da5c9
Remove is_negative_decaf since ristretto uses the low bit
2017-10-30 16:34:36 -07:00
Henry de Valence
21101a7d71
Add test vectors from ristretto.sage
2017-10-30 16:34:36 -07:00
Henry de Valence
8de0e684e6
vendor Mike's Ristretto sage script (aa75f2)
2017-10-30 16:34:36 -07:00
Henry de Valence
8e21c0b4f0
Start writing down some notes on the compression procedure
2017-10-30 16:34:36 -07:00
Henry de Valence
98c34adf6d
Change to Ristretto test vectors.
2017-10-30 16:34:36 -07:00
Henry de Valence
7097d8f98e
Add Ristretto equality
2017-10-30 16:34:36 -07:00
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
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
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
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
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
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