Crate rust_cryptoauthlib

Source

Structs§

AeadParam
AEAD algorithm parameters for compute
AtcaAesCcmCtx
Data context structure for AEAD encryption in CCM mode
AtcaIfaceCfg
ATECC interface configuration
AtcaIfaceI2c
ATECC I2C interface details
AtcaSlot
An ATECC slot
AtcaSlotCapacity
An ATECC slot capacity
ChipOptions
structure that stores data for options supported by the chip
CipherParam
Cipher algorithm parameters for compute
EccKeyAttr
Detailed ECC key attributes as stored in slot configuration
EcdhParams
ECDH function parameters
EcdhResult
ECDH result structure
HkdfDetails
KDF details for HKDF
KdfParams
KDF function parameters
KdfResult
KDF result structure
MacParam
MAC algorithm parameters for compute
PrfDetails
KDF details for PRF
ReadKey
Detailed ATECC key slot read attributes
SignEcdsaParam
Detailed parameters of calling the ECDSA signature function
SlotConfig
Detailed ATECC key slot configuration
VerifyEcdsaParam
Detailed parameters of calling the ECDSA verification function

Enums§

AeadAlgorithm
Type of AEAD algorithm
AtcaDeviceType
ATECC/ATSHA device types supported by CryptoAuth library
AtcaIfaceType
Supported ATECC interfaces
AtcaStatus
Return status for device accessing functions
CipherAlgorithm
Type of Cipher algorithm
CipherOperation
Cipher operation type
EcdhSource
Private key source for ECDH
EcdhTarget
Target where the result of the ECDH operation will be placed
FeedbackMode
Feedback mode of cipher algorithm
GenDigZone
Designates the source of the data to hash with TempKey for Generate Digest
HkdfMsgLoc
KDF details for HKDF. [place from which function should retrieve message for calculations]
InfoCmdType
Modes of calling the info_cmd() function
KdfAlgorithm
KDF algorithm to derive key
KdfPrfKeyLen
KDF details for PRF, source key length
KdfPrfTargetLen
KDF details for PRF, target length
KdfSource
KDF sources
KdfTarget
KDF targets. Possibility of exporting KDF function result outside the chip depends on “chip_options.kdf_output_protection” variable
KeyType
ATECC key slot types
MacAlgorithm
MAC algorithm to compute
NonceTarget
An ATECC/ATSHA device buffer to load
OutputProtectionState
Allowed IO transmission states between chip and host MCU for ECDH, KDF, Verify and SecureBoot commands.
SignMode
The mode of calling the ECDSA signature function
VerifyMode
The mode of calling the ECDSA verification function
WriteConfig
Detailed ATECC key slot write configuration

Constants§

ATCA_AES_DATA_SIZE
Size (in bytes) of AES data block
ATCA_AES_GCM_IV_STD_LENGTH
Standard NONCE (IV) length for AES GCM encryption (in bytes)
ATCA_AES_KEY_SIZE
Size (in bytes) of AES key
ATCA_ATECC_CONFIG_BUFFER_SIZE
Size of a configuration buffer size in ATECCx08
ATCA_ATECC_MIN_SLOT_IDX_FOR_PUB_KEY
Minimum ATECC slot number where a public ECC key can be stored
ATCA_ATECC_PRIV_KEY_SIZE
Private key size (in bytes) for elliptic curve P256 supported by ATECC
ATCA_ATECC_PUB_KEY_SIZE
Public key size (in bytes) for elliptic curve P256 supported by ATECC
ATCA_ATECC_SLOTS_COUNT
Number of key slots in ATECC cryptochip
ATCA_ATECC_TEMPKEY_KEYID
ATECC/ATSHA temporary key slot identifier
ATCA_ATSHA_CONFIG_BUFFER_SIZE
Size of a configuration buffer size in ATSHA 204A/206A
ATCA_BLOCK_SIZE
ATECC/ATSHA EEPROM block size
ATCA_ECDH_KEY_SIZE
ECDH output data size
ATCA_KDF_MAX_MSG_SIZE
KDF max message size
ATCA_KEY_SIZE
ATCA_LOCK_ZONE_CONFIG
ATCA_LOCK_ZONE_DATA
ATCA_NONCE_NUMIN_SIZE
Nonce NumIn size for random modes
ATCA_NONCE_SIZE
Nonce NumIn size for 32-byte pass-through mode
ATCA_RANDOM_BUFFER_SIZE
Number of random bytes generated by atcab_random call
ATCA_SERIAL_NUM_SIZE
Chip serial number size
ATCA_SHA2_256_DIGEST_SIZE
Size (in bytes) of SHA hash
ATCA_SIG_SIZE
Size (in bytes) of ECDSA signature
ATCA_ZONE_CONFIG
ATCA_ZONE_DATA
ATCA_ZONE_OTP
SHA_MODE_TARGET_MSGDIGBUF
Place resulting SHA256 digest both in Output buffer and Message Digest Buffer
SHA_MODE_TARGET_OUT_ONLY
Place resulting SHA256 digest in Output buffer ONLY
SHA_MODE_TARGET_TEMPKEY
Place resulting SHA256 digest both in Output buffer and TempKey

Traits§

AteccDeviceTrait

Functions§

setup_atecc_device

Type Aliases§

AteccDevice

Unions§

AtcaIface
ATECC interface