serde_encrypt/
lib.rs

1//! serde-encrypt encrypts/decrypts any `strct`s and `enum`s that implement `serde::{Serialize, Deserialize`}.
2//!
3//! See [README.md](https://github.com/laysakura/serde-encrypt) for basic usage and implementation details.
4
5#![deny(missing_debug_implementations, missing_docs)]
6#![cfg_attr(not(feature = "std"), no_std)]
7
8extern crate alloc;
9
10pub mod encrypt;
11pub mod key;
12pub mod serialize;
13pub mod shared_key;
14pub mod traits;
15
16mod random;
17
18cfg_if::cfg_if! {
19    if #[cfg(feature = "std")] {
20        use once_cell::sync::Lazy;
21        use std::sync::{MutexGuard, Mutex};
22    } else {
23        use spin::{Lazy, MutexGuard, Mutex};
24    }
25}
26
27pub use serde_encrypt_core::{
28    encrypt::encrypted_message::EncryptedMessage,
29    error::{Error, ErrorKind},
30    key::{
31        as_shared_key::AsSharedKey,
32        combined_key::{ReceiverCombinedKey, SenderCombinedKey},
33        key_pair::{ReceiverKeyPairCore, SenderKeyPairCore},
34    },
35};