xilsecure
Vitis Drivers API Documentation
XSecure_LmsOtsPublicKey_ Union Reference

LMS OTS Public key structure. More...

Detailed Description

LMS OTS Public key structure.

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

Field Documentation

u8 XSecure_LmsOtsPublicKey_::I[XSECURE_LMS_I_FIELD_SIZE]

I - Merkle Tree's unique identifier (uniformly random 16-byte string) Size - 16 bytes, 4 to 19 bytes in public key.

u8 XSecure_LmsOtsPublicKey_::K[XSECURE_LMS_OTS_PUB_KEY_K_FIELD_SIZE]

K - H(I || u32str(q) || u16str(D_PBLC) || y[0] || ...

|| y[p-1]) H is a hash function, ROM supports only SHA2-256 and SHAKE-256 both are of 32Byte output len I & q remain same as described above D_PBLC is a constant XSECURE_D_PBLC y[0] to y[p-1] is calculated from private key

u32 XSecure_LmsOtsPublicKey_::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, 20 to 23 bytes in public key

XSecure_LmsOtsType XSecure_LmsOtsPublicKey_::Type

Type XSecure_LmsOtsType Size - 4 bytes, 0 to 3 bytes in public key.