Algorithm - CMAC
Functions
Name | |
---|---|
int | wc_InitCmac(Cmac * cmac, const byte *key、word32 keySz、 int type、void * unused) Cmac構造体をデフォルト値で初期化します |
int | wc_InitCmac_ex(Cmac * cmac, const byte * key, word32 keySz, int type, void *unused、void * heap, int devId) Cmac構造体をデフォルト値で初期化します |
int | wc_CmacUpdate(Cmac * cmac, const byte * in, word32 inSz) 暗号ベースのメッセージ認証コード入力データを追加 |
int | wc_CmacFinalNoFree(Cmac * cmac, byte * out, word32 * outSz) 暗号ベースのメッセージ認証コードの最終結果を生成します。ただし、使用したコンテキストのクリーンアップは行いません。 |
int | wc_CmacFinal(Cmac * cmac, byte * out, word32 * outSz) 暗号ベースのメッセージ認証コードを使用して最終結果を生成します。加えて、内部でwc_CmacFreeを呼び出してコンテキスとをクリーンアップします。 |
int | wc_CmacFree(Cmac * cmac) CMAC処理中にCmac構造体内に確保されたオブジェクトを開放します。 |
int | wc_AesCmacGenerate(byte * out, word32 * outSz, const byte *in、word32 inSz、 const byte * key, word32 keySz) CMACを生成するためのシングルショット関数 |
int | wc_AesCmacVerify(const byte * check, word32 checkSz, const byte *in、word32 inSz、 const byte * key, word32 keySz) CMACを検証するためのシングルショット関数 |
int | wc_CMAC_Grow(Cmac * cmac, const byte * in, int inSz) WOLFSSL_HASH_KEEPマクロ定義時のみ使用可能。ハードウェアがシングルショットを必要とし、更新をメモリにキャッシュする必要がある場合に使用します。 |
Functions Documentation
function wc_InitCmac
int wc_InitCmac(
Cmac * cmac,
const byte *key、word32 keySz、 int type、void * unused
)
Cmac構造体をデフォルト値で初期化します
Parameters:
- cmac Cmac構造体へのポインタ
- key 鍵データへのポインタ
- keySz 鍵データのサイズ(16、24、または 32)
- type 常にWC_CMAC_AES(=1)
- unused 使用されていません。互換性に関する将来の潜在的な使用のために存在します
See:
Return: 成功したら0を返します
例
Cmac cmac[1];
ret = wc_InitCmac(cmac、key、keySz、WC_CMAC_AES、NULL);
if (ret == 0) {
ret = wc_CmacUpdate(cmac、in、inSz);
}
if (ret == 0) {
ret = wc_CmacFinal(cmac, out, outSz);
}
function wc_InitCmac_ex
int wc_InitCmac_ex(
Cmac * cmac,
const byte * key,
word32 keySz,
int type,
void *unused、void * heap,
int devId
)
Cmac構造体をデフォルト値で初期化します
Parameters:
- cmac Cmac構造体へのポインタ
- key 鍵データへのポインタ
- keySz 鍵データのサイズ(16、24、または 32)
- type 常にWC_CMAC_AES(=1)
- unused 使用されていません。互換性に関する将来の潜在的な使用のために存在します
- heap 動的割り当てに使用されるヒープヒントへのポインタ。 通常、スタティックメモリオプションで使用されます。 NULLにすることができます。
- devId 非同期ハードウェアで使用するID。非同期ハードウェアを使用していない場合は、INVALID_DEVIDに設定します。
See:
Return: 成功したら0を返します
例
Cmac cmac[1];
ret = wc_InitCmac_ex(cmac, key, keySz, WC_CMAC_AES, NULL, NULL, INVALID_DEVID);
if (ret == 0) {
ret = wc_CmacUpdate(cmac, in, inSz);
}
if (ret == 0) {
ret = wc_CmacFinal(cmac, out, &outSz);
}
function wc_CmacUpdate
int wc_CmacUpdate(
Cmac * cmac,
const byte * in,
word32 inSz
)
暗号ベースのメッセージ認証コード入力データを追加
Parameters:
- cmac Cmac構造体へのポインタ
- in 処理する入力データへのポインタ
- inSz 入力データのサイズ
See:
Return: 成功したら0を返します
例
ret = wc_CmacUpdate(cmac、in、inSz);
function wc_CmacFinalNoFree
int wc_CmacFinalNoFree(
Cmac * cmac,
byte * out,
word32 * outSz
)
暗号ベースのメッセージ認証コードの最終結果を生成します。ただし、使用したコンテキストのクリーンアップは行いません。
Parameters:
- cmac Cmac構造体へのポインタ
- out 結果を格納するバッファへのポインタ
- outSz 結果出力先バッファのサイズ
See:
Return: 成功したら0を返します
Example
ret = wc_CmacFinalNoFree(cmac, out, &outSz);
(void)wc_CmacFree(cmac);
function wc_CmacFinal
int wc_CmacFinal(
Cmac * cmac,
byte * out,
word32 * outSz
)
暗号ベースのメッセージ認証コードを使用して最終結果を生成します。加えて、内部でwc_CmacFreeを呼び出してコンテキスとをクリーンアップします。
Parameters:
- cmac Cmac構造体へのポインタ
- out 結果を格納するバッファへのポインタ
- outSz 結果出力先バッファのサイズ
See:
Return: 成功したら0を返します
例
ret = wc_CmacFinal(cmac, out, &outSz);
function wc_CmacFree
int wc_CmacFree(
Cmac * cmac
)
CMAC処理中にCmac構造体内に確保されたオブジェクトを開放します。
Parameters:
- cmac Cmac構造体へのポインタ
See:
Return: 成功したら0を返します
Example
ret = wc_CmacFinalNoFree(cmac, out, &outSz);
(void)wc_CmacFree(cmac);
function wc_AesCmacGenerate
int wc_AesCmacGenerate(
byte * out,
word32 * outSz,
const byte *in、word32 inSz、 const byte * key,
word32 keySz
)
CMACを生成するためのシングルショット関数
Parameters:
- out 結果の出力先バッファへのポインタ
- outSz 出力のポインタサイズ (in/out)
- in 処理する入力データのポインタ
- inSz 入力データのサイズ
- key 鍵データへのポインタ
- keySz 鍵データのサイズ (16、24、または 32)
See: wc_AesCmacVerify
Return: 成功したら0を返します
例
ret = wc_AesCmacGenerate(mac, &macSz, msg, msgSz, key, keySz);
function wc_AesCmacVerify
int wc_AesCmacVerify(
const byte * check,
word32 checkSz,
const byte *in、word32 inSz、 const byte * key,
word32 keySz
)
CMACを検証するためのシングルショット関数
Parameters:
- check 検証対象となるCMAC処理結果データへのポインタ
- checkSz CMAC処理結果データのサイズ
- in 処理する入力データのポインタ
- inSz 入力データのサイズ
- key 鍵データへのポインタ
- keySz 鍵データのサイズ (16、24、または 32)
See: wc_AesCmacGenerate
Return: 成功したら0を返します
例
ret = wc_AesCmacVerify(mac, macSz, msg, msgSz, key, keySz);
function wc_CMAC_Grow
int wc_CMAC_Grow(
Cmac * cmac,
const byte * in,
int inSz
)
WOLFSSL_HASH_KEEPマクロ定義時のみ使用可能。ハードウェアがシングルショットを必要とし、更新をメモリにキャッシュする必要がある場合に使用します。
Parameters:
- cmac Cmac構造体へのポインタ
- in 処理する入力データへのポインタ
- inSz 入力データのサイズ
Return: 成功したら0を返します
例
ret = wc_CMAC_Grow(cmac、in、inSz)
Updated on 2024-11-21 at 02:35:59 +0000