Commit graph

2330 commits

Author SHA1 Message Date
Henry de Valence
82041c2c67 Add constant for bytes of (p-1)/2. 2017-02-21 13:23:11 -08:00
Henry de Valence
363ea405d4 Add constant for a-d = -1-d 2017-02-21 13:23:11 -08:00
Henry de Valence
6fd3028956 Add constant for 4*d 2017-02-21 13:23:10 -08:00
Henry de Valence
fb0c431184 Add constant for MSQRT_M1, equal to -SQRT_M1 2017-02-21 13:23:10 -08:00
Henry de Valence
e1feb653be Add constant value of 1/2 (mod p) 2017-02-21 13:23:10 -08:00
Henry de Valence
79afc6bd0f Add debugging checks to test if points are on the curve 2017-02-21 13:23:10 -08:00
Henry de Valence
cb4ff3097c Add FieldElement::is_zero() 2017-02-21 13:23:10 -08:00
Isis Lovecruft
3231a6d33c
Merge branch 'master' into develop 2017-02-21 21:21:07 +00:00
Isis Lovecruft
b7660d3fe7
Merge branch 'release/0.2.1' 2017-02-21 21:21:01 +00:00
Isis Lovecruft
c6c04bf207
Bump version to 0.2.1. 2017-02-21 21:19:20 +00:00
Isis Lovecruft
d87930e7b7
Bump curve25519-dalek version to use 0.4.0. 2017-02-21 21:19:00 +00:00
Isis Lovecruft
409f329890
Change link to repository to github. 2017-02-21 21:18:40 +00:00
Isis Lovecruft
fb7b048ea2
Merge branch 'master' into develop 2017-02-21 21:05:35 +00:00
Isis Lovecruft
d0bc40783b
Merge branch 'release/0.4.0' 2017-02-21 21:05:29 +00:00
Isis Lovecruft
44e7d500db
Remove unused import of PartialEq and Eq in curve module. 2017-02-21 21:01:58 +00:00
Isis Lovecruft
78701d5441
Bump version to 0.4.0. 2017-02-21 20:59:17 +00:00
Isis Lovecruft
1dac334b84
Whitespace fix. 2017-02-21 20:59:04 +00:00
Isis Lovecruft
a6850f8e82
Fix version number in install instructions in README. 2017-02-21 06:15:48 +00:00
Isis Lovecruft
e4d041836e
Move load3 and load4 to new utils module and remove #[allow(dead_code)]. 2017-02-21 06:15:08 +00:00
Isis Lovecruft
4b738c7e19
Remove #[allow(dead_code)] from arrays_equal_ct(). 2017-02-21 06:06:16 +00:00
Isis Lovecruft
6f67a7d716
Rename util module to subtle.
* CHANGE subtle module documentation slightly to clarify the module's purpose.
 * FIXES issue #25.
2017-02-21 06:01:22 +00:00
Isis Lovecruft
aad1d1751a
Merge branch 'feature/9-vxeddsa-functionality_r2' into develop 2017-02-21 05:50:12 +00:00
Isis Lovecruft
3eb5dcaae7
Implement CTEq for ExtendedPoint. 2017-02-21 05:45:37 +00:00
Isis Lovecruft
b1afdf5204
Implement CTEq for FieldElement. 2017-02-21 05:44:35 +00:00
Isis Lovecruft
5308fef210
Add CTEq trait and implement it for Scalar. 2017-02-21 05:44:35 +00:00
Isis Lovecruft
1381e07ffb
Implement a method for determining if an element is the identity.
This corresponds to ge_isneutral() in Open Whispersystems' ed25519 library.
2017-02-21 05:43:20 +00:00
Isis Lovecruft
03589dff43
Add method for determining if an ExtendedPoint is of small order. 2017-02-21 05:41:16 +00:00
Isis Lovecruft
7b57be69fd
Implement constant time equality check for scalars. 2017-02-21 05:41:14 +00:00
Isis Lovecruft
32da4c7d50
Implement Neg for Scalar. 2017-02-21 05:41:14 +00:00
Isis Lovecruft
51f59565f5
Typo fix; Negateable → Negatable.
* Fixup on #22.
2017-02-21 04:15:15 +00:00
Isis Lovecruft
9154e59ec1
Merge remote-tracking branch 'hdevalence/feature/conditional-negation' into develop 2017-02-21 04:13:29 +00:00
Isis Lovecruft
8c432ef78a
Another obsessive compulsive whitespace fix. 2017-02-21 01:46:01 +00:00
Henry de Valence
dc5621f527 Use conditional_negate in select_precomputed_point 2017-02-20 15:30:59 -08:00
Henry de Valence
8a1c13ef49 Make a CTNegateable trait with a generic impl for better ergonomics 2017-02-20 15:30:59 -08:00
Henry de Valence
5f4de0074d Add a conditional negation function. 2017-02-20 15:30:59 -08:00
Isis Lovecruft
57884ecefa
Merge remote-tracking branch 'hdevalence/feature/derive-eq-partialeq-compressededwardsy' into develop 2017-02-20 02:14:37 +00:00
Isis Lovecruft
90cbe8b0e0
Merge remote-tracking branch 'tarcieri/categories' into develop 2017-02-20 02:00:35 +00:00
Isis Lovecruft
5f70ab55f8
Obsessive compulsive whitespace fix. 2017-02-20 01:58:56 +00:00
Henry de Valence
eaa5d3e595 Derive Eq, PartialEq for CompressedEdwardsY 2017-02-19 17:39:48 -05:00
Tony Arcieri
90baaba591 Add "cryptography" and "no-std" categories 2017-02-14 08:34:24 -08:00
Isis Lovecruft
635d71fac7
Merge branch 'master' into develop 2017-02-08 20:16:55 +00:00
Isis Lovecruft
3cb7aa6124
Merge branch 'release/0.2.0' 2017-02-08 20:16:39 +00:00
Isis Lovecruft
4b12789bcc
Bump version to 0.2.0. 2017-02-08 20:13:35 +00:00
Isis Lovecruft
9d7d919c27
Merge remote-tracking branch 'chain/no-std' into develop 2017-02-08 19:53:36 +00:00
Tony Arcieri
4f81231dc2 Add #![no_std]
Use ::core in lieu of ::std, allowing this crate to be usable in #![no_std]
environments.

Gates features that presently depend on ::std (presently just rand) behind a
"std" cargo feature, which is enabled by default.

Switches from the "rust-crypto" crate (which is not #![no_std] compatible) to
the sha2 crate, which is factored out of the original "rust-crypto" project
and being actively maintained.
2017-02-06 13:48:35 -08:00
Tony Arcieri
6269edb266 Update to curve25519-dalek v0.3.0
Changes `curve25519_dalek::curve::CompressedPoint` -> `CompressedEdwardsY`
2017-02-06 13:43:37 -08:00
Isis Lovecruft
46d2ee0520
Merge branch 'master' into develop 2017-01-27 02:31:14 +00:00
Isis Lovecruft
7034a875bd
Merge branch 'release/0.3.0' 2017-01-27 02:31:04 +00:00
Isis Lovecruft
7d434f2d37
Bump curve25519-dalek version to 0.3.0 in Cargo.toml. 2017-01-27 02:23:10 +00:00
Isis Lovecruft
1e7199dcc4
Remove now unused core::clone::Clone from scalar. 2017-01-27 02:16:30 +00:00