Skip to main content

Module vt

Module vt 

Source
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::ml_kem::MlKemSharedSecret;
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§

NtruEes401Ep1
NtruEes401Ep1Ciphertext
NtruEes401Ep1PrivateKey
NtruEes401Ep1PublicKey
NtruEes443Ep1
NtruEes443Ep1Ciphertext
NtruEes443Ep1PrivateKey
NtruEes443Ep1PublicKey
NtruEes449Ep1
NtruEes449Ep1Ciphertext
NtruEes449Ep1PrivateKey
NtruEes449Ep1PublicKey
NtruEes541Ep1
NtruEes541Ep1Ciphertext
NtruEes541Ep1PrivateKey
NtruEes541Ep1PublicKey
NtruEes677Ep1
NtruEes677Ep1Ciphertext
NtruEes677Ep1PrivateKey
NtruEes677Ep1PublicKey
NtruEes1087Ep1
NtruEes1087Ep2
NtruEes1087Ep1Ciphertext
NtruEes1087Ep1PrivateKey
NtruEes1087Ep1PublicKey
NtruEes1087Ep2Ciphertext
NtruEes1087Ep2PrivateKey
NtruEes1087Ep2PublicKey
NtruEes1171Ep1
NtruEes1171Ep1Ciphertext
NtruEes1171Ep1PrivateKey
NtruEes1171Ep1PublicKey
NtruEes1499Ep1
NtruEes1499Ep1Ciphertext
NtruEes1499Ep1PrivateKey
NtruEes1499Ep1PublicKey
NtruHps509
NtruHps677
NtruHps821
NtruHps509Ciphertext
NtruHps509PrivateKey
NtruHps509PublicKey
NtruHps509SharedSecret
NtruHps677Ciphertext
NtruHps677PrivateKey
NtruHps677PublicKey
NtruHps677SharedSecret
NtruHps821Ciphertext
NtruHps821PrivateKey
NtruHps821PublicKey
NtruHps821SharedSecret
NtruHrss701
NtruHrss701Ciphertext
NtruHrss701PrivateKey
NtruHrss701PublicKey
NtruHrss701SharedSecret

Enums§

NtruEesError