Isis Lovecruft
7a0c0e9d0d
Change Debug for Scalar output to be valid Rust code.
2017-11-26 03:26:29 +00:00
Isis Lovecruft
87f93a5df2
Add to_bytes() convenience method for Scalar.
2017-11-26 03:23:31 +00:00
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