Commit graph

688 commits

Author SHA1 Message Date
Henry de Valence
ce45cfec8e This isn't true after renaming the struct 2018-01-25 12:16:11 -08:00
Henry de Valence
3f7923b628 Keep the AVX2 point type named as ExtendedPoint. 2018-01-25 12:00:40 -08:00
Isis Lovecruft
4f37785f0e
Rename ExtendedPoint to EdwardsPoint. 2018-01-25 02:56:38 +00:00
Isis Lovecruft
9cb915126e
Merge remote-tracking branch 'dalek/feature/borrow-operators' into develop 2018-01-25 02:00:52 +00:00
Isis Lovecruft
53908798a7
Remove Travis notifications from #curve25519-dalek channel. 2018-01-24 22:20:53 +00:00
Isis Lovecruft
7f3e82bab5
Revert "Bump subtle dependency to 0.5.0."
This reverts commit 460355d5e0.
2018-01-24 21:25:03 +00:00
Isis Lovecruft
937c420968
Merge remote-tracking branch 'dalek/feature/optimize-64-bit' into develop 2018-01-24 20:44:37 +00:00
Henry de Valence
86fd06db00 s/eps/epsilon/ for clarity 2018-01-24 12:42:57 -08:00
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
Isis Lovecruft
460355d5e0
Bump subtle dependency to 0.5.0. 2018-01-20 02:30:33 +00:00
Henry de Valence
0e9b8e0a6e Refactor multiply implementation to eliminate reduce() call 2018-01-19 18:23:41 -08:00
Henry de Valence
ec50ec96f7 Use parallel carry-ins and carry-outs in FieldElement64::reduce() 2018-01-19 17:50:48 -08:00
Henry de Valence
d8d235fb48 Move pow2k into the backends and use it to implement square() 2018-01-19 17:50:48 -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