Commit graph

2391 commits

Author SHA1 Message Date
Isis Lovecruft
5d7bc29ba2
Workaround for rand crate "nightly" feature breakage.
Cf. https://github.com/rust-random/rand/issues/1047
2020-09-21 23:25:15 +00:00
Isis Lovecruft
a02190adf3
Document that we include the message lengths in the transcript. 2020-09-21 22:10:03 +00:00
Isis Lovecruft
57a5473cb0
Fix and document malleability issue in deterministic batch_verify().
Thank you to @real_or_random and @jonasnick for initially pointing it
out and ensuing discussion.
2020-09-21 22:09:27 +00:00
isis agora lovecruft
bd572dcd52
Merge pull request #142 from 35359595/master
check_scalar bug fix for legacy_compatibility feature
2020-09-10 01:36:55 +00:00
Henry de Valence
7ef5cc7c32 Merge branch 'master' into develop 2020-08-31 12:59:05 -07:00
Henry de Valence
0985e1babf Merge branch 'release/1.1' 2020-08-31 12:58:49 -07:00
Henry de Valence
e8615a9326 bump version to 1.1.0 and update CHANGELOG 2020-08-31 12:56:34 -07:00
Henry de Valence
1ede5270e5
Merge pull request #63 from jack-michaud/derive-partialeq
Add PartialEq derive to PublicKey
2020-08-31 12:52:53 -07:00
Jack Michaud
3c09664112 Feedback from @hdevalence - Added derive for Eq and Hash 2020-08-31 12:15:43 -07:00
Jack Michaud
48df927d7b Add PartialEq derive to PublicKey
Derives from the PartialEq impl for MontgomeryPoint
2020-08-30 17:41:54 -07:00
Ivan Temchenko
da959c041d check_scalar bug fix for legacy_compatibility feature 2020-08-24 16:33:04 +02:00
Isis Lovecruft
5fe7c88303
Merge branch 'master' into develop 2020-08-20 22:54:10 +00:00
Isis Lovecruft
75a199e5a0
Merge branch 'release/1.0.0' 2020-08-20 22:54:01 +00:00
Isis Lovecruft
952bdd062f
Release ed25519-dalek version 1.0.0. 2020-08-20 22:46:58 +00:00
Isis Lovecruft
1c97dac4dc
Update to curve25519-dalek version 3. 2020-08-20 21:19:21 +00:00
bunnie
2a1aaa72e8 leave a breadcrumb for the next work to do 2020-08-21 02:31:37 +08:00
bunnie
eb45d338ee mods to get hardware integration to actually work. 2020-08-21 01:37:10 +08:00
bunnie
247c8ca2b7 add full montgomery scalar multiply implementation in hardware 2020-08-21 00:07:54 +08:00
bunnie
9c3d34345c add hardware acceleration to differential point add and double
hacky implementation, but it'll let us do a performance benchmark
2020-08-20 15:47:02 +08:00
Henry de Valence
fd12c03b86 Merge branch 'master' into develop 2020-08-17 20:38:34 -07:00
Henry de Valence
d438d486fd Merge branch 'release/1.0.1' 2020-08-17 20:38:25 -07:00
Henry de Valence
af6d5bd5bf Bump version to 1.0.1 2020-08-17 20:37:20 -07:00
Henry de Valence
b8e6fb7ee1
Merge pull request #62 from dalek-cryptography/curve-3
Update curve25519-dalek to version 3.0.0.
2020-08-17 20:35:31 -07:00
Henry de Valence
2408e6b179 Update curve25519-dalek to version 3.0.0.
This allows unifying dependencies with other crates using the `3.x` series of
the curve library.  It is a semver patch-level change, because the x25519-dalek
API does not expose any details of the underlying curve implementation.
2020-08-17 20:17:57 -07:00
Henry de Valence
1781dd3d05 Merge branch 'master' into develop 2020-08-17 19:45:27 -07:00
Henry de Valence
bddb3c7777 Merge branch 'release/1.0.0' 2020-08-17 19:45:17 -07:00
Henry de Valence
1b01d597ca Bump version to 1.0.0 and update CHANGELOG.md 2020-08-17 19:43:22 -07:00
Henry de Valence
122d4bb114
Merge pull request #61 from dalek-cryptography/clarify-ephemeral-static
Clarify Ephemeral/StaticSecret docs.
2020-08-17 19:33:45 -07:00
Henry de Valence
fb92cd82da Clarify Ephemeral/StaticSecret docs.
Also does a pass through the docs converting `TypeNames` to Rustdoc links, and
making sure that all the items have consistent summaries.

Closes #58
Closes $56
2020-08-17 19:25:12 -07:00
Henry de Valence
736f8dd313
Merge pull request #60 from dalek-cryptography/remove-rand-os-example
Remove rand os example
2020-08-17 19:22:21 -07:00
Henry de Valence
5d245dcefa
Merge pull request #43 from peat/master
Add .to_bytes() to PublicKey, SharedSecret
2020-08-17 18:55:18 -07:00
Henry de Valence
8287798aa1 Update doc examples to remove deprecated code and restore testing.
Closes #59.

The doc examples have code interspersed with text explaining the API.  Because
each doctest executes independently, when these code examples are run as
doctests, they have to include parts of the previous examples with # lines.
These lines are hidden from Rustdoc output and do not appear in the rendered
docs, but they do appear when viewing the README.md on Github.

In order to hide these on Github, the code blocks were made non-executable,
with their content moved to a unit test.  However, this meant that the example
API usage was not tested, and so when the unit test was updated to remove the
deprecated `rand_os`, there was no check that the examples stayed in sync with
the test, causing #59.  To prevent this from reocurring in the future, go back
to executable tests of the API examples.
2020-08-17 18:47:31 -07:00
Henry de Valence
5d91bd8f22 Make bound on csprng more general.
`rand_core` defines a blanket impl of `RngCore + CryptoRng` for `&mut T` where
`T: RngCore + CryptoRng`, so rather than requiring a borrowed RNG, it's better
to require an owned RNG, as this allows passing either owned or borrowed
values.  In particular, this makes `OsRng` usage much more ergonomic, because
the caller is not forced to do `&mut OsRng` on the zero-sized struct.
2020-08-17 18:44:48 -07:00
Henry de Valence
fb01f65761 Merge branch 'master' into develop 2020-08-17 18:22:21 -07:00
Henry de Valence
b307c155c9 Merge branch 'release/3.0.0' 2020-08-17 18:21:42 -07:00
Henry de Valence
6d96eb7796 Bump version to 3.0.0. 2020-08-17 18:20:26 -07:00
Henry de Valence
c68b30fe13
Merge pull request #330 from isislovecruft/fix/move-coc
Move CoC section from CONTRIBUTING.md to new file.
2020-08-17 18:12:00 -07:00
Henry de Valence
2ee61938ee
Merge pull request #327 from huitseeker/digests-0.9
Update sha2, digest to 0.9
2020-08-17 18:11:32 -07:00
Isis Lovecruft
91a0faea35
Move CoC section from CONTRIBUTING.md to new file.
This helps Github's UI show that we have one and autolink to it.
2020-08-18 00:44:52 +00:00
bunnie
a2835635e7 add test for BRZ instruction
a simple loop that does factorial.
2020-08-15 05:51:21 +08:00
bunnie
ee8e719b06 add test case to exercise the re-overflow corner case
it doesn't happen, i think there is a property of the math
that makes us safe but i can't reason about what it is.
2020-08-14 18:21:56 +08:00
bunnie
2d3e37495d increase number of random multiply vectors 2020-08-14 14:42:26 +08:00
bunnie
f61a91c6b6 add some more rigorous test cases
catch the case that the 14th limb overflows into the 15th at the
final carry propagate step
2020-08-14 02:29:10 +08:00
bunnie
6e6ac6ade4 add multiply vectors 2020-08-13 04:46:51 +08:00
bunnie
616801bd4c add test is not working 2020-08-10 18:32:46 +08:00
bunnie
c8bd4211f6 edit test to include normalization after add 2020-08-08 02:11:00 +08:00
bunnie
8091a73b80 try to turn off "std" inclusion for the assembler crate
...unsuccessful tho. Rust features are hard.
2020-08-07 23:39:02 +08:00
bunnie
f29aad18da add a rule to ignore the .bin outputs that are test vectors 2020-08-07 23:13:38 +08:00
bunnie
8545f381d7 add project settings 2020-08-07 23:13:09 +08:00
bunnie
11131146be add test vector generation infrastructure for engine25519 2020-08-07 23:12:05 +08:00