sodium_crypto_secretstream_xchacha20poly1305_push
ストリーミングAPI で安全に復号できるように、データのチャンクを暗号化する
説明
string sodium_crypto_secretstream_xchacha20poly1305_push(
string &$state
,
#[\SensitiveParameter]string $message
,
string $additional_data
= "",
int $tag
= SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
)
パラメータ
-
state
-
sodium_crypto_secretstream_xchacha20poly1305_init_pull
と
sodium_crypto_secretstream_xchacha20poly1305_init_push
を参照ください。
-
message
-
-
additional_data
-
-
tag
-
オプション。
復号の振る舞いを指示するために使えます。
(たとえば、鍵の再生成や、ストリームの最後のチャンクを示すなど)
-
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
:
このメッセージを暗号化するために、
これまでに使われてきた鍵を"忘れ"ます。
そして、新しい秘密鍵を生成します。