コンテンツにスキップ

cmac.h

Functions

Name
int wc_InitCmac(Cmac * cmac, const byte *キー、word32 keySz、 int型、void * 未使用)
Cmac 構造体をデフォルトで初期化する
int wc_InitCmac_ex(Cmac * cmac, const byte キー、word32 keySz、 int 型、void 未使用、void *ヒープ、int devId)
Cmac 構造体をデフォルトで初期化する
int wc_CmacUpdate(Cmac * cmac, const byte * in, word32 inSz)
暗号ベースのメッセージ認証コード入力データを追加
int wc_CmacFinal(Cmac * cmac, byte * out, word32 * outSz)
暗号ベースのメッセージ認証コードを使用して最終結果を生成する
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 *キー、word32 keySz、 int型、void * 未使用
)

Cmac 構造体をデフォルトで初期化する

Parameters:

  • cmac Cmac 構造体へのポインタ
  • キー キー ポインタ
  • keySz キー ポインタのサイズ (16、24、または 32)
  • type 常に WC_CMAC_AES = 1
  • 未使用 使用されていません。互換性に関する将来の潜在的な使用のために存在します

See:

Return: 成功したら 0 を返す

Cmac cmac[1];
ret = wc_InitCmac(cmac、キー、keySz、WC_CMAC_AES、NULL);
もし (ret == 0) {
    ret = wc_CmacUpdate(cmac、in、inSz);
}
もし (ret == 0) {
    ret = wc_CmacFinal(cmac, out, outSz);
}

function wc_InitCmac_ex

int wc_InitCmac_ex(
    Cmac * cmac,
    const byte *キー、word32 keySz、 int 型、void *未使用、void *ヒープ、int devId
)

Cmac 構造体をデフォルトで初期化する

Parameters:

  • cmac Cmac 構造体へのポインタ
  • キー キー ポインタ
  • keySz キー ポインタのサイズ (16、24、または 32)
  • type 常に WC_CMAC_AES = 1
  • 未使用 使用されていません。互換性に関する将来の潜在的な使用のために存在します
  • heap 動的割り当てに使用されるヒープ ヒントへのポインター。 通常、スタティック メモリ オプションで使用されます。 NULL にすることができます。
  • devId 非同期ハードウェアで使用する ID。 非同期ハードウェアを使用していない場合は、INVALID_DEVID に設定します。

See:

Return: 成功したら 0 を返す

Cmac cmac[1];
ret = wc_InitCmac_ex(cmac、キー、keySz、WC_CMAC_AES、NULL、NULL、INVALID_DEVID);
もし (ret == 0) {
    ret = wc_CmacUpdate(cmac、in、inSz);
}
もし (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_CmacFinal

int wc_CmacFinal(
    Cmac * cmac,
    byte * out,
    word32 * outSz
)

暗号ベースのメッセージ認証コードを使用して最終結果を生成する

Parameters:

  • cmac Cmac 構造体へのポインタ
  • out 結果を返すポインタ
  • outSz 出力のポインタサイズ (in/out)

See:

Return: 成功したら 0 を返す

ret = wc_CmacFinal(cmac, out, &outSz);

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 入力データのサイズ
  • キー キー ポインタ
  • 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:

  • 結果を返すチェック ポインタ
  • checkSz チェックアウト バッファのサイズ
  • in 処理する入力データのポインタ
  • inSz 入力データのサイズ
  • キー キー ポインタ
  • 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:


Return: 成功したら 0 を返す 処理する入力データの

Source code


int wc_InitCmac(Cmac* cmac,
                 const byte* キー、word32 keySz、
                 int型、void*未使用);

int wc_InitCmac_ex(Cmac* cmac,
                 const byte* キー、word32 keySz、
                 int 型、void* 未使用、void* ヒープ、int devId);

int wc_CmacUpdate(Cmac* cmac,
                   const byte* in, word32 inSz);

int wc_CmacFinal(Cmac* cmac,
                  byte* out, word32* outSz);

int wc_AesCmacGenerate(byte* out, word32* outSz,
                        const byte* in、word32 inSz、
                        const byte* key, word32 keySz);

int wc_AesCmacVerify(const byte* check, word32 checkSz,
                      const byte* in、word32 inSz、
                      const byte* key, word32 keySz);


int wc_CMAC_Grow(Cmac* cmac, const byte* in, int inSz);

Updated on 2023-03-29 at 08:44:34 +0000