KeyData format
This section defines the wire format for M_KeyData and its descendant types.
In a key attestation bundle as described in Key attestation bundle construction, the following fields will use this format:
-
pubkeydata
-
knsopub
M_KeyData
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
type |
4 bytes |
Little-endian unsigned integer. See M_KeyType |
data |
variable |
Depends on field |
M_KeyData.data representations
This depends on the value of the type
field, as follows:
Name of type |
Value of type |
Format of data |
---|---|---|
KeyType_RSAPublic |
1 |
|
KeyType_RSAPrivate |
2 |
|
KeyType_DSAPublic |
3 |
|
KeyType_DSAPrivate |
19 |
|
KeyType_KCDSAPublic |
39 |
|
KeyType_KCDSAPrivate |
40 |
|
KeyType_ECPublic |
44 |
|
KeyType_ECPrivate |
45 |
|
KeyType_ECDSAPublic |
46 |
|
KeyType_ECDSAPrivate |
47 |
|
KeyType_X25519Public |
59 |
|
KeyType_X25519Private |
60 |
|
KeyType_Ed25519Public |
65 |
|
KeyType_Ed25519Private |
66 |
|
KeyType_Ed448Private |
81 |
|
KeyType_Ed448Public |
82 |
|
KeyType_MLDSAPrivate |
83 |
|
KeyType_MLDSAPublic |
84 |
|
KeyType_MLKEMPrivate |
85 |
|
KeyType_MLKEMPublic |
86 |
|
KeyType_SLHDSAPrivate |
87 |
|
KeyType_SLHDSAPublic |
88 |
M_ECPoint
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
flags |
4 bytes |
Little-endian unsigned integer. See M_ECPoint_flags |
x |
variable |
See M_Bignum |
y |
variable |
See M_Bignum |
M_ECPoint_flags
A bitmap type, represented as a 4-byte little-endian unsigned integer. Individual bit values are:
Value | Name |
---|---|
0x00000001 |
|
M_KeyType_DSAPrivate_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
dlg |
variable |
|
x |
variable |
See M_Bignum |
M_KeyType_DSAPublic_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
dlg |
variable |
|
y |
variable |
See M_Bignum |
M_KeyType_ECPrivate_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
curve |
variable |
See M_EllipticCurve |
d |
variable |
See M_Bignum |
M_KeyType_ECPublic_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
curve |
variable |
See M_EllipticCurve |
Q |
variable |
See M_ECPoint |
M_KeyType_KCDSAPrivate_Data
M_KeyType_KCDSAPublic_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
dlg |
variable |
|
y |
variable |
See M_Bignum |
M_KeyType_MLDSAPrivate_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
sk |
variable |
See M_ByteBlock |
M_KeyType_MLDSAPublic_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
pk |
variable |
See M_ByteBlock |
M_KeyType_MLKEMPrivate_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
dk |
variable |
See M_ByteBlock |
dz |
variable |
See M_ByteBlock |
M_KeyType_MLKEMPublic_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
ek |
variable |
See M_ByteBlock |
M_KeyType_Random_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
k |
variable |
See M_ByteBlock |
M_KeyType_SLHDSAPrivate_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
scheme |
variable |
See M_SphincsScheme |
sk |
variable |
See M_ByteBlock |
M_KeyType_SLHDSAPublic_Data
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
scheme |
variable |
See M_SphincsScheme |
pk |
variable |
See M_ByteBlock |
M_SphincsScheme
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
name |
4 bytes |
Little-endian unsigned integer. See M_SphincsSchemeName |
data |
variable |
Depends on field |
M_SphincsSchemeName
An enumeration type, represented as a 4-byte little-endian unsigned integer. Possible values include:
Value | Name |
---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|