コンテンツにスキップ

アルゴリズム - ChaCha

Functions

Name
int wc_Chacha_SetIV(ChaCha * ctx, const byte * inIv, word32 counter)
この関数は、ChaChaオブジェクトの初期化ベクトル(nonce)を設定し、暗号として使用するために初期化します。wc_Chacha_SetKeyを使用してキーが設定された後に呼び出す必要があります。暗号化のラウンドごとに異なるnonceを使用する必要があります。
int wc_Chacha_Process(ChaCha * ctx, byte * cipher, const byte * plain, word32 msglen)
この関数は、バッファinputからテキストを処理し、暗号化または復号して、結果をバッファoutputに格納します。
int wc_Chacha_SetKey(ChaCha * ctx, const byte * key, word32 keySz)
この関数は、ChaChaオブジェクトのキーを設定し、暗号として使用するために初期化します。wc_Chacha_SetIVでnonceを設定する前、およびwc_Chacha_Processで暗号化に使用する前に呼び出す必要があります。

Functions Documentation

function wc_Chacha_SetIV

int wc_Chacha_SetIV(
    ChaCha * ctx,
    const byte * inIv,
    word32 counter
)

この関数は、ChaChaオブジェクトの初期化ベクトル(nonce)を設定し、暗号として使用するために初期化します。wc_Chacha_SetKeyを使用してキーが設定された後に呼び出す必要があります。暗号化のラウンドごとに異なるnonceを使用する必要があります。

Parameters:

  • ctx ivを設定するChaCha構造体へのポインタ
  • inIv ChaCha構造体を初期化するための12バイトの初期化ベクトルを含むバッファへのポインタ
  • counter ブロックカウンタが開始すべき値–通常はゼロ。

See:

Return:

  • 0 初期化ベクトルの設定に成功した場合に返されます
  • BAD_FUNC_ARG ctx入力引数の処理中にエラーが発生した場合に返されます

Example

ChaCha enc;
// wc_Chacha_SetKeyでencを初期化
byte iv[12];
// ivを初期化
if( wc_Chacha_SetIV(&enc, iv, 0) != 0) {
    // ChaCha構造体の初期化エラー
}

function wc_Chacha_Process

int wc_Chacha_Process(
    ChaCha * ctx,
    byte * cipher,
    const byte * plain,
    word32 msglen
)

この関数は、バッファinputからテキストを処理し、暗号化または復号して、結果をバッファoutputに格納します。

Parameters:

  • ctx ivを設定するChaCha構造体へのポインタ
  • output 出力暗号文または復号された平文を格納するバッファへのポインタ
  • input 暗号化する入力平文または復号する入力暗号文を含むバッファへのポインタ
  • msglen 暗号化するメッセージまたは復号する暗号文の長さ

See:

Return:

  • 0 入力の暗号化または復号に成功した場合に返されます
  • BAD_FUNC_ARG ctx入力引数の処理中にエラーが発生した場合に返されます

Example

ChaCha enc;
// wc_Chacha_SetKeyとwc_Chacha_SetIVでencを初期化

byte plain[] = { // 平文を初期化 };
byte cipher[sizeof(plain)];
if( wc_Chacha_Process(&enc, cipher, plain, sizeof(plain)) != 0) {
    // ChaCha暗号の処理エラー
}

function wc_Chacha_SetKey

int wc_Chacha_SetKey(
    ChaCha * ctx,
    const byte * key,
    word32 keySz
)

この関数は、ChaChaオブジェクトのキーを設定し、暗号として使用するために初期化します。wc_Chacha_SetIVでnonceを設定する前、およびwc_Chacha_Processで暗号化に使用する前に呼び出す必要があります。

Parameters:

  • ctx キーを設定するChaCha構造体へのポインタ
  • key ChaCha構造体を初期化するための16バイトまたは32バイトのキーを含むバッファへのポインタ
  • keySz 渡されるキーの長さ

See:

Return:

  • 0 キーの設定に成功した場合に返されます
  • BAD_FUNC_ARG ctx入力引数の処理中にエラーが発生した場合、またはキーが16バイトまたは32バイトでない場合に返されます

Example

ChaCha enc;
byte key[] = { // キーを初期化 };

if( wc_Chacha_SetKey(&enc, key, sizeof(key)) != 0) {
    // ChaCha構造体の初期化エラー
}

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