« sodium_crypto_auth_verify
sodium_crypto_box_keypair »

sodium_crypto_box

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box — 認証付きの公開鍵による暗号化

説明

function sodium_crypto_box(#[\SensitiveParameter] string $message, string $nonce, #[\SensitiveParameter] string $key_pair): string

非対称(公開鍵)暗号を使ってメッセージを暗号化します。

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() を参照ください。

関連キーワード:
暗号化   sodium   crypto   公開鍵   認証   メッセージ   テキスト   keypair   SensitiveParameter   message   nonce   pair   Curve   バイト   auth   verify   Sodium   非対称   暗号   プレフィックス   アルゴリズム   Elliptic   Diffie   Hellman   over
関連する関数・ページ:
function.sodium-crypto-stream-xor   function.sodium-crypto-aead-aes256gcm-encrypt   function.sodium-crypto-box-open   function.sodium-crypto-stream-xchacha20-xor   function.sodium-crypto-kx-publickey   function.sodium-crypto-box-seal