xilsecure
Vitis Drivers API Documentation
XSecure_LmsPubKeyTmp_ Union Reference

Used to store data which is repeatedly sent to SHA engine, during LMS root value calculation. More...

Detailed Description

Used to store data which is repeatedly sent to SHA engine, during LMS root value calculation.

Size = 16(I) + 4(node_number/2) + 2(D_INTR) + (32 * 2)

Field Documentation

u8 XSecure_LmsPubKeyTmp_::D[XSECURE_LMS_D_FIELD_SIZE]

D - XSECURE_D_INTR or XSECURE_D_PLEAF Size - 2 bytes, 21st & 22nd byte.

Referenced by XSecure_LmsSignatureVerification().

u32 XSecure_LmsPubKeyTmp_::half_node_number

(node number/2), used to get unique hash o/p for same data for every node Size - 4 bytes, 16 to 20 bytes

Referenced by XSecure_LmsSignatureVerification().

u8 XSecure_LmsPubKeyTmp_::I[XSECURE_LMS_I_FIELD_SIZE]

I - Merkle Tree's unique identifier (uniformly random 16-byte string) Size - 16 bytes, 0 to 15 bytes.

Referenced by XSecure_LmsSignatureVerification().

u8 XSecure_LmsPubKeyTmp_::Tmp[XSECURE_LMS_M_BYTE_FIELD_SIZE+XSECURE_LMS_M_BYTE_FIELD_SIZE]

Tmp - Used to store previous hash output and adjacent node value in right order to send to SHA engine Size - 32 * 2 = 64 bytes, 23 to 85 bytes.

Referenced by XSecure_LmsSignatureVerification().