Tony Arcieri f6426cfb13 rfc6979: add K-163 test vector; fix nonaligned use (#781)
RFC6979 Appendix A.1. provides a "Detailed Example" which exercises
several edge cases in the protocol:

- `bits2int` for an input which is not byte-aligned
- Rejecting inputs which exceed the modulus

This commit adds what was missing from the previous implementation which
assumed inputs were always aligned to the size of the digest output: a
constant-time right shift by the number of bits by which the modulus is
smaller than a byte-aligned value.
2024-01-16 21:25:52 -07:00
2020-03-16 10:42:18 -07:00
2023-10-15 12:47:41 -06:00
2023-04-23 20:01:18 -06:00

RustCrypto: Signatures Project Chat dependency status

Support for digital signatures, which provide authentication of data using public-key cryptography.

All algorithms reside in the separate crates and implemented using traits from the signature crate.

Crates are designed so they do not require the standard library (i.e. no_std) and can be easily used for bare-metal or lightweight WebAssembly programming.

Crates

Name Algorithm Crates.io Documentation Build
dsa DSA crates.io Documentation dsa build
ecdsa ECDSA crates.io Documentation ecdsa build
ed25519 Ed25519 crates.io Documentation ed25519 build
ed448 Ed448 crates.io Documentation ed448 build
rfc6979 RFC6979 crates.io Documentation rfc6979 build

NOTE: for RSA signatures see https://github.com/RustCrypto/RSA

Usage

Crates functionality is expressed in terms of traits defined in the signature crate.

License

All crates licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

S
Description
Automated archival mirror of github.com/RustCrypto/signatures
Readme 11 MiB
Languages
Rust 100%