【PHP8.x】sodium_crypto_secretstream_xchacha20poly1305_init_push関数の使い方

作成日: 更新日:

sodium_crypto_secretstream_xchacha20poly1305_init_push関数は、XChaCha20-Poly1305アルゴリズムを用いて、一連のデータを安全に暗号化するためのシークレットストリームを初期化する処理を実行する関数です。この方法は、動画ファイルのような大きなデータや、チャットのような連続するメッセージを、複数の断片に分割して効率的に暗号化する場合に適しています。関数を呼び出す際には、暗号化と復号で共有する秘密の共通鍵を引数として渡します。この鍵の長さは、定数 SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES で定められた規定のサイズでなければなりません。処理が成功すると、2つの要素を持つ配列が返されます。1つ目の要素は、後続の暗号化処理で必要となる「ストリームの状態」です。これは、次の sodium_crypto_secretstream_xchacha20poly1305_push 関数に渡して使用します。2つ目の要素は、暗号化されたデータ全体の先頭に付加する「ヘッダ」です。このヘッダは受信側がデータを正しく復号するために不可欠な情報であり、最初に通信相手へ送信する必要があります。

基本的な使い方

構文(syntax)

1sodium_crypto_secretstream_xchacha20poly1305_init_push(string $key): array

引数(parameters)

string $key

  • string $key: 共有鍵を指定する文字列。この鍵は、データの暗号化と復号化の両方に使用され、安全に管理する必要があります。

戻り値(return)

array

この関数は、秘密鍵暗号化ストリームのプッシュ操作を開始するために必要な初期状態情報を含む連想配列を返します。この配列には、ストリームを初期化するために必要なキーと、初期化ベクター(IV)が含まれます。

【PHP8.x】sodium_crypto_secretstream_xchacha20poly1305_init_push関数の使い方 | いっしー@Webエンジニア