array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.sodium-crypto-box.php', 1 => 'sodium_crypto_box', ), 'up' => array ( 0 => 'ref.sodium.php', 1 => 'Sodium 関数', ), 'prev' => array ( 0 => 'function.sodium-crypto-box-seed-keypair.php', 1 => 'sodium_crypto_box_seed_keypair', ), 'next' => array ( 0 => 'function.sodium-crypto-core-ristretto255-add.php', 1 => 'sodium_crypto_core_ristretto255_add', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/sodium/functions/sodium-crypto-box.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_box — 認証付きの公開鍵による暗号化
非対称(公開鍵)暗号を使ってメッセージを暗号化します。
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() を参照ください。