sodium_crypto_box
認証付きの公開鍵による暗号化
説明
string sodium_crypto_box(#[\SensitiveParameter]string $message
, string $nonce
, #[\SensitiveParameter]string $key_pair
)
sodium_crypto_box
というプレフィックスが付いた関数が使うアルゴリズムは、
Elliptic Curve Diffie-Hellman over the Montgomery curve, Curve25519;
略して X25519 です。
パラメータ
-
message
-
暗号化するメッセージ
-
nonce
-
メッセージごとに一度だけ使われる数値。
長さは24バイトです。
これは、
(たとえば、random_bytesを使って)
ランダムな値を生成するのに十分大きな長さです。
-
key_pair
-
sodium_crypto_box_keypair_from_secretkey_and_publickey
を参照ください。
この鍵ペアには、
送信者の X25519 形式の秘密鍵と、
受信者の X25519 形式の公開鍵が含まれているべきです。
戻り値
暗号化されたメッセージ(暗号化済みのテキストと、認証タグ)を返します。
暗号化済みのテキストは、
生のバイナリ文字列の分だけ、
プレーンテキストより16バイト長くなっています。
安全なエンコード方法については、
sodium_bin2base64 を参照ください。