コンテンツにスキップ

ripemd.h

Functions

Name
int wc_InitRipeMd(RipeMd * )
この関数は、ripemdのダイジェスト、バッファ、loLenおよびhiLenを初期化することで、ripemd構造体を初期化します。
int wc_RipeMdUpdate(RipeMd * ripemd, const byte * data, word32 len)
この関数は、入力データのRipeMdダイジェストを生成し、結果をripemd->digestバッファに格納します。wc_RipeMdUpdateを実行した後、生成されたripemd->digestを既知の認証タグと比較して、メッセージの真正性を検証する必要があります。
int wc_RipeMdFinal(RipeMd * ripemd, byte * hash)
この関数は、計算されたダイジェストをhashにコピーします。部分的にハッシュ化されていないブロックがある場合、このメソッドはブロックを0でパディングし、hashにコピーする前にそのブロックのラウンドをダイジェストに含めます。ripemdの状態はリセットされます。

Functions Documentation

function wc_InitRipeMd

int wc_InitRipeMd(
    RipeMd * 
)

この関数は、ripemdのダイジェスト、バッファ、loLenおよびhiLenを初期化することで、ripemd構造体を初期化します。

Parameters:

  • ripemd 初期化するripemd構造体へのポインタ

See:

Return:

  • 0 関数の実行が成功した場合に返されます。RipeMd構造体が初期化されます。
  • BAD_FUNC_ARG RipeMd構造体がNULLの場合に返されます。

Example

RipeMd md;
int ret;
ret = wc_InitRipeMd(&md);
if (ret != 0) {
    // 失敗ケース
}

function wc_RipeMdUpdate

int wc_RipeMdUpdate(
    RipeMd * ripemd,
    const byte * data,
    word32 len
)

この関数は、入力データのRipeMdダイジェストを生成し、結果をripemd->digestバッファに格納します。wc_RipeMdUpdateを実行した後、生成されたripemd->digestを既知の認証タグと比較して、メッセージの真正性を検証する必要があります。

Parameters:

  • ripemd wc_InitRipeMdで初期化されるripemd構造体へのポインタ
  • data ハッシュ化されるデータ
  • len データのサイズ(バイト単位)

See:

Return:

  • 0 関数の実行が成功した場合に返されます。
  • BAD_FUNC_ARG RipeMd構造体がNULLの場合、またはdataがNULLでlenがゼロでない場合に返されます。この関数は、dataがNULLでlenが0の場合は実行されるべきです。

Example

const byte* data; // ハッシュ化されるデータ
....
RipeMd md;
int ret;
ret = wc_InitRipeMd(&md);
if (ret == 0) {
ret = wc_RipeMdUpdate(&md, plain, sizeof(plain));
if (ret != 0) {
// 失敗ケース …

function wc_RipeMdFinal

int wc_RipeMdFinal(
    RipeMd * ripemd,
    byte * hash
)

この関数は、計算されたダイジェストをhashにコピーします。部分的にハッシュ化されていないブロックがある場合、このメソッドはブロックを0でパディングし、hashにコピーする前にそのブロックのラウンドをダイジェストに含めます。ripemdの状態はリセットされます。

Parameters:

  • ripemd wc_InitRipeMdで初期化され、wc_RipeMdUpdateからのハッシュを含むripemd構造体へのポインタ。状態はリセットされます
  • hash ダイジェストをコピーするバッファ。RIPEMD_DIGEST_SIZEバイトである必要があります

See: none

Return:

  • 0 関数の実行が成功した場合に返されます。RipeMd構造体の状態がリセットされました。
  • BAD_FUNC_ARG RipeMd構造体またはhashパラメータがNULLの場合に返されます。

Example

RipeMd md;
int ret;
byte   digest[RIPEMD_DIGEST_SIZE];
const byte* data; // ハッシュ化されるデータ
...
ret = wc_InitRipeMd(&md);
if (ret == 0) {
ret = wc_RipeMdUpdate(&md, plain, sizeof(plain));
    if (ret != 0) {
        // RipeMd更新失敗ケース
}
ret = wc_RipeMdFinal(&md, digest);
if (ret != 0) {
    // RipeMd Final失敗ケース
}...

Source code


int wc_InitRipeMd(RipeMd*);

int wc_RipeMdUpdate(RipeMd* ripemd, const byte* data, word32 len);

int wc_RipeMdFinal(RipeMd* ripemd, byte* hash);

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