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::noxtls_bcrypt_pbkdf_sha512;
pub use hash::noxtls_decode_hex;
pub use hash::noxtls_hkdf_expand_sha256;
pub use hash::noxtls_hkdf_expand_sha384;
pub use hash::noxtls_hkdf_extract_sha256;
pub use hash::noxtls_hkdf_extract_sha384;
pub use hash::noxtls_hmac_sha1;
pub use hash::noxtls_hmac_sha256;
pub use hash::noxtls_hmac_sha384;
pub use hash::noxtls_hmac_sha512;
pub use hash::noxtls_sha1;
pub use hash::noxtls_sha256;
pub use hash::noxtls_sha384;
pub use hash::noxtls_sha3_256;
pub use hash::noxtls_sha3_384;
pub use hash::noxtls_sha3_512;
pub use hash::noxtls_sha512;
pub use hash::noxtls_shake128;
pub use hash::noxtls_shake256;
pub use hash::noxtls_tls12_finished_verify_data_sha256;
pub use hash::noxtls_tls12_finished_verify_data_sha384;
pub use hash::noxtls_tls12_prf_sha256;
pub use hash::noxtls_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::noxtls_ecc_generate_keypair_auto;
pub use pkc::noxtls_ed25519_generate_private_key_auto;
pub use pkc::noxtls_ed25519_public_key_from_subject_public_key_info;
pub use pkc::noxtls_ed25519_verify;
pub use pkc::noxtls_ed448_generate_private_key_auto;
pub use pkc::noxtls_ed448_public_key_from_subject_public_key_info;
pub use pkc::noxtls_ed448_verify;
pub use pkc::noxtls_ffdhe_public_key;
pub use pkc::noxtls_ffdhe_shared_secret;
pub use pkc::noxtls_mldsa_generate_keypair_auto;
pub use pkc::noxtls_mldsa_public_key_from_subject_public_key_info;
pub use pkc::noxtls_mldsa_verify;
pub use pkc::noxtls_mlkem_decapsulate;
pub use pkc::noxtls_mlkem_encapsulate_auto;
pub use pkc::noxtls_mlkem_generate_keypair_auto;
pub use pkc::noxtls_mlkem_generate_keypair_auto_for_parameter_set;
pub use pkc::noxtls_named_curve_from_mbedtls_name;
pub use pkc::noxtls_named_curve_info;
pub use pkc::noxtls_named_ec_generate_private_key_auto;
pub use pkc::noxtls_named_ecdh_shared_secret;
pub use pkc::noxtls_named_ecdsa_sign_digest;
pub use pkc::noxtls_named_ecdsa_verify_digest;
pub use pkc::noxtls_p256_ecdh_shared_secret;
pub use pkc::noxtls_p256_ecdsa_sign_digest;
pub use pkc::noxtls_p256_ecdsa_sign_digest_auto;
pub use pkc::noxtls_p256_ecdsa_sign_sha256;
pub use pkc::noxtls_p256_ecdsa_sign_sha256_auto;
pub use pkc::noxtls_p256_ecdsa_verify_digest;
pub use pkc::noxtls_p256_ecdsa_verify_sha256;
pub use pkc::noxtls_p256_generate_private_key_auto;
pub use pkc::noxtls_p384_ecdh_shared_secret;
pub use pkc::noxtls_p384_ecdsa_sign_digest;
pub use pkc::noxtls_p384_ecdsa_sign_digest_auto;
pub use pkc::noxtls_p384_ecdsa_sign_sha384;
pub use pkc::noxtls_p384_ecdsa_sign_sha384_auto;
pub use pkc::noxtls_p384_ecdsa_verify_digest;
pub use pkc::noxtls_p384_ecdsa_verify_sha384;
pub use pkc::noxtls_p384_generate_private_key_auto;
pub use pkc::noxtls_rsa_generate_keypair_secure_auto;
pub use pkc::noxtls_rsa_generate_keypair_with_policy_auto;
pub use pkc::noxtls_rsaes_oaep_sha256_decrypt;
pub use pkc::noxtls_rsaes_oaep_sha256_decrypt_crt_only;
pub use pkc::noxtls_rsaes_oaep_sha256_encrypt_auto;
pub use pkc::noxtls_rsaes_pkcs1_v15_decrypt;
pub use pkc::noxtls_rsaes_pkcs1_v15_decrypt_crt_only;
pub use pkc::noxtls_rsaes_pkcs1_v15_encrypt_auto;
pub use pkc::noxtls_rsassa_pss_sha256_sign;
pub use pkc::noxtls_rsassa_pss_sha256_sign_auto;
pub use pkc::noxtls_rsassa_pss_sha256_verify;
pub use pkc::noxtls_rsassa_pss_sha384_sign;
pub use pkc::noxtls_rsassa_pss_sha384_sign_auto;
pub use pkc::noxtls_rsassa_pss_sha384_verify;
pub use pkc::noxtls_rsassa_pss_sign;
pub use pkc::noxtls_rsassa_pss_verify;
pub use pkc::noxtls_rsassa_sha1_sign;
pub use pkc::noxtls_rsassa_sha1_verify;
pub use pkc::noxtls_rsassa_sha256_sign;
pub use pkc::noxtls_rsassa_sha256_verify;
pub use pkc::noxtls_rsassa_sha384_sign;
pub use pkc::noxtls_rsassa_sha384_verify;
pub use pkc::noxtls_rsassa_sha512_sign;
pub use pkc::noxtls_rsassa_sha512_verify;
pub use pkc::noxtls_run_pq_self_tests;
pub use pkc::noxtls_secp256k1_ecdsa_sign_sha256;
pub use pkc::noxtls_secp521r1_ecdsa_sign_sha512;
pub use pkc::noxtls_x25519;
pub use pkc::noxtls_x25519_basepoint;
pub use pkc::noxtls_x25519_generate_private_key_auto;
pub use pkc::noxtls_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::Ed448PrivateKey;
pub use pkc::Ed448PublicKey;
pub use pkc::MlDsaPrivateKey;
pub use pkc::MlDsaPublicKey;
pub use pkc::MlKemParameterSet;
pub use pkc::MlKemPrivateKey;
pub use pkc::MlKemPublicKey;
pub use pkc::NamedCurve;
pub use pkc::NamedCurveInfo;
pub use pkc::NamedEcPrivateKey;
pub use pkc::NamedEcPublicKey;
pub use pkc::P256PrivateKey;
pub use pkc::P256PublicKey;
pub use pkc::P384PrivateKey;
pub use pkc::P384PublicKey;
pub use pkc::RsaKeySizePolicy;
pub use pkc::RsaPrivateKey;
pub use pkc::RsaPssHashAlgorithm;
pub use pkc::RsaPublicKey;
pub use pkc::X25519PrivateKey;
pub use pkc::X25519PublicKey;
pub use pkc::X448PrivateKey;
pub use pkc::X448PublicKey;
pub use pkc::MLKEM1024_CIPHERTEXT_LEN;
pub use pkc::MLKEM1024_PRIVATE_KEY_LEN;
pub use pkc::MLKEM1024_PUBLIC_KEY_LEN;
pub use pkc::MLKEM512_CIPHERTEXT_LEN;
pub use pkc::MLKEM512_PRIVATE_KEY_LEN;
pub use pkc::MLKEM512_PUBLIC_KEY_LEN;
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::NOXTLS_MBEDTLS_ECC_CURVES;
pub use pkc::OID_ID_MLDSA65;
pub use sym::noxtls_aes_cbc_decrypt;
pub use sym::noxtls_aes_cbc_encrypt;
pub use sym::noxtls_aes_ccm_decrypt;
pub use sym::noxtls_aes_ccm_decrypt_with_tag_len;
pub use sym::noxtls_aes_ccm_encrypt;
pub use sym::noxtls_aes_ccm_encrypt_with_tag_len;
pub use sym::noxtls_aes_cfb_apply;
pub use sym::noxtls_aes_cfb_decrypt;
pub use sym::noxtls_aes_cfb_encrypt;
pub use sym::noxtls_aes_ctr_apply;
pub use sym::noxtls_aes_gcm_decrypt;
pub use sym::noxtls_aes_gcm_encrypt;
pub use sym::noxtls_aes_ofb_apply;
pub use sym::noxtls_aes_xts_decrypt;
pub use sym::noxtls_aes_xts_encrypt;
pub use sym::noxtls_aria_cbc_decrypt;
pub use sym::noxtls_aria_cbc_encrypt;
pub use sym::noxtls_aria_cfb_apply;
pub use sym::noxtls_aria_cfb_decrypt;
pub use sym::noxtls_aria_cfb_encrypt;
pub use sym::noxtls_aria_ctr_apply;
pub use sym::noxtls_aria_ctr_decrypt;
pub use sym::noxtls_aria_ctr_encrypt;
pub use sym::noxtls_aria_ofb_apply;
pub use sym::noxtls_aria_ofb_decrypt;
pub use sym::noxtls_aria_ofb_encrypt;
pub use sym::noxtls_camellia_cbc_decrypt;
pub use sym::noxtls_camellia_cbc_encrypt;
pub use sym::noxtls_camellia_cfb_apply;
pub use sym::noxtls_camellia_cfb_decrypt;
pub use sym::noxtls_camellia_cfb_encrypt;
pub use sym::noxtls_camellia_ctr_apply;
pub use sym::noxtls_camellia_ctr_decrypt;
pub use sym::noxtls_camellia_ctr_encrypt;
pub use sym::noxtls_camellia_ofb_apply;
pub use sym::noxtls_camellia_ofb_decrypt;
pub use sym::noxtls_camellia_ofb_encrypt;
pub use sym::noxtls_chacha20_poly1305_decrypt;
pub use sym::noxtls_chacha20_poly1305_encrypt;
pub use sym::noxtls_poly1305_key_gen;
pub use sym::noxtls_poly1305_mac;
pub use sym::noxtls_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).