Henry de Valence
0585af6c68
Move sqrt(-(A+2)) test to constants.rs
2017-03-07 00:03:59 -08:00
Henry de Valence
3a9ee16a30
Remove test_ prefix from test functions in curve.rs
2017-03-06 23:59:49 -08:00
Henry de Valence
31c350b6f2
Split benchmarks into their own module
2017-03-06 23:53:38 -08:00
Henry & Isis
e5f5dea444
Rename to_{cached,precomputed} to to_{projective,affine}_niels
2017-03-05 15:27:26 -08:00
Isis Lovecruft
5edd8d6d26
Merge remote-tracking branch 'hdevalence/feature/montgomery-x-format_r1' into develop
2017-03-04 02:40:17 +00:00
Henry de Valence
5d3d114628
fixup! Properly handle exceptional points.
2017-02-27 23:15:39 -08:00
Henry de Valence
db53b58e89
Properly handle exceptional points.
2017-02-27 21:13:24 -08:00
Henry de Valence
19d452c2dc
Test decompressing an invalid montgomery point
2017-02-27 13:42:13 -08:00
Henry de Valence
45fbcb45f6
First notes and code on Montgomery conversion
2017-02-27 13:41:50 -08:00
Henry de Valence
1dac2f53bb
Implement Identity for CompressedEdwardsY
2017-02-26 15:25:05 -08:00
Henry de Valence
2cef5fcecd
Add CompressedEdwardsY::as_bytes
2017-02-26 15:25:05 -08:00
Isis Lovecruft
e6b7192d5e
Merge branch 'feature/rename-niels-point' into develop
2017-02-25 01:26:33 +00:00
Isis Lovecruft
a649ea38ee
Rename {PreComputed,Cached}Point → {Affine,Projective}NielsPoint.
...
* FIXES Issue #28 : https://github.com/isislovecruft/curve25519-dalek/issues/28
2017-02-25 00:47:06 +00:00
Henry de Valence
d450659b7f
Rewrite CompressedEdwardsY::decompress() to use FieldElement::sqrt_ratio
2017-02-22 20:59:51 -08:00
Henry & Isis
f52e2ee37e
Create BasepointMult and ScalarMult traits.
2017-02-21 13:38:59 -08:00
Henry de Valence
eec7747be7
Move Decaf code to decaf.rs
2017-02-21 13:38:59 -08:00
Henry de Valence
f18ebe9430
First draft of decaf decompression
2017-02-21 13:38:58 -08:00
Henry de Valence
3fc5f75300
Rename is_negative to is_negative_ed25519
2017-02-21 13:23:57 -08:00
Henry de Valence
ee5ea0a013
Make double functions public
2017-02-21 13:23:11 -08:00
Henry de Valence
dd23a48ade
Make ExtendedPoint attrs pub as we need them in constants.rs
2017-02-21 13:23:11 -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
Isis Lovecruft
44e7d500db
Remove unused import of PartialEq and Eq in curve module.
2017-02-21 21:01:58 +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
3eb5dcaae7
Implement CTEq for ExtendedPoint.
2017-02-21 05:45:37 +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
51f59565f5
Typo fix; Negateable → Negatable.
...
* Fixup on #22 .
2017-02-21 04:15:15 +00:00
Henry de Valence
dc5621f527
Use conditional_negate in select_precomputed_point
2017-02-20 15:30:59 -08:00
Henry de Valence
eaa5d3e595
Derive Eq, PartialEq for CompressedEdwardsY
2017-02-19 17:39:48 -05:00
Isis Lovecruft
366e9029bf
Rename a CompressedPoint from #17 to CompressedEdwardsY (from #6 ).
2017-01-27 02:15:31 +00:00
Isis Lovecruft
d88b6c01c4
Merge remote-tracking branch 'tarcieri/no-std' into develop
2017-01-27 02:13:04 +00:00
Isis Lovecruft
0c14f58797
Merge remote-tracking branch 'burdges/patch-1' into develop
2017-01-27 00:40:32 +00:00
Isis Lovecruft
1d964fa4b7
Merge remote-tracking branch 'hdevalence/feature/seperate-constants-file' into develop
2017-01-27 00:15:31 +00:00
Jeff Burdges
b96281ab12
Link needs http://www .
2017-01-23 00:29:02 -05:00
Isis Lovecruft
39f417f75e
Merge remote-tracking branch 'hdevalence/feature/move-ct-traits' into develop
2017-01-20 21:51:19 +00:00
Isis Lovecruft
6d2ab84d38
Merge remote-tracking branch 'hdevalence/feature/add-mult-cofactor-fn' into develop
2017-01-19 23:37:50 +00:00
Tony Arcieri
d08bc7395e
Add #![no_std] ( fixes #16 )
...
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.
2017-01-18 15:16:01 -08:00
Henry de Valence
187d4d3c09
Make some conversions public
2017-01-09 16:15:23 -05:00
Henry de Valence
6559e1de37
Derive Eq for PreComputedPoints
2017-01-09 16:15:22 -05:00
Henry de Valence
d94edc6a36
Move compressed basepoint into constants
...
Would be good to have the basepoint itself, but this doesn't seem possible: the
fields of an ExtendedPoint are not public, so we can't construct them outside
of curve.rs (by design, to prevent constructing invalid points). Maybe const
fn support could change this.
2017-01-09 16:15:22 -05:00
Henry de Valence
ff9e78572c
Add a way to construct precomputed points
2017-01-09 16:15:22 -05:00
Henry de Valence
098ff2ffca
Move CTAssignable trait to util.rs from curve.rs
2017-01-06 12:26:43 -05:00
Henry de Valence
4a5d7052a9
Add convenience wrapper around mult_by_pow_2 to clear cofactor
2017-01-06 10:47:05 -05:00
Henry de Valence
d1599410ee
Rename CompressedPoint -> CompressedEdwardsY
...
This allows other compression formats (e.g., CompressedMontgomeryX).
2016-12-23 17:50:24 -08:00
Henry de Valence
71bf0d5e53
Remove port of Montgomery conversion from Adam's code
...
This should be brought back later as part of reworking the compressed
point formats / serialization code. Right now there's just
"CompressedPoint" which is in the ed25519 format. Ideally, users should
be able to serialize points to formats used for X25519, for decaf, etc.
and not have to worry too much about the internal model.
2016-12-09 14:49:27 -08:00
Isis Lovecruft
387a56fe2c
Initial commit.
2016-12-08 05:12:00 +00:00