Commit graph

376 commits

Author SHA1 Message Date
Isis Lovecruft
9a49263752
Add to_bytes() convenience method for CompressedRistretto points. 2017-11-26 03:22:28 +00:00
Henry de Valence
2d69a8a7dc Eliminate array_ref dependency 2017-11-20 14:53:08 -08:00
Henry de Valence
504a557b33 Hide UnpackedScalars 2017-11-17 15:51:29 -08:00
Henry de Valence
0cb70ae032 Hide the underlying ExtendedPoint from a Ristretto point 2017-11-17 15:50:58 -08:00
Henry de Valence
a9f8789524 hide unimplemented fns from docs 2017-11-17 15:50:04 -08:00
Henry de Valence
9fda4739d0 Hide fns using private types 2017-11-17 15:42:37 -08:00
Henry de Valence
78d9e70071 Move ExtendedPoint->MontgomeryPoint conversion to edwards.rs
Need to find a solution to the internal/external docs problem
2017-11-17 15:13:45 -08:00
Henry de Valence
2b0a4979b1 Fix indentation 2017-11-17 14:09:48 -08:00
Henry de Valence
8337a895d4 Only compress ExtendedPoints 2017-11-17 13:32:22 -08:00
Henry de Valence
7f52745770 Remove unused import 2017-11-16 20:11:18 -08:00
Henry de Valence
8d0808a077 Split internal curve models into a private submodule 2017-11-16 17:34:28 -08:00
Henry de Valence
e196f8347c Move 32/64-bit code into submodules in a backend module.
See the doc comment in `backend/mod.rs` for motivation on naming.
2017-11-16 16:07:55 -08:00
Henry de Valence
6ce7a4ee2d Remove catchall 'utils' module 2017-11-16 12:13:13 -08:00
Henry de Valence
e4f5f23b8d fixup! Merge branch 'optimzed_scalar_r1' into develop 2017-11-16 12:13:13 -08:00
Henry de Valence
207af566b9 Replace signed constants with unsigned constants 2017-11-16 12:13:13 -08:00
Henry de Valence
83e20b5387 cfg-gate all tests using precomputed tables 2017-11-16 12:13:13 -08:00
Henry de Valence
8952c7f476 initial work on rewriting 32bit arithmetic 2017-11-16 12:13:13 -08:00
Henry de Valence
399a9db478 Generate AFFINE_ODD_MULTIPLES_OF_BASEPOINT at compile time 2017-11-16 12:13:13 -08:00
Henry de Valence
e7387650f6 Remove warnings from build.rs 2017-11-16 12:13:13 -08:00
Henry de Valence
108a690941 First attempt at generating basepoint tables at compile time 2017-11-16 12:13:13 -08:00
Henry de Valence
b966f942a8 Impl Debug for EdwardsBasepointTable 2017-11-16 11:09:45 -08:00
Henry de Valence
6f5f0c51fd Tweak Debug impls to produce Rust source 2017-11-16 11:09:32 -08:00
Isis Lovecruft
cc8528f41f
Change implementation-specific scalar constants to be pub(crate). 2017-11-16 00:39:27 +00:00
Isis Lovecruft
c59af2c6b8
Merge branch 'optimzed_scalar_r1' into develop 2017-11-15 22:02:36 +00:00
Isis Lovecruft
2345a3f2fa
Fix typo in Scalar64::from_bytes_wide().
* FIXES issue #82:
   https://github.com/isislovecruft/curve25519-dalek/issues/82
2017-11-15 03:19:39 +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
Isis Lovecruft
583a45ddc2
Add test that scalar Montgomery reduction matches reduction. 2017-10-31 01:18:52 +00:00
Isis Lovecruft
e2cbec81fc
Add test that UnpackedScalar::{to,from}_bytes() roundtrips. 2017-10-31 01:02:20 +00: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
Isis Lovecruft
f0102806a2
Remove unnecessary mask operation in Scalar32::from_bytes_wide().
The significant bits here can only be
2017-10-31 00:00:14 +00: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
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
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
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
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
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
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