The value of the key configured for an internal SA is not user-readable. Instead, the
HSC Subsystem returns a CRC32 digest of the key to validate key
writes. Note that the CRC32 value is calculated over all 256 bits of the key entry for
each SA regardless of the key size for that SA. The following procedure describes how to
read the CRC32 digest of the key for an internal SA with index
SA_INDEX[9:0]
in the TX core.
- Set the TX_INDIRECT_AXS_CTL_REG register:
- Set the
tx_ind_axs_ctrl_wrn
field to0
(TX_INDIRECT_AXS_CTL_REG[1]=0
) to indicate a read function. - Set
tx_ind_axs_ctrl_grp = 2’b00
(TX_INDIRECT_AXS_CTL_REG[3:2] = 2’b00
) to indicate the indirect access to the encryption SA keys table. - Set
tx_ind_axs_ctrl_num = SA_INDEX[9:0]
(TX_INDIRECT_AXS_CTL_REG[17:8] = SA_INDEX[9:0]
). - Set the
tx_ind_axs_ctrl_ena
field to1
(TX_INDIRECT_AXS_CTL_REG[0]=1
).
- Set the
- Wait for the
tx_ind_axs_ctrl_ena
bit to clear (or a pulse is generated on thestat_rsvd_out_tx_top[120]
pin). - Read
TX_INDIRECT_AXS_RDATA_REG_LSB[31:0]
for the CRC32 digest of the internal SA key.
The procedure to validate a key write in an internal SA table for RX is similar but uses the corresponding set of indirect register access registers for the decryption path.