コンテンツにスキップ

SAKKE鍵を使用した操作

More...

Functions

Name
int wc_GetSakkeAuthSize(SakkeKey * key, word16 * authSz)
int wc_MakeSakkePointI(SakkeKey * key, const byte * id, word16 idSz)
int wc_GetSakkePointI(SakkeKey * key, byte * data, word32 * sz)
int wc_SetSakkePointI(SakkeKey * key, const byte * id, word16 idSz, const byte * data, word32 sz)
int wc_GenerateSakkePointITable(SakkeKey * key, byte * table, word32 * len)
int wc_SetSakkePointITable(SakkeKey * key, byte * table, word32 len)
int wc_ClearSakkePointITable(SakkeKey * key)
int wc_MakeSakkeEncapsulatedSSV(SakkeKey * key, enum wc_HashType hashType, byte * ssv, word16 ssvSz, byte * auth, word16 * authSz)
int wc_GenerateSakkeSSV(SakkeKey * key, WC_RNG * rng, byte * ssv, word16 * ssvSz)
int wc_DeriveSakkeSSV(SakkeKey * key, enum wc_HashType hashType, byte * ssv, word16 ssvSz, const byte * auth, word16 authSz)

Detailed Description

これらの操作は、共有秘密値(SSV)を1つのクライアントから別のクライアントに転送します。SSVはランダムに生成できます。

認証データのサイズを計算(wc_GetSakkeAuthSize())して、バッファ内のSSVの開始位置を決定。

中間点Iを作成(wc_MakeSakkePointI())して、カプセル化の作成とSSVの導出を高速化。

ストレージのために中間点Iを取得(wc_GetSakkePointI())。

ストレージから中間点Iを設定(wc_SetSakkePointI())。

中間点Iの事前計算テーブルを生成(wc_GenerateSakkePointITable())してパフォーマンスをさらに向上。必要に応じて保存。

中間点Iの事前計算テーブルを設定(wc_SetSakkePointITable())してパフォーマンスをさらに向上。

中間点Iの事前計算テーブルをクリア(wc_ClearSakkePointITable())して外部テーブルポインタへの参照を削除。

別のクライアントと共有するためにカプセル化されたSSVを作成(wc_MakeSakkeEncapsulatedSSV())。SSV内のデータが変更されます。

鍵交換のためにランダムなSSVを生成(wc_GenerateSakkeSSV())。

カプセル化されたSSVから受信者でSSVを導出(wc_DeriveSakkeSSV())。

Functions Documentation

function wc_GetSakkeAuthSize

int wc_GetSakkeAuthSize(
    SakkeKey * key,
    word16 * authSz
)

function wc_MakeSakkePointI

int wc_MakeSakkePointI(
    SakkeKey * key,
    const byte * id,
    word16 idSz
)

function wc_GetSakkePointI

int wc_GetSakkePointI(
    SakkeKey * key,
    byte * data,
    word32 * sz
)

function wc_SetSakkePointI

int wc_SetSakkePointI(
    SakkeKey * key,
    const byte * id,
    word16 idSz,
    const byte * data,
    word32 sz
)

function wc_GenerateSakkePointITable

int wc_GenerateSakkePointITable(
    SakkeKey * key,
    byte * table,
    word32 * len
)

function wc_SetSakkePointITable

int wc_SetSakkePointITable(
    SakkeKey * key,
    byte * table,
    word32 len
)

function wc_ClearSakkePointITable

int wc_ClearSakkePointITable(
    SakkeKey * key
)

function wc_MakeSakkeEncapsulatedSSV

int wc_MakeSakkeEncapsulatedSSV(
    SakkeKey * key,
    enum wc_HashType hashType,
    byte * ssv,
    word16 ssvSz,
    byte * auth,
    word16 * authSz
)

function wc_GenerateSakkeSSV

int wc_GenerateSakkeSSV(
    SakkeKey * key,
    WC_RNG * rng,
    byte * ssv,
    word16 * ssvSz
)

function wc_DeriveSakkeSSV

int wc_DeriveSakkeSSV(
    SakkeKey * key,
    enum wc_HashType hashType,
    byte * ssv,
    word16 ssvSz,
    const byte * auth,
    word16 authSz
)

Updated on 2025-12-12 at 03:08:17 +0000