scsys_crypto/
lib.rs

1/*
2    Appellation: scsys-crypto <library>
3    Contrib: @FL03
4*/
5//! cryptographic primitives and utilities for the `scsys` ecosystem.
6#![cfg_attr(not(feature = "std"), no_std)]
7#![doc(
8    html_logo_url = "https://raw.githubusercontent.com/scattered-systems/.github/main/assets/logo.png",
9    html_favicon_url = "https://raw.githubusercontent.com/scattered-systems/.github/main/assets/favicon.ico"
10)]
11
12#[cfg(feature = "alloc")]
13extern crate alloc;
14
15#[macro_use]
16pub(crate) mod macros {
17    #[macro_use]
18    pub mod seal;
19}
20
21#[allow(unused_imports)]
22pub(crate) use scsys_core::gsw;
23
24#[cfg(feature = "hash")]
25pub use self::hash::prelude::*;
26#[doc(inline)]
27pub use self::{error::*, traits::prelude::*, utils::prelude::*};
28
29pub mod error;
30#[cfg(feature = "hash")]
31pub mod hash;
32
33pub mod traits {
34    #[doc(inline)]
35    pub use self::prelude::*;
36
37    pub mod concat;
38
39    pub(crate) mod prelude {
40        #[doc(inline)]
41        pub use super::concat::*;
42    }
43}
44
45pub mod utils {
46    //! core utilities for the [`crypto`](crate) modules
47    #[doc(inline)]
48    pub use self::prelude::*;
49
50    pub mod convert;
51
52    pub(crate) mod prelude {
53        #[doc(inline)]
54        pub use super::convert::*;
55    }
56}
57
58pub mod prelude {
59
60    #[cfg(feature = "hash")]
61    #[doc(no_inline)]
62    pub use crate::hash::prelude::*;
63    #[doc(no_inline)]
64    pub use crate::traits::prelude::*;
65    #[doc(no_inline)]
66    pub use crate::utils::prelude::*;
67}