SAKKE鍵を使用した操作
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