Expand description
Explicit variable-time public-key surface.
Most items in this namespace use variable-time big-integer and ECC arithmetic and are unsuitable for side-channel exposed production signing/decryption.
Exception: X25519 and X448 (RFC 7748) are constant-time. They live
here because they share serialization conventions with the rest of the
public-key surface, but the scalar-mult primitive itself is hardened
against timing side channels on the secret scalar.
Re-exportsยง
pub use crate::public_key::bigint::BigInt;pub use crate::public_key::bigint::BigUint;pub use crate::public_key::bigint::MontgomeryCtx;pub use crate::public_key::bigint::Sign;pub use crate::public_key::cocks::Cocks;pub use crate::public_key::cocks::CocksPrivateKey;pub use crate::public_key::cocks::CocksPublicKey;pub use crate::public_key::dh::Dh;pub use crate::public_key::dh::DhParams;pub use crate::public_key::dh::DhPrivateKey;pub use crate::public_key::dh::DhPublicKey;pub use crate::public_key::dsa::Dsa;pub use crate::public_key::dsa::DsaPrivateKey;pub use crate::public_key::dsa::DsaPublicKey;pub use crate::public_key::dsa::DsaSignature;pub use crate::public_key::ec::b163;pub use crate::public_key::ec::b233;pub use crate::public_key::ec::b283;pub use crate::public_key::ec::b409;pub use crate::public_key::ec::b571;pub use crate::public_key::ec::k163;pub use crate::public_key::ec::k233;pub use crate::public_key::ec::k283;pub use crate::public_key::ec::k409;pub use crate::public_key::ec::k571;pub use crate::public_key::ec::p192;pub use crate::public_key::ec::p224;pub use crate::public_key::ec::p256;pub use crate::public_key::ec::p384;pub use crate::public_key::ec::p521;pub use crate::public_key::ec::secp256k1;pub use crate::public_key::ec::AffinePoint;pub use crate::public_key::ec::CurveParams;pub use crate::public_key::ec_elgamal::EcElGamal;pub use crate::public_key::ec_elgamal::EcElGamalCiphertext;pub use crate::public_key::ec_elgamal::EcElGamalPrivateKey;pub use crate::public_key::ec_elgamal::EcElGamalPublicKey;pub use crate::public_key::ecdh::Ecdh;pub use crate::public_key::ecdh::EcdhPrivateKey;pub use crate::public_key::ecdh::EcdhPublicKey;pub use crate::public_key::ecdsa::Ecdsa;pub use crate::public_key::ecdsa::EcdsaPrivateKey;pub use crate::public_key::ecdsa::EcdsaPublicKey;pub use crate::public_key::ecdsa::EcdsaSignature;pub use crate::public_key::ecies::Ecies;pub use crate::public_key::ecies::EciesPrivateKey;pub use crate::public_key::ecies::EciesPublicKey;pub use crate::public_key::ed25519::Ed25519;pub use crate::public_key::ed25519::Ed25519PrivateKey;pub use crate::public_key::ed25519::Ed25519PublicKey;pub use crate::public_key::ed25519::Ed25519Signature;pub use crate::public_key::eddsa::EdDsa;pub use crate::public_key::eddsa::EdDsaPrivateKey;pub use crate::public_key::eddsa::EdDsaPublicKey;pub use crate::public_key::eddsa::EdDsaSignature;pub use crate::public_key::edwards_dh::EdwardsDh;pub use crate::public_key::edwards_dh::EdwardsDhPrivateKey;pub use crate::public_key::edwards_dh::EdwardsDhPublicKey;pub use crate::public_key::edwards_elgamal::EdwardsElGamal;pub use crate::public_key::edwards_elgamal::EdwardsElGamalCiphertext;pub use crate::public_key::edwards_elgamal::EdwardsElGamalPrivateKey;pub use crate::public_key::edwards_elgamal::EdwardsElGamalPublicKey;pub use crate::public_key::elgamal::ElGamal;pub use crate::public_key::elgamal::ElGamalCiphertext;pub use crate::public_key::elgamal::ElGamalPrivateKey;pub use crate::public_key::elgamal::ElGamalPublicKey;pub use crate::public_key::ml_dsa::MlDsa;pub use crate::public_key::ml_dsa::MlDsaParameterSet;pub use crate::public_key::ml_dsa::MlDsaPrivateKey;pub use crate::public_key::ml_dsa::MlDsaPublicKey;pub use crate::public_key::ml_dsa::MlDsaSignature;pub use crate::public_key::ml_kem::MlKem;pub use crate::public_key::ml_kem::MlKemCiphertext;pub use crate::public_key::ml_kem::MlKemParameterSet;pub use crate::public_key::ml_kem::MlKemPrivateKey;pub use crate::public_key::ml_kem::MlKemPublicKey;pub use crate::public_key::paillier::Paillier;pub use crate::public_key::paillier::PaillierPrivateKey;pub use crate::public_key::paillier::PaillierPublicKey;pub use crate::public_key::rabin::Rabin;pub use crate::public_key::rabin::RabinPrivateKey;pub use crate::public_key::rabin::RabinPublicKey;pub use crate::public_key::rsa::Rsa;pub use crate::public_key::rsa::RsaPrivateKey;pub use crate::public_key::rsa::RsaPublicKey;pub use crate::public_key::rsa_pkcs1::RsaOaep;pub use crate::public_key::rsa_pkcs1::RsaPss;pub use crate::public_key::schmidt_samoa::SchmidtSamoa;pub use crate::public_key::schmidt_samoa::SchmidtSamoaPrivateKey;pub use crate::public_key::schmidt_samoa::SchmidtSamoaPublicKey;pub use crate::public_key::x25519::X25519PrivateKey;pub use crate::public_key::x25519::X25519PublicKey;pub use crate::public_key::x25519::X25519;pub use crate::public_key::x448::X448PrivateKey;pub use crate::public_key::x448::X448PublicKey;pub use crate::public_key::x448::X448;