lib.rs (4603B)
1 #![cfg_attr(not(feature = "std"), no_std)] 2 #![forbid(unsafe_code)] 3 4 extern crate alloc; 5 6 pub mod auth; 7 pub mod error; 8 pub mod message; 9 pub mod official_ratchet; 10 pub mod ratchet; 11 pub mod short_link; 12 13 pub mod prelude { 14 pub use crate::auth::{ 15 RadrootsSimplexSmpCommandAuthorization, RadrootsSimplexSmpEd25519Keypair, 16 RadrootsSimplexSmpQueueAuthorizationMaterial, RadrootsSimplexSmpQueueAuthorizationScope, 17 decode_ed25519_public_key_x509, decode_x25519_public_key_x509, 18 encode_ed25519_public_key_x509, encode_x25519_public_key_x509, verify_signature, 19 }; 20 pub use crate::error::RadrootsSimplexSmpCryptoError; 21 pub use crate::message::{ 22 RADROOTS_SIMPLEX_SMP_NONCE_LENGTH, RADROOTS_SIMPLEX_SMP_SHARED_SECRET_LENGTH, 23 RadrootsSimplexSmpSecretBoxChainKey, RadrootsSimplexSmpX25519Keypair, 24 advance_secretbox_chain, decrypt_no_pad, decrypt_padded, derive_shared_secret, 25 encrypt_no_pad, encrypt_padded, init_secretbox_chain, random_nonce, 26 }; 27 pub use crate::official_ratchet::{ 28 RADROOTS_SIMPLEX_OFFICIAL_AES_AUTH_TAG_LENGTH, RADROOTS_SIMPLEX_OFFICIAL_AES_IV_LENGTH, 29 RADROOTS_SIMPLEX_OFFICIAL_AES_KEY_LENGTH, RADROOTS_SIMPLEX_OFFICIAL_CHAIN_RATCHET_INFO, 30 RADROOTS_SIMPLEX_OFFICIAL_E2E_CURRENT_VERSION, RADROOTS_SIMPLEX_OFFICIAL_E2E_KDF_VERSION, 31 RADROOTS_SIMPLEX_OFFICIAL_E2E_PQ_VERSION, 32 RADROOTS_SIMPLEX_OFFICIAL_PQ_RATCHET_HEADER_LENGTH, 33 RADROOTS_SIMPLEX_OFFICIAL_RATCHET_HEADER_LENGTH, 34 RADROOTS_SIMPLEX_OFFICIAL_ROOT_RATCHET_INFO, 35 RADROOTS_SIMPLEX_OFFICIAL_SNTRUP761_CIPHERTEXT_LENGTH, 36 RADROOTS_SIMPLEX_OFFICIAL_SNTRUP761_PRIVATE_KEY_LENGTH, 37 RADROOTS_SIMPLEX_OFFICIAL_SNTRUP761_PUBLIC_KEY_LENGTH, 38 RADROOTS_SIMPLEX_OFFICIAL_SNTRUP761_SHARED_SECRET_LENGTH, 39 RADROOTS_SIMPLEX_OFFICIAL_X3DH_INFO, RADROOTS_SIMPLEX_OFFICIAL_X448_KEY_LENGTH, 40 RADROOTS_SIMPLEX_OFFICIAL_X448_SHARED_SECRET_LENGTH, RadrootsSimplexOfficialAesGcmPayload, 41 RadrootsSimplexOfficialChainKdfOutput, RadrootsSimplexOfficialEncryptedHeader, 42 RadrootsSimplexOfficialEncryptedMessage, RadrootsSimplexOfficialMsgHeader, 43 RadrootsSimplexOfficialRootKdfOutput, RadrootsSimplexOfficialSntrup761Keypair, 44 RadrootsSimplexOfficialX3dhInit, RadrootsSimplexOfficialX3dhParams, 45 RadrootsSimplexOfficialX3dhReceiverPqInit, RadrootsSimplexOfficialX3dhSenderPqInit, 46 RadrootsSimplexOfficialX448Keypair, decapsulate_official_sntrup761, 47 decode_official_encrypted_header, decode_official_encrypted_message, 48 decode_official_msg_header, decode_official_x3dh_params_uri, 49 decode_official_x448_public_key_der, derive_official_x448_shared_secret, 50 encapsulate_official_sntrup761, encode_official_encrypted_header, 51 encode_official_encrypted_message, encode_official_msg_header, 52 encode_official_x3dh_params_uri, encode_official_x448_public_key_der, 53 generate_official_sntrup761_keypair, generate_official_x448_keypair, 54 official_aes_gcm_decrypt_padded, official_aes_gcm_encrypt_padded, official_chain_kdf, 55 official_encoded_encrypted_header_len, official_encoded_encrypted_message_len, 56 official_full_header_len, official_ratchet_header_len, official_root_kdf, 57 official_sntrup761_keypair_from_seed, official_x3dh_receiver_init, 58 official_x3dh_receiver_init_accepting_pq, official_x3dh_sender_init, 59 official_x3dh_sender_init_accepting_pq, official_x448_keypair_from_seed, 60 }; 61 pub use crate::ratchet::{ 62 RadrootsSimplexSmpRatchetHeader, RadrootsSimplexSmpRatchetRole, 63 RadrootsSimplexSmpRatchetState, RadrootsSimplexSmpSkippedMessageKey, 64 }; 65 pub use crate::short_link::{ 66 RADROOTS_SIMPLEX_SMP_SHORT_LINK_CONTACT_INFO, 67 RADROOTS_SIMPLEX_SMP_SHORT_LINK_CONTACT_KDF_OUTPUT_LENGTH, 68 RADROOTS_SIMPLEX_SMP_SHORT_LINK_FIXED_DATA_PADDED_LENGTH, 69 RADROOTS_SIMPLEX_SMP_SHORT_LINK_ID_LENGTH, RADROOTS_SIMPLEX_SMP_SHORT_LINK_INVITATION_INFO, 70 RADROOTS_SIMPLEX_SMP_SHORT_LINK_KEY_LENGTH, 71 RADROOTS_SIMPLEX_SMP_SHORT_LINK_SIGNATURE_LENGTH, 72 RADROOTS_SIMPLEX_SMP_SHORT_LINK_USER_DATA_PADDED_LENGTH, 73 RadrootsSimplexSmpContactShortLinkKeyMaterial, RadrootsSimplexSmpVerifiedShortLinkData, 74 decrypt_short_link_data, decrypt_verify_short_link_data, 75 derive_contact_short_link_key_material, derive_invitation_short_link_data_key, 76 encrypt_short_link_data, encrypt_short_link_data_with_nonces, sign_short_link_data, 77 verify_signed_short_link_data, 78 }; 79 }