xilsecure
Vitis Drivers API Documentation
XSecure_LmsOtsHashPerDigit_ Union Reference

Temporary buffer, used in LMS OTS signature verification, used in hash chain to arrive at values which will be concatenated and hashed to get public value. More...

Detailed Description

Temporary buffer, used in LMS OTS signature verification, used in hash chain to arrive at values which will be concatenated and hashed to get public value.

Size = 1 + 16 + 4 + 2 + 1 + H Len (32) = 56 Bytes

Field Documentation

u8 XSecure_LmsOtsHashPerDigit_::I[XSECURE_LMS_I_FIELD_SIZE]

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

u16 XSecure_LmsOtsHashPerDigit_::i

i - Digit position in (Digest || Checksum), 0 to (p-1) digits.

Size - 2 Bytes, 21 to 22 bytes

u8 XSecure_LmsOtsHashPerDigit_::j

j - Index for inner loop during signature verification, starts at digit value in (Digest || Checksum) ends at (2^w - 1).

Size - 1 Byte, 23nd byte

u32 XSecure_LmsOtsHashPerDigit_::q

q - The leaf number q, goes from 0 on left most leaf to right most (2^h -1), in a single tree Size - 4 bytes, 17 to 20 bytes

u8 XSecure_LmsOtsHashPerDigit_::Reserved

1 reserved byte added at start of buffer, to manage word aligned sha finish copies to buffer

u8 XSecure_LmsOtsHashPerDigit_::y[XSECURE_LMS_OTS_SIGN_VERIF_TMP_BUFF_Y_SIZE]

y[] - 'n' bytes picked from LMS OTS signatures.

y[0] to y[p-1], each 'n' sized bytes will be copied here and passed into HASH engine along with other fields. Size - 32 Bytes, 24 to 55 bytes