rust_cryptoauthlib/
constants.rs

1/// ATECC/ATSHA EEPROM block size
2pub const ATCA_BLOCK_SIZE: usize = cryptoauthlib_sys::ATCA_BLOCK_SIZE as usize;
3/// Number of random bytes generated by atcab_random call
4pub const ATCA_RANDOM_BUFFER_SIZE: usize = ATCA_BLOCK_SIZE;
5/// Size of a configuration buffer size in ATSHA 204A/206A
6pub const ATCA_ATSHA_CONFIG_BUFFER_SIZE: usize = cryptoauthlib_sys::ATCA_SHA_CONFIG_SIZE as usize;
7/// Size of a configuration buffer size in ATECCx08
8pub const ATCA_ATECC_CONFIG_BUFFER_SIZE: usize = cryptoauthlib_sys::ATCA_ECC_CONFIG_SIZE as usize;
9pub const ATCA_ZONE_CONFIG: u8 = 0x00;
10pub const ATCA_ZONE_OTP: u8 = 0x01;
11pub const ATCA_ZONE_DATA: u8 = 0x02;
12pub const ATCA_LOCK_ZONE_CONFIG: u8 = ATCA_ZONE_CONFIG;
13pub const ATCA_LOCK_ZONE_DATA: u8 = 0x01;
14/// Number of key slots in ATECC cryptochip
15pub const ATCA_ATECC_SLOTS_COUNT: u8 = 16;
16/// Minimum ATECC slot number where a public ECC key can be stored
17pub const ATCA_ATECC_MIN_SLOT_IDX_FOR_PUB_KEY: u8 = 8;
18/// Chip serial number size
19pub const ATCA_SERIAL_NUM_SIZE: usize = cryptoauthlib_sys::ATCA_SERIAL_NUM_SIZE as usize;
20/// ATECC/ATSHA temporary key slot identifier
21pub const ATCA_ATECC_TEMPKEY_KEYID: u16 = cryptoauthlib_sys::ATCA_TEMPKEY_KEYID as u16;
22pub const ATCA_KEY_SIZE: usize = cryptoauthlib_sys::ATCA_KEY_SIZE as usize;
23/// Size (in bytes) of AES data block
24pub const ATCA_AES_DATA_SIZE:usize = cryptoauthlib_sys::AES_DATA_SIZE as usize;
25/// Size (in bytes) of AES key
26pub const ATCA_AES_KEY_SIZE: usize = cryptoauthlib_sys::AES_DATA_SIZE as usize;
27/// Standard NONCE (IV) length for AES GCM encryption (in bytes)
28pub const ATCA_AES_GCM_IV_STD_LENGTH: usize = cryptoauthlib_sys::ATCA_AES_GCM_IV_STD_LENGTH as usize;
29/// Size (in bytes) of SHA hash
30pub const ATCA_SHA2_256_DIGEST_SIZE: usize = cryptoauthlib_sys::ATCA_SHA2_256_DIGEST_SIZE as usize;
31/// Place resulting SHA256 digest both in Output buffer and TempKey
32pub const SHA_MODE_TARGET_TEMPKEY: u8 = 0x00;
33/// Place resulting SHA256 digest both in Output buffer and Message Digest Buffer
34pub const SHA_MODE_TARGET_MSGDIGBUF: u8 = 0x40;
35/// Place resulting SHA256 digest in Output buffer ONLY
36pub const SHA_MODE_TARGET_OUT_ONLY: u8 = 0xC0;
37/// Private key size (in bytes) for elliptic curve P256 supported by ATECC
38pub const ATCA_ATECC_PRIV_KEY_SIZE: usize = cryptoauthlib_sys::ATCA_PRIV_KEY_SIZE as usize;
39/// Public key size (in bytes) for elliptic curve P256 supported by ATECC
40pub const ATCA_ATECC_PUB_KEY_SIZE: usize = cryptoauthlib_sys::ATCA_PUB_KEY_SIZE as usize;
41/// Nonce NumIn size for random modes
42pub const ATCA_NONCE_NUMIN_SIZE: usize = cryptoauthlib_sys::NONCE_NUMIN_SIZE as usize;
43/// Nonce NumIn size for 32-byte pass-through mode
44pub const ATCA_NONCE_SIZE: usize = cryptoauthlib_sys::OUTNONCE_SIZE as usize;
45/// Size (in bytes) of ECDSA signature
46pub const ATCA_SIG_SIZE: usize = cryptoauthlib_sys::ATCA_SIG_SIZE as usize;
47/// KDF max message size
48pub const ATCA_KDF_MAX_MSG_SIZE: usize = 0x7F;
49/// ECDH output data size
50pub const ATCA_ECDH_KEY_SIZE: usize = cryptoauthlib_sys::ECDH_KEY_SIZE as usize;