sodium_crypto_secretstream_xchacha20poly1305_pull

暗号化されたストリームから、データのチャンクを複号する

説明

arrayfalse sodium_crypto_secretstream_xchacha20poly1305_pull(string &$state, string $ciphertext, string $additional_data = "")

暗号化されたストリームから、データのチャンクを複号します。

パラメータ

state

sodium_crypto_secretstream_xchacha20poly1305_init_pullsodium_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: このメッセージを暗号化するために、 これまでに使われてきた鍵を"忘れ"ます。 そして、新しい秘密鍵を生成します。