(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_secretstream_xchacha20poly1305_pull — 暗号化されたストリームから、データのチャンクを複号する
&$state
, string$ciphertext
, string$additional_data
= ""): array|false暗号化されたストリームから、データのチャンクを複号します。
state
sodium_crypto_secretstream_xchacha20poly1305_init_pull() と sodium_crypto_secretstream_xchacha20poly1305_init_push() を参照ください。
ciphertext
復号する、暗号化されたテキスト。
additional_data
認証タグを含んだ、 オプションの追加データ
2つの値を含んだ配列を返します。
復号したチャンクの文字列。
(push時に提供された場合) オプションのタグ。 あり得る値は、以下のとおりです:
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
: もっとも一般的なタグ。 メッセージの性質についての情報を全く追加しません。 SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL
: メッセージがストリームの終端を示しており、 これより前のシーケンスで使われていた暗号化の鍵が削除されています。 SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH
: このメッセージが、メッセージの集合の終端としてマークされていますが、 ストリームの終端ではありません。 たとえば、複数のチャンクとして送信された巨大なJSON文字列は、 アプリケーションに文字列の終端を示し、 デコードできると指示することができます。 しかし、ストリームそのものは閉じられておらず、 さらにデータが続く可能性があります。 SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY
: このメッセージを暗号化するために、 これまでに使われてきた鍵を"忘れ"ます。 そして、新しい秘密鍵を生成します。