CryptoAuthLib
Microchip CryptoAuthentication Library
atca_basic_nonce.c File Reference

CryptoAuthLib Basic API methods for Nonce command. More...

#include "atca_basic.h"
#include "atca_execution.h"

Functions

ATCA_STATUS atcab_nonce_base (uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out)
 Executes Nonce command, which loads a random or fixed nonce/data into the device for use by subsequent commands. More...
 
ATCA_STATUS atcab_nonce (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_nonce_load (uint8_t target, const uint8_t *num_in, uint16_t num_in_size)
 Execute a Nonce command in pass-through mode to load one of the device's internal buffers with a fixed value. More...
 
ATCA_STATUS atcab_nonce_rand (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random nonce combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_challenge (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_challenge_seed_update (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random challenge combining a host nonce (num_in) and a device random number. More...
 

Detailed Description

CryptoAuthLib Basic API methods for Nonce command.

The Nonce command generates a nonce for use by a subsequent commands of the device by combining an internally generated random number with an input value from the system.

Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.