Microchip® Advanced Software Framework

atca_host.c File Reference

Host side methods to support CryptoAuth computations.

Functions

ATCA_STATUS atcah_check_mac (struct atca_check_mac_in_out *param)
 This function performs the checkmac operation to generate client response on the host side . More...
 
ATCA_STATUS atcah_config_to_sign_internal (ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config)
 Populate the slot_config, key_config, and is_slot_locked fields in the atca_sign_internal_in_out structure from the provided config zone. More...
 
ATCA_STATUS atcah_decrypt (struct atca_decrypt_in_out *param)
 This function decrypts 32-byte encrypted data received with the Read command. More...
 
ATCA_STATUS atcah_derive_key (struct atca_derive_key_in_out *param)
 This function derives a key with a key and TempKey. More...
 
ATCA_STATUS atcah_derive_key_mac (struct atca_derive_key_mac_in_out *param)
 This function calculates the input MAC for a DeriveKey command. More...
 
ATCA_STATUS atcah_encode_counter_match (uint32_t counter_value, uint8_t *counter_match_value)
 Builds the counter match value that needs to be stored in a slot. More...
 
ATCA_STATUS atcah_gen_dig (struct atca_gen_dig_in_out *param)
 This function combines the current TempKey with a stored value. More...
 
ATCA_STATUS atcah_gen_key_msg (struct atca_gen_key_in_out *param)
 Calculate the PubKey digest created by GenKey and saved to TempKey. More...
 
ATCA_STATUS atcah_gen_mac (struct atca_gen_dig_in_out *param)
 This function generates mac with session key with a plain text. More...
 
ATCA_STATUS atcah_hmac (struct atca_hmac_in_out *param)
 This function generates an HMAC / SHA-256 hash of a key and other information. More...
 
uint8_t * atcah_include_data (struct atca_include_data_in_out *param)
 This function copies otp and sn data into a command buffer. More...
 
ATCA_STATUS atcah_io_decrypt (struct atca_io_decrypt_in_out *param)
 Decrypt data that's been encrypted by the IO protection key. More...
 
ATCA_STATUS atcah_mac (struct atca_mac_in_out *param)
 This function generates an SHA-256 digest (MAC) of a key, challenge, and other information. More...
 
ATCA_STATUS atcah_nonce (struct atca_nonce_in_out *param)
 This function calculates host side nonce with the parameters passed. More...
 
ATCA_STATUS atcah_privwrite_auth_mac (struct atca_write_mac_in_out *param)
 This function calculates the input MAC for the PrivWrite command. More...
 
ATCA_STATUS atcah_secureboot_enc (atca_secureboot_enc_in_out_t *param)
 Encrypts the digest for the SecureBoot command when using the encrypted digest / validating mac option. More...
 
ATCA_STATUS atcah_secureboot_mac (atca_secureboot_mac_in_out_t *param)
 Calculates the expected MAC returned from the SecureBoot command when verification is a success. More...
 
ATCA_STATUS atcah_sha256 (int32_t len, const uint8_t *message, uint8_t *digest)
 This function creates a SHA256 digest on a little-endian system. More...
 
ATCA_STATUS atcah_sign_internal_msg (ATCADeviceType device_type, struct atca_sign_internal_in_out *param)
 Builds the full message that would be signed by the Sign(Internal) command. More...
 
ATCA_STATUS atcah_verify_mac (atca_verify_mac_in_out_t *param)
 Calculate the expected MAC on the host side for the Verify command. More...
 
ATCA_STATUS atcah_write_auth_mac (struct atca_write_mac_in_out *param)
 This function calculates the input MAC for the Write command. More...