|
| jxmssa () |
| XMSS security association with default values.
|
|
| jxmssa (keymode_t mode, xmss_algorithm_t xmss_alg, xmssmt_algorithm_t xmssmt_alg) |
|
| jxmssa (keymode_t mode, xmss_algorithm_t xmss_alg, xmssmt_algorithm_t xmssmt_alg, std::shared_ptr< jarray< uint8_t >> &prvkey, std::shared_ptr< jarray< uint8_t >> &pubkey) |
|
| jxmssa (jxmssa &security) |
|
| jxmssa (std::shared_ptr< jxmssa > &security) |
|
| ~jxmssa () |
| Standard deconstructor.
|
|
template<typename T > |
void | set_field (field_t field, T fieldval) |
|
template<typename T > |
T | get_field (field_t field) |
|
void | to_xml (tinyxml2::XMLPrinter &myxml, direction_t direction) |
|
void | to_json (std::ofstream &myjson, direction_t direction, std::string &indent) |
|
| jsecass () |
|
virtual | ~jsecass ()=default |
| Standard deconstructor.
|
|
| jsecass (jsecass &jsecass)=delete |
|
| jsecass (const jsecass &jsecass)=delete |
|
◆ jxmssa() [1/4]
XMSS Generate an XMSS key pair
- Parameters
-
mode | - Mode of operation (GENKEYPAIR, PKISIGN, PKIVERIFY) |
xmss_alg | - XMSS algorithm to use (must be mutually exclusive with xmssmt_alg) |
xmssmt_alg | - XMSS^MT algorithm to use (must be mutually exclusive with xmss_alg) |
◆ jxmssa() [2/4]
XMSS Generate an XMSS key pair
- Parameters
-
mode | - Mode of operation (GENKEYPAIR, PKISIGN, PKIVERIFY) |
xmss_alg | - XMSS algorithm to use (must be mutually exclusive with xmssmt_alg) |
xmssmt_alg | - XMSS^MT algorithm to use (must be mutually exclusive with xmss_alg) |
prvkey | - Private XMSS key |
pubkey | - Public XMSS key |
◆ jxmssa() [3/4]
ProtocolPP::jxmssa::jxmssa |
( |
jxmssa & |
security | ) |
|
treeSig - Generate a XMSS signature and update XMSS private key
- Parameters
-
security | - XMSS security association |
◆ jxmssa() [4/4]
ProtocolPP::jxmssa::jxmssa |
( |
std::shared_ptr< jxmssa > & |
security | ) |
|
|
explicit |
treeSig - Generate a XMSS signature and update XMSS private key
- Parameters
-
security | - XMSS security association |
◆ get_field()
template<typename T >
T ProtocolPP::jxmssa::get_field |
( |
field_t |
field | ) |
|
Returns the field in XMSSA
XMSS SA Get Fields
field type | field name | Example |
direction_t | DIRECTION | ProtocolPP::direction_t mydir = get_field<ProtocolPP::direction_t>(ProtocolPP::field_t::DIRECTION) |
xmss_algorithm_t | XMSSALG | ProtocolPP::xmss_algorithm_t myalg = get_field<ProtocolPP::xmss_algorithm_t>(ProtocolPP::field_t::XMSSALG) |
xmssmt_algorithm_t | XMSSALG | ProtocolPP::xmssmt_algorithm_t myalg = get_field<ProtocolPP::xmssmt_algorithm_t>(ProtocolPP::field_t::XMSSALG) |
uint8_t* | PRVKEY | uint8_t* prvkey = get_field<uint8_t*>(ProtocolPP::field_t::PRVKEY) |
uint8_t* | PUBKEY | uint8_t* pubkey = get_field<uint8_t*>(ProtocolPP::field_t::PUBKEY) |
- Parameters
-
field | - field to retrieve from the security association |
- Returns
- value of the field in the security association
◆ set_field()
template<typename T >
void ProtocolPP::jxmssa::set_field |
( |
field_t |
field, |
|
|
T |
fieldval |
|
) |
| |
Allows the user to update the fields of XMSS security association
XMSS SA Set Fields
field type | field name | Example |
xmss_algorithm_t | AUTH | set_field<ProtocolPP::xmss_algorithm_t>(ProtocolPP::field_t::XMSSALG, ProtocolPP::XMSS_SHA2_10_256) |
xmssmt_algorithm_t | AUTH | set_field<ProtocolPP::xmssmt_algorithm_t>(ProtocolPP::field_t::XMSSALG, ProtocolPP::XMSSMT_SHA2_20_2_256) |
jarray<uint8_t> | PRVKEY | set_field<jarray<uint8_t>>(ProtocolPP::field_t::PRVKEY, jarray<uint8_t> prvkey) |
jarray<uint8_t> | PUBKEY | set_field<jarray<uint8_t>>(ProtocolPP::field_t::PUBKEY, jarray<uint8_t> pubkey) |
- Parameters
-
field | - field to update the security association with |
fieldval | - value to update the security association with |
◆ to_json()
void ProtocolPP::jxmssa::to_json |
( |
std::ofstream & |
myjson, |
|
|
direction_t |
direction, |
|
|
std::string & |
indent |
|
) |
| |
|
virtual |
Prints the protocol as an JSON object
- Parameters
-
myjson | - JSON object to print with |
direction | - randomization |
indent | - indentation for JSON output |
Implements ProtocolPP::jsecass.
◆ to_xml()
Prints the protocol as an XML object
- Parameters
-
myxml | - XMLPrinter object to print with |
direction | - randomization |
Implements ProtocolPP::jsecass.
The documentation for this class was generated from the following file: