|
| | jwots (std::shared_ptr< jrand > &rand) |
| |
| | jwots (std::shared_ptr< jrand > &rand, ots_algorithm_t type, uint32_t w=16) |
| |
|
virtual | ~jwots ()=default |
| | default
|
| |
| void | base_w (uint8_t *input, uint8_t *output, uint32_t outlen) |
| |
| int | chain (uint32_t startidx, uint32_t steps, jxmssaddr &addr, uint8_t *input, uint8_t *seed, uint8_t *output) |
| |
| void | gensk (uint8_t *sk) |
| |
| void | genpk (jxmssaddr &addr, uint8_t *wots_sk, uint8_t *seed, uint8_t *pk) |
| |
| void | sign (jxmssaddr &addr, uint8_t *message, uint8_t *wots_sk, uint8_t *seed, uint8_t *sig) |
| |
| void | pkFromSig (jxmssaddr &addr, uint8_t *message, uint8_t *wots_sig, uint8_t *seed, uint8_t *pk) |
| |
◆ jwots() [1/2]
| ProtocolPP::jwots::jwots |
( |
std::shared_ptr< jrand > & |
rand | ) |
|
|
explicit |
Standard constructor
- Parameters
-
| rand | - psuedorandom with uniform distribution |
◆ jwots() [2/2]
Constructor with private and public key
- Parameters
-
| rand | - psuedorandom with uniform distribution |
| type | - Type of WOTS+ (WOTS_SHA2_256, WOTS_SHAKE_256, WOTS_SHA2_512, WOTS_SHAKE_512) |
| w | - Winternitz parameter {4,16} (default=16) |
◆ base_w()
| void ProtocolPP::jwots::base_w |
( |
uint8_t * |
input, |
|
|
uint8_t * |
output, |
|
|
uint32_t |
outlen |
|
) |
| |
WOTS_genSK - Generate a WOTS+ Private Key
- Parameters
-
| input | - Input byte string to convert to base W |
| output | - Input converted to baseW |
| outlen | - length of output |
◆ chain()
| int ProtocolPP::jwots::chain |
( |
uint32_t |
startidx, |
|
|
uint32_t |
steps, |
|
|
jxmssaddr & |
addr, |
|
|
uint8_t * |
input, |
|
|
uint8_t * |
seed, |
|
|
uint8_t * |
output |
|
) |
| |
WOTS_genSK - Generate a WOTS+ Private Key
- Parameters
-
| startidx | - Start index for tree |
| steps | - Number of steps to perform |
| addr | - Tree address |
| input | - Chain data |
| seed | - Seed of the tree |
| output | - Chained data, modified private key |
◆ genpk()
| void ProtocolPP::jwots::genpk |
( |
jxmssaddr & |
addr, |
|
|
uint8_t * |
wots_sk, |
|
|
uint8_t * |
seed, |
|
|
uint8_t * |
pk |
|
) |
| |
Generate a WOTS+ Public Key from Private Key
- Parameters
-
| addr | - Tree address |
| wots_sk | - WOTS+ Private Key |
| seed | - Seed of the tree |
| pk | - WOTS+ public key |
◆ gensk()
| void ProtocolPP::jwots::gensk |
( |
uint8_t * |
sk | ) |
|
Generate a WOTS+ Private Key
- Parameters
-
◆ pkFromSig()
| void ProtocolPP::jwots::pkFromSig |
( |
jxmssaddr & |
addr, |
|
|
uint8_t * |
message, |
|
|
uint8_t * |
wots_sig, |
|
|
uint8_t * |
seed, |
|
|
uint8_t * |
pk |
|
) |
| |
Computing a WOTS+ public key from a message and signature (verification)
- Parameters
-
| addr | - Tree address |
| message | - Message to verify with WOTS+ |
| wots_sig | - WOTS+ Signature to verify |
| seed | - Seed of the tree |
| pk | - temporary public key from signature |
◆ sign()
| void ProtocolPP::jwots::sign |
( |
jxmssaddr & |
addr, |
|
|
uint8_t * |
message, |
|
|
uint8_t * |
wots_sk, |
|
|
uint8_t * |
seed, |
|
|
uint8_t * |
sig |
|
) |
| |
Generate a WOTS+ Signature from a private key and message
- Parameters
-
| addr | - Tree address |
| message | - Message to sign with WOTS+ |
| wots_sk | - WOTS+ Private Key |
| seed | - Seed of the tree |
| sig | - WOTS+ Signature |
The documentation for this class was generated from the following file: