Isis Lovecruft
06d802b986
Merge remote-tracking branch 'hdevalence/feature/clear-memory' into develop
2017-12-13 00:13:17 +00:00
Henry de Valence
a3f53c9134
Refactor select_precomputed_point into a LookupTable struct.
...
Originally this was for hygiene, so that we could erase points from
heap-allocated memory in multiscalar_mult, but it ends up providing a cleaner
API for scalar multiplication.
It's kept inside curve_models for now, but it could go somewhere else if that's a better place.
2017-12-07 12:46:57 -08:00
Henry de Valence
98a78d7a58
Clear scalar digits from memory in multiscalar_mult
2017-12-07 12:34:40 -08:00
Henry de Valence
1d39d2ec6e
Implement Default for internal point types
2017-12-06 17:30:19 -08:00
Henry de Valence
9422804e13
Merge remote-tracking branch 'origin/develop' into develop
2017-12-04 10:36:52 -08:00
Isis Lovecruft
97750474bd
Merge branch 'master' into develop
2017-12-04 02:10:42 +00:00
Isis Lovecruft
251b1d591d
Merge branch 'release/0.14.0'
2017-12-04 02:10:25 +00:00
Isis Lovecruft
209854acc6
Bump curve25519-dalek version to 0.14.0.
2017-12-04 02:08:03 +00:00
Isis Lovecruft
c9912458b2
Merge branch 'fix/fuzzers' into develop
2017-12-04 01:25:05 +00:00
Isis Lovecruft
d3cf252637
Remove unused fuzz/ directory for now.
2017-12-04 01:21:46 +00:00
Isis Lovecruft
c4c9775cb2
Remove scalar_constructors_and_reduction fuzzer.
...
It doesn't really test anything usefully discoverable since the
searchspace is too large.
2017-12-04 01:19:59 +00:00
Isis Lovecruft
c71d41ddcc
Whitespace fixes.
2017-12-04 01:17:17 +00:00
Isis Lovecruft
9824894eb1
Merge remote-tracking branch 'hdevalence/feature/texify-formulas' into develop
2017-12-04 01:10:54 +00:00
Isis Lovecruft
27ba42a6eb
Cleanup code snippets in README.
2017-12-02 03:19:19 +00:00
Henry de Valence
fce10f5736
Merge branch 'feature/texify-formulas' into develop
2017-12-01 11:54:12 -08:00
Henry de Valence
c0633ae2d7
KaTeXify some backend documentation
2017-12-01 11:46:36 -08:00
Henry de Valence
58cf210882
Allow specifying features in docs makefile
2017-12-01 11:45:17 -08:00
Henry de Valence
2d6d79dc21
KaTeXify more of edwards.rs
2017-11-30 17:36:56 -08:00
Isis Lovecruft
6ed4e24ddd
Exclude all .gitignore files from all builds.
2017-12-01 01:28:33 +00:00
Henry de Valence
10bba1207b
KaTeXify and document basepoint tables
2017-11-30 17:11:25 -08:00
Henry de Valence
786e4b65a8
Add reference to from_bytes_mod_order_wide ctor
2017-11-30 16:48:29 -08:00
Henry de Valence
bb9c171487
fix typo in internal Scalar docs
2017-11-30 16:46:46 -08:00
Henry de Valence
1caed9a4fc
Remove Scalar::multiply_add
2017-11-30 16:44:51 -08:00
Henry de Valence
9e892dd5f3
Rename reduce_wide to from_bytes_mod_order_wide and keep it with the other constructors
2017-11-30 16:44:10 -08:00
Henry de Valence
a6b4467d23
KaTeXify Scalar docs
2017-11-30 16:43:21 -08:00
Isis Lovecruft
d21b74ea36
Line wrap an inline comment.
2017-11-30 22:41:06 +00:00
Isis Lovecruft
313607f06a
Remove decaf fuzzer and change scalar fuzzer.
...
* REMOVE fuzz/fuzz_targets/decaf.rs
* RENAME fuzz/fuzz_targets/scalar_constructor_accepts_256bit_values.rs
to fuzz/fuzz_targets/scalar_constructors_and_reduction.rs
* CHANGE scalar_constructors_and_reduction fuzz target to test
reduction after using the 255-bit constructor versus constructor
mod order.
* FIXES #91 : https://github.com/isislovecruft/curve25519-dalek/issues/91
2017-11-30 22:34:32 +00:00
Henry de Valence
beda5df2f1
Remove "scalar multiplication" since that's more of a scalar*point thing than just a scalar thing
2017-11-29 13:04:04 -08:00
Henry de Valence
2e9a3cba35
Remove reference to field elts since they're private
2017-11-29 13:03:01 -08:00
Henry de Valence
da8b12a62d
Align montgomery summary to match the edwards summary
2017-11-29 13:01:31 -08:00
Henry de Valence
c209b49264
Tweak description and fix formatting
2017-11-29 13:00:50 -08:00
Henry de Valence
442eba57c9
Comment out #[doc(hidden)] to allow impls to appear in internal docs.
...
This is related to https://github.com/rust-lang/rust/issues/46380 upstream.
2017-11-29 12:40:42 -08:00
Henry de Valence
d862912511
KaTeXify struct docs for internal point types
2017-11-29 12:30:51 -08:00
Henry de Valence
b2a85da09d
Edit curve model description to use KaTeX
2017-11-29 12:07:55 -08:00
Henry de Valence
8cf03b673c
use --document-private-items
2017-11-29 12:07:22 -08:00
Isis Lovecruft
88200f9fc9
Fix Scalar.to_bytes() after merging PR#88.
2017-11-26 04:16:12 +00:00
Isis Lovecruft
220c6c1d13
Merge remote-tracking branch 'hdevalence/feature/refactor-scalar-api' into develop
2017-11-26 04:15:04 +00:00
Isis Lovecruft
227acc117b
Whitespace fix.
2017-11-26 03:26:47 +00:00
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
Isis Lovecruft
6e96e49eea
Merge remote-tracking branch 'hdevalence/feature/refactor-internal-code' into develop
2017-11-25 23:07:23 +00:00
Henry de Valence
f165b63ee9
Encode scalars canonically using Serde.
2017-11-23 12:29:46 -08:00
Henry de Valence
c1f6302879
Add a Scalar::from_bytes_canonical method
2017-11-23 12:29:46 -08:00
Henry de Valence
9855260bfd
Add a method to test if a Scalar is canonical
2017-11-23 12:29:46 -08:00
Henry de Valence
34639725d4
clean up reduction test
2017-11-23 12:29:46 -08:00
Henry de Valence
d32fe9772b
Ensure that all Scalars are bounded by 2^255.
...
This commit defines a Scalar to hold an integer representing an element of
Z/lZ. Applications like X/Ed25519 that care about the bit-patterns of the
scalars they use can set a specific bit-pattern using the `from_bits`
constructor. Applications that want to treat scalars as integers mod l can use
the `from_bytes_mod_order` constructor. Either way, the constructor ensures
that the integer representing each Scalar is bounded by 2^255 so that the high
bit is set. This means that any Scalar object is always safe to use for scalar
multiplication, while maintaining compatibility with both the Ristretto
use-case and the X/Ed25519 usecase.
2017-11-23 12:29:46 -08:00
Henry de Valence
d88f92276a
Add Scalar::reduce method
2017-11-21 11:28:25 -08:00
Henry de Valence
df182b79d0
Rename Scalar::reduce to Scalar::reduce_wide
...
This opens the `Scalar::reduce` name for reduction mod l.
2017-11-21 11:06:54 -08:00
Henry de Valence
033a90890c
Remove Scalar::{add, sub, mul} methods
2017-11-21 10:43:49 -08:00