Skip to main content

Crate noxtls_crypto

Crate noxtls_crypto 

Source
Expand description

Cryptographic primitives for NoxTLS.

This crate groups hash and MAC helpers (hash), deterministic randomness (drbg), public-key algorithms (pkc), and symmetric ciphers (sym) behind a single dependency surface re-exported from the crate root.

Re-exports§

pub use drbg::HmacDrbgSha256;
pub use hash::bcrypt_pbkdf_sha512;
pub use hash::decode_hex;
pub use hash::hkdf_expand_sha256;
pub use hash::hkdf_expand_sha384;
pub use hash::hkdf_extract_sha256;
pub use hash::hkdf_extract_sha384;
pub use hash::hmac_sha256;
pub use hash::hmac_sha384;
pub use hash::hmac_sha512;
pub use hash::sha1;
pub use hash::sha256;
pub use hash::sha384;
pub use hash::sha3_256;
pub use hash::sha3_384;
pub use hash::sha3_512;
pub use hash::sha512;
pub use hash::shake256;
pub use hash::tls12_finished_verify_data_sha256;
pub use hash::tls12_finished_verify_data_sha384;
pub use hash::tls12_prf_sha256;
pub use hash::tls12_prf_sha384;
pub use hash::Digest;
pub use hash::Sha256;
pub use hash::Sha512;
pub use hash::TlsTranscriptSha256;
pub use hash::TlsTranscriptSha384;
pub use pkc::ecc_generate_keypair_auto;
pub use pkc::ed25519_generate_private_key_auto;
pub use pkc::ed25519_public_key_from_subject_public_key_info;
pub use pkc::ed25519_verify;
pub use pkc::mldsa_generate_keypair_auto;
pub use pkc::mldsa_public_key_from_subject_public_key_info;
pub use pkc::mldsa_verify;
pub use pkc::mlkem_decapsulate;
pub use pkc::mlkem_encapsulate_auto;
pub use pkc::mlkem_generate_keypair_auto;
pub use pkc::p256_ecdh_shared_secret;
pub use pkc::p256_ecdsa_sign_digest;
pub use pkc::p256_ecdsa_sign_digest_auto;
pub use pkc::p256_ecdsa_sign_sha256;
pub use pkc::p256_ecdsa_sign_sha256_auto;
pub use pkc::p256_ecdsa_verify_digest;
pub use pkc::p256_ecdsa_verify_sha256;
pub use pkc::p256_generate_private_key_auto;
pub use pkc::rsa_generate_keypair_secure_auto;
pub use pkc::rsa_generate_keypair_with_policy_auto;
pub use pkc::rsaes_oaep_sha256_decrypt;
pub use pkc::rsaes_oaep_sha256_decrypt_crt_only;
pub use pkc::rsaes_oaep_sha256_encrypt_auto;
pub use pkc::rsaes_pkcs1_v15_decrypt;
pub use pkc::rsaes_pkcs1_v15_decrypt_crt_only;
pub use pkc::rsaes_pkcs1_v15_encrypt_auto;
pub use pkc::rsassa_pss_sha256_sign;
pub use pkc::rsassa_pss_sha256_sign_auto;
pub use pkc::rsassa_pss_sha256_verify;
pub use pkc::rsassa_pss_sha384_sign;
pub use pkc::rsassa_pss_sha384_sign_auto;
pub use pkc::rsassa_pss_sha384_verify;
pub use pkc::rsassa_sha1_sign;
pub use pkc::rsassa_sha1_verify;
pub use pkc::rsassa_sha256_sign;
pub use pkc::rsassa_sha256_verify;
pub use pkc::rsassa_sha384_sign;
pub use pkc::rsassa_sha384_verify;
pub use pkc::rsassa_sha512_sign;
pub use pkc::rsassa_sha512_verify;
pub use pkc::run_pq_self_tests;
pub use pkc::x25519;
pub use pkc::x25519_basepoint;
pub use pkc::x25519_generate_private_key_auto;
pub use pkc::x25519_shared_secret;
pub use pkc::EccKeyAlgorithm;
pub use pkc::EccPrivateKey;
pub use pkc::EccPublicKey;
pub use pkc::Ed25519PrivateKey;
pub use pkc::Ed25519PublicKey;
pub use pkc::MlDsaPrivateKey;
pub use pkc::MlDsaPublicKey;
pub use pkc::MlKemPrivateKey;
pub use pkc::MlKemPublicKey;
pub use pkc::P256PrivateKey;
pub use pkc::P256PublicKey;
pub use pkc::RsaKeySizePolicy;
pub use pkc::RsaPrivateKey;
pub use pkc::RsaPublicKey;
pub use pkc::X25519PrivateKey;
pub use pkc::X25519PublicKey;
pub use pkc::X448PrivateKey;
pub use pkc::X448PublicKey;
pub use pkc::MLKEM_CIPHERTEXT_LEN;
pub use pkc::MLKEM_PRIVATE_KEY_LEN;
pub use pkc::MLKEM_PUBLIC_KEY_LEN;
pub use pkc::MLKEM_SHARED_SECRET_LEN;
pub use pkc::OID_ID_MLDSA65;
pub use sym::aes_cbc_decrypt;
pub use sym::aes_cbc_encrypt;
pub use sym::aes_ccm_decrypt;
pub use sym::aes_ccm_encrypt;
pub use sym::aes_cfb_apply;
pub use sym::aes_cfb_decrypt;
pub use sym::aes_cfb_encrypt;
pub use sym::aes_ctr_apply;
pub use sym::aes_gcm_decrypt;
pub use sym::aes_gcm_encrypt;
pub use sym::aes_ofb_apply;
pub use sym::aes_xts_decrypt;
pub use sym::aes_xts_encrypt;
pub use sym::aria_cbc_decrypt;
pub use sym::aria_cbc_encrypt;
pub use sym::aria_cfb_apply;
pub use sym::aria_cfb_decrypt;
pub use sym::aria_cfb_encrypt;
pub use sym::aria_ctr_apply;
pub use sym::aria_ctr_decrypt;
pub use sym::aria_ctr_encrypt;
pub use sym::aria_ofb_apply;
pub use sym::aria_ofb_decrypt;
pub use sym::aria_ofb_encrypt;
pub use sym::camellia_cbc_decrypt;
pub use sym::camellia_cbc_encrypt;
pub use sym::camellia_cfb_apply;
pub use sym::camellia_cfb_decrypt;
pub use sym::camellia_cfb_encrypt;
pub use sym::camellia_ctr_apply;
pub use sym::camellia_ctr_decrypt;
pub use sym::camellia_ctr_encrypt;
pub use sym::camellia_ofb_apply;
pub use sym::camellia_ofb_decrypt;
pub use sym::camellia_ofb_encrypt;
pub use sym::chacha20_poly1305_decrypt;
pub use sym::chacha20_poly1305_encrypt;
pub use sym::poly1305_key_gen;
pub use sym::poly1305_mac;
pub use sym::poly1305_tags_equal;
pub use sym::AesCipher;
pub use sym::AriaCipher;
pub use sym::CamelliaCipher;
pub use sym::ChaCha20;

Modules§

drbg
hash
Hashing, HMAC/HKDF helpers, TLS transcript digests, and SHA-3 / SHAKE256.
pkc
Public-key cryptography: RSA, ECC, X25519/X448, Ed25519, ML-KEM, and ML-DSA.
sym
Symmetric encryption, AEAD, and message authentication (Poly1305).