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::X25519;pub use crate::public_key::x25519::X25519PrivateKey;pub use crate::public_key::x25519::X25519PublicKey;pub use crate::public_key::x448::X448;pub use crate::public_key::x448::X448PrivateKey;pub use crate::public_key::x448::X448PublicKey;
Structs§
- Ntru
Ees401 Ep1 - Ntru
Ees401 Ep1Ciphertext - Ntru
Ees401 Ep1Private Key - Ntru
Ees401 Ep1Public Key - Ntru
Ees443 Ep1 - Ntru
Ees443 Ep1Ciphertext - Ntru
Ees443 Ep1Private Key - Ntru
Ees443 Ep1Public Key - Ntru
Ees449 Ep1 - Ntru
Ees449 Ep1Ciphertext - Ntru
Ees449 Ep1Private Key - Ntru
Ees449 Ep1Public Key - Ntru
Ees541 Ep1 - Ntru
Ees541 Ep1Ciphertext - Ntru
Ees541 Ep1Private Key - Ntru
Ees541 Ep1Public Key - Ntru
Ees677 Ep1 - Ntru
Ees677 Ep1Ciphertext - Ntru
Ees677 Ep1Private Key - Ntru
Ees677 Ep1Public Key - Ntru
Ees1087 Ep1 - Ntru
Ees1087 Ep2 - Ntru
Ees1087 Ep1Ciphertext - Ntru
Ees1087 Ep1Private Key - Ntru
Ees1087 Ep1Public Key - Ntru
Ees1087 Ep2Ciphertext - Ntru
Ees1087 Ep2Private Key - Ntru
Ees1087 Ep2Public Key - Ntru
Ees1171 Ep1 - Ntru
Ees1171 Ep1Ciphertext - Ntru
Ees1171 Ep1Private Key - Ntru
Ees1171 Ep1Public Key - Ntru
Ees1499 Ep1 - Ntru
Ees1499 Ep1Ciphertext - Ntru
Ees1499 Ep1Private Key - Ntru
Ees1499 Ep1Public Key - Ntru
Hps509 - Ntru
Hps677 - Ntru
Hps821 - Ntru
Hps509 Ciphertext - Ntru
Hps509 Private Key - Ntru
Hps509 Public Key - Ntru
Hps509 Shared Secret - Ntru
Hps677 Ciphertext - Ntru
Hps677 Private Key - Ntru
Hps677 Public Key - Ntru
Hps677 Shared Secret - Ntru
Hps821 Ciphertext - Ntru
Hps821 Private Key - Ntru
Hps821 Public Key - Ntru
Hps821 Shared Secret - Ntru
Hrss701 - Ntru
Hrss701 Ciphertext - Ntru
Hrss701 Private Key - Ntru
Hrss701 Public Key - Ntru
Hrss701 Shared Secret