Functions | |
| def | sha206a_generate_derive_key (parent_key, derived_key, param1, param2) |
| def | sha206a_generate_challenge_response_pair (key, challenge, response) |
| def | sha206a_authenticate (challenge, expected_response, is_verified) |
| def | sha206a_write_data_store (slot, data, block, offset, length, lock_after_write) |
| def | sha206a_read_data_store (slot, data, offset, length) |
| def | sha206a_get_data_store_lock_status (slot, is_locked) |
| def | sha206a_get_dk_update_count (dk_update_count) |
| def | sha206a_get_pk_useflag_count (pk_avail_count) |
| def | sha206a_get_dk_useflag_count (dk_avail_count) |
| def | sha206a_check_pk_useflag_validity (is_consumed) |
| def | sha206a_check_dk_useflag_validity (is_consumed) |
| def | sha206a_verify_device_consumption (is_consumed) |
| def | sha206a_diversify_parent_key (parent_key, diversified_key) |
SHA206 API: classes and functions for interacting with SHA206A device
| def cryptoauthlib.sha206_api.sha206a_authenticate | ( | challenge, | |
| expected_response, | |||
| is_verified | |||
| ) |
verifies the challenge and provided response using key in device
Args:
challenge Challenge to be used in the response calculations
(Expects bytearray of size 32)
expected_response Expected response from the device
(Expects bytearray of size 32)
is_authenticated result of expected of response and calcualted response
(AtcaReference expected)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_check_dk_useflag_validity | ( | is_consumed | ) |
verifies Derived Key use flags for consumption
Args:
is_consumed indicates if derived key is available for consumption
(Expected AtcaReference)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_check_pk_useflag_validity | ( | is_consumed | ) |
verifies Parent Key use flags for consumption
Args:
is_consumed indicates if parent key is available for consumption
(Expected AtcaReference)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_diversify_parent_key | ( | parent_key, | |
| diversified_key | |||
| ) |
Computes the diversified key based on the parent key provided and device serial number
Args:
parent_key parent key to be diversified (Expected bytearray of size 32)
diversified_key output diversified key is returned here
(Expected bytearray of size 32)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_generate_challenge_response_pair | ( | key, | |
| challenge, | |||
| response | |||
| ) |
Generates the response based on Key and Challenge provided
Args:
key input data contains device's key
(Expects bytearray of size 32)
challenge input data to be used in challenge response calculation
(Expects bytearray of size 32)
response output response is returned here
(Expects bytearray of size 32)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_generate_derive_key | ( | parent_key, | |
| derived_key, | |||
| param1, | |||
| param2 | |||
| ) |
Generates the derived key based on the parent key and other parameters provided
Args:
parent_key input data contains device's parent key
(Expects bytearray of size 32)
derived key output derived key is returned here
(Expects bytearray of size 32)
param1 input data to be used in derive key calculation (int)
param2 input data to be used in derive key calculation (int)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_get_data_store_lock_status | ( | slot, | |
| is_locked | |||
| ) |
Returns the lock status of the given data store
Args:
slot Slot number of the data store (int)
is_locked lock status of the data store slot
(Expected AtcaReference)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_get_dk_update_count | ( | dk_update_count | ) |
Read Derived Key slot update count. It will be wraps around 256
Args:
dk_update_count returns number of times the slot has been
updated with derived key (Expected AtcaReference)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_get_dk_useflag_count | ( | dk_avail_count | ) |
calculates available Derived Key use counts
Args:
dk_avail_count counts available bit's as 1 (int)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_get_pk_useflag_count | ( | pk_avail_count | ) |
calculates available Parent Key use counts
Args:
pk_avail_count counts available bit's as 1 (int)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_read_data_store | ( | slot, | |
| data, | |||
| offset, | |||
| length | |||
| ) |
Read the data stored in Data store
Args:
slot Slot number to read from (int)
data Pointer that holds the data
(Expected bytearray of size 32)
offset Byte offset within the zone to read from. (int)
length data length (int)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_verify_device_consumption | ( | is_consumed | ) |
verifies the device is fully consumed or not based on Parent and Derived Key use flags.
Args:
is_consumed result of device consumption is returned here
(Expected AtcaReference)
Returns:
Status Code
| def cryptoauthlib.sha206_api.sha206a_write_data_store | ( | slot, | |
| data, | |||
| block, | |||
| offset, | |||
| length, | |||
| lock_after_write | |||
| ) |
Update the data store slot with user data and lock it if necessary
Args:
slot Slot number to be written with data (int)
data Pointer that holds the data
(Expected bytearray of size 32)
block 32-byte block to write (int)
offset 4-byte word within the specified block to write to. If
performing a 32-byte write, this should be 0. (int)
length data length (int)
lock_after_write set 1 to lock slot after write, otherwise 0
(Expected bool/int)
Returns:
Status Code