[][src]Module bluetooth_mesh::crypto

Crypto functions (AES, ECDH) that the Mesh uses. AES is primarily used in the crypto::k_funcs and in network/application layer encryption. ECDH is used for the provisioning key exchange.

Re-exports

pub use k_funcs::k1;
pub use k_funcs::k2;
pub use k_funcs::k3;
pub use k_funcs::k4;
pub use k_funcs::s1;

Modules

aes

A module for crypto AES functions. Essentially a wrapper around a 3rd party AES crypto lib (aes_soft in this case). This lets the rest of the library code to not have a hard dependence on any 3rd party libs. Bluetooth Mesh uses 128-bit exclusively as its Key bit size.

k_funcs

Bluetooth Mesh Crypto Functions Defined in the Core Spec v1.0

key

Crypto Keys uses for Mesh Security.

materials

Collection of security materials (Keys, NID, AID, etc) used for encryption and decryption.

nonce

Bluetooth Mesh nonces. Based on Mesh Core Spec v1.0.

Structs

AID

6 bit Application Key ID

AKF
ECDHSecret
NetworkID
ProvisioningSalt
Salt
TryFromBlockError

Enums

KeyRefreshPhases
MIC

Functions

hex_16_to_array

Helper function to convert a 16 byte (32 character) hex string to 16 byte array. Returns None if hex.len() != 32 or if hex contains non-hex characters.