tiny_curve/
lib.rs

1#![cfg_attr(not(test), no_std)]
2#![cfg_attr(docsrs, feature(doc_auto_cfg))]
3#![doc = include_str!("../README.md")]
4#![deny(unsafe_code)]
5#![warn(
6    clippy::mod_module_files,
7    missing_docs,
8    missing_copy_implementations,
9    rust_2018_idioms,
10    trivial_casts,
11    trivial_numeric_casts,
12    unused_qualifications
13)]
14#![cfg_attr(not(test), warn(clippy::unwrap_used))]
15
16/*!
17## Features
18
19`serde`: `serde` support for [`elliptic_curve::PublicKey`]
20parametrized by the curves from this crate.
21
22`ecdsa`: [`ecdsa`] support for [`ecdsa::SigningKey`] and [`ecdsa::VerifyingKey`]
23parametrized by the curves from this crate.
24
25`pkcs8`: [`elliptic_curve::pkcs8`] support for [`elliptic_curve::SecretKey`]
26and [`elliptic_curve::PublicKey`] parametrized by the curves from this crate.
27
28`bip32`: [`bip32`](`::bip32`) support via newtypes [`PrivateKeyBip32`] and [`PublicKeyBip32`].
29*/
30
31mod curve16;
32mod curve32;
33mod curve64;
34mod hash;
35mod prime_field;
36mod primitives;
37mod reciprocal;
38mod traits;
39
40#[cfg(feature = "bip32")]
41mod bip32;
42
43pub use curve16::TinyCurve16;
44pub use curve32::TinyCurve32;
45pub use curve64::TinyCurve64;
46
47#[cfg(feature = "bip32")]
48pub use bip32::{PrivateKeyBip32, PublicKeyBip32};