askar_crypto/
lib.rs

1//! Cryptography primitives and operations for Askar.
2
3#![no_std]
4#![cfg_attr(docsrs, feature(doc_cfg))]
5#![deny(missing_docs, missing_debug_implementations, rust_2018_idioms)]
6#![allow(unused_extern_crates)]
7
8// `extern crate secure_env` is used here to include a symbol `ANativeActivity_onCreate`
9// So we can get a pointer to `activity` on android, which is required to initialize the
10// binding to the JVM.
11#[cfg(all(target_os = "android", feature = "p256_hardware"))]
12extern crate secure_env;
13
14#[cfg(feature = "alloc")]
15extern crate alloc;
16
17#[cfg(any(test, feature = "std"))]
18#[macro_use]
19extern crate std;
20
21#[cfg(test)]
22#[macro_use]
23extern crate hex_literal;
24
25#[macro_use]
26mod error;
27pub use self::error::{Error, ErrorKind};
28
29// re-export
30pub use aead::generic_array;
31
32pub mod alg;
33
34pub mod backend;
35
36pub mod buffer;
37
38pub mod encrypt;
39
40pub mod jwk;
41
42pub mod kdf;
43
44pub mod random;
45
46pub mod sign;
47
48pub mod repr;