Commit graph

676 commits

Author SHA1 Message Date
Henry de Valence
52d600db95 Implement public-facing ops traits on all combos of &T/T
The public-facing types with arithmetic operations are:

- `Scalar`s
- `ExtendedPoint`s
- `RistrettoPoint`s

For these types we define operators with all combinations of borrowed and
non-borrowed inputs, to avoid forcing API consumers to write extra ampersands.
Since all of the operations involved with these types are expensive relative to
the cost of an unnecessary copy, this isn't a big deal.

The `MontgomeryPoint` struct isn't included in the above because it's only
useful for scalar multiplication.

This commit is based on work by @UnlawfulMonad.
2018-01-24 11:05:06 -08:00
Henry de Valence
ed7345f40b Merge branch 'feature/batch_inversion' into develop 2018-01-19 17:49:06 -08:00
Henry de Valence
1f821d34a5 Feature-gate batch inversion and compression on alloc 2018-01-19 17:22:28 -08:00
Henry de Valence
b20ccbd685 Implement batched encoding for RistrettoPoints 2018-01-19 17:22:28 -08:00
Henry de Valence
59837c6ecf Update ristretto.sage to match goldilocks b0af87 2018-01-19 17:22:28 -08:00
Henry de Valence
de377290ee Implement batch inversion using a product tree. 2018-01-19 17:22:28 -08:00
Isis Lovecruft
cc30328fbb
Merge branch 'master' into develop 2018-01-20 01:06:14 +00:00
Isis Lovecruft
87d4c78bae
Merge branch 'release/0.14.3' 2018-01-20 01:06:08 +00:00
Isis Lovecruft
da890be304
Bump curve25519-dalek version to 0.14.3. 2018-01-20 01:03:45 +00:00
Isis Lovecruft
6b4aa8548c
Specify stdsimd version. 2018-01-20 01:03:44 +00:00
Isis Lovecruft
d3959a5eb6
Update more links to point to the official CI and repos. 2018-01-20 00:56:26 +00:00
Isis Lovecruft
4b8f2963d8
Update links to point to new official repos. 2018-01-20 00:54:46 +00:00
Isis Lovecruft
682178dd8d
Merge branch 'master' into develop 2018-01-20 00:02:11 +00:00
Isis Lovecruft
1fafc2c41e
Merge branch 'release/0.14.2' 2018-01-20 00:02:02 +00:00
Isis Lovecruft
489fad186f
Bump curve25519-dalek version to 0.14.2. 2018-01-20 00:00:04 +00:00
Isis Lovecruft
05024a5ea5
Merge branch 'feature/89-logo' into develop 2018-01-19 23:58:02 +00:00
Isis Lovecruft
385004cadb
Add dalek logo to README. 2018-01-19 23:52:21 +00:00
Isis Lovecruft
0012e1f12f
Merge remote-tracking branch 'hdevalence/feature/avx2_r7' into develop 2018-01-19 23:46:30 +00:00
Isis Lovecruft
47d594e61f
Add dalek logo now that @tarcieri converted it to an SVG and PNG.
* THANKS TO @tarcieri for cleanup and vectorisation.
 * FIXES part of issue #89:
   https://github.com/dalek-cryptography/curve25519-dalek/issues/89
2018-01-19 22:51:49 +00:00
Isis Lovecruft
688443b889
Merge remote-tracking branch 'dalek/feature/combined-ladder' into develop 2018-01-19 22:44:28 +00:00
Isis Lovecruft
9d57aba326
Merge branch 'master' into develop 2018-01-19 22:29:06 +00:00
Isis Lovecruft
5e9a9f39d4
Merge branch 'release/0.14.1' 2018-01-19 22:28:48 +00:00
Isis Lovecruft
f8325f2d51
Bump curve25519-dalek Cargo.toml version to 0.14.1. 2018-01-19 19:42:59 +00:00
Isis Lovecruft
5ffa4e3495
Merge remote-tracking branch 'jeandudey/master' into develop 2018-01-19 19:41:14 +00:00
Isis Lovecruft
1d6a9337bf
Merge remote-tracking branch 'tarcieri/update-digest-and-generic-array' into develop 2018-01-18 03:42:24 +00:00
Isis Lovecruft
f5f071c359
Add slack notifications. 2018-01-18 00:37:37 +00:00
Henry de Valence
a0c93cb730 fix inconsistency in variable naming 2018-01-10 06:04:03 -08:00
Henry de Valence
841c026c13 Remove dead code 2018-01-10 05:49:47 -08:00
Henry de Valence
f816083575 Use >> instead of srl intrinsic 2018-01-03 14:04:27 -08:00
Henry de Valence
4cbff3983d Remove fixme notes 2018-01-03 14:01:48 -08:00
Henry de Valence
628af18a1d Suppress some warnings 2018-01-03 13:57:50 -08:00
Henry de Valence
3686562b2f Clear memory from avx2 multiscalar mult 2018-01-03 13:37:12 -08:00
Henry de Valence
d41dbb1fe4 Replace some binary constants with named constants 2018-01-03 12:34:25 -08:00
Henry de Valence
dd80421094 Move field constants to constants module 2018-01-03 12:13:52 -08:00
Jean Pierre Dudey
b7376512dd Update rand >= 0.4
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2018-01-03 10:04:40 -04:00
Isis Lovecruft
28f114f127
Combine differential_add and differential_double in Montgomery ladder. 2017-12-24 00:17:15 +00:00
Henry de Valence
9ad2188bb8 Try to get travis working if yolocrypto=>nightly 2017-12-18 15:15:23 -08:00
Henry de Valence
ce68b8d72b Document bounds yoga in doubling 2017-12-18 14:48:44 -08:00
Henry de Valence
af3c2b2821 Document readdition 2017-12-18 13:58:37 -08:00
Henry de Valence
c0f64009a7 Implement readdition using a CachedPoint type 2017-12-18 11:42:53 -08:00
Tony Arcieri
55e49b436a Update digest => 0.7, generic_array => 0.9
These are the latest releases of these crates.
2017-12-16 13:14:01 -08:00
Henry de Valence
80813e81b1 make diff_sum maskable 2017-12-15 15:24:13 -08:00
Henry de Valence
89753e7274 for some reason stdsimd dep isn't picked up if it's optional 2017-12-15 13:57:01 -08:00
Henry de Valence
0f6171b788 Try to make stdsimd an optional dependency 2017-12-15 13:57:01 -08:00
Henry de Valence
caf296a546 Try to make target_feature work on stable 2017-12-15 13:57:01 -08:00
Henry de Valence
70f710eafe Use the LookupTable struct in AVX2 code 2017-12-15 13:57:01 -08:00
Henry de Valence
34f44dcf5d Merge branch 'develop' into feature/avx2_r8 2017-12-15 11:37:10 -08:00
Henry de Valence
ad18f164bd Merge remote-tracking branch 'origin/develop' into develop 2017-12-15 11:13:37 -08:00
Henry de Valence
640888198e Eliminate a carry pass through tighter bounds checks 2017-12-14 14:17:34 -08:00
Isis Lovecruft
06d802b986
Merge remote-tracking branch 'hdevalence/feature/clear-memory' into develop 2017-12-13 00:13:17 +00:00