Skip to content

Operations on/with SAKKE RSK

These operations make, validate, encode and decode a Receiver Secret Key (RSK). More...

Functions

Name
int wc_MakeSakkeRsk(SakkeKey * key, const byte * id, word16 idSz, ecc_point * rsk)
int wc_ValidateSakkeRsk(SakkeKey * key, const byte * id, word16 idSz, ecc_point * rsk, int * valid)
int wc_GenerateSakkeRskTable(const SakkeKey * key, const ecc_point * rsk, byte * table, word32 * len)
int wc_EncodeSakkeRsk(const SakkeKey * key, ecc_point * rsk, byte * out, word32 * sz, int raw)
int wc_DecodeSakkeRsk(const SakkeKey * key, const byte * data, word32 sz, ecc_point * rsk)
int wc_ImportSakkeRsk(SakkeKey * key, const byte * data, word32 sz)
int wc_SetSakkeRsk(SakkeKey * key, const ecc_point * rsk, byte * table, word32 len)

Detailed Description

These operations make, validate, encode and decode a Receiver Secret Key (RSK).

An RSK is required to derive an SSV (see wc_DeriveSakkeSSV()).

On the KMS, make an RSK (wc_MakeSakkeRsk()) from the client's ID.

On the client, validate the RSK (wc_ValidateSakkeRsk()) with the ID.

Encode the RSK (wc_EncodeSakkeRsk()) to pass to client or for storage.

Decode the RSK (wc_DecodeSakkeRsk()) on the client when needed.

Import the RSK (wc_ImportSakkeRsk()) on the client when needed.

Set the RSK and, optionally, a pre-computation table (wc_SetSakkeRsk()) on the client when needed.

Functions Documentation

function wc_MakeSakkeRsk

int wc_MakeSakkeRsk(
    SakkeKey * key,
    const byte * id,
    word16 idSz,
    ecc_point * rsk
)

function wc_ValidateSakkeRsk

int wc_ValidateSakkeRsk(
    SakkeKey * key,
    const byte * id,
    word16 idSz,
    ecc_point * rsk,
    int * valid
)

function wc_GenerateSakkeRskTable

int wc_GenerateSakkeRskTable(
    const SakkeKey * key,
    const ecc_point * rsk,
    byte * table,
    word32 * len
)

function wc_EncodeSakkeRsk

int wc_EncodeSakkeRsk(
    const SakkeKey * key,
    ecc_point * rsk,
    byte * out,
    word32 * sz,
    int raw
)

function wc_DecodeSakkeRsk

int wc_DecodeSakkeRsk(
    const SakkeKey * key,
    const byte * data,
    word32 sz,
    ecc_point * rsk
)

function wc_ImportSakkeRsk

int wc_ImportSakkeRsk(
    SakkeKey * key,
    const byte * data,
    word32 sz
)

function wc_SetSakkeRsk

int wc_SetSakkeRsk(
    SakkeKey * key,
    const ecc_point * rsk,
    byte * table,
    word32 len
)

Updated on 2022-05-18 at 08:30:58 +0000