【PHP8.x】sodium_crypto_kx_secretkey関数の使い方
作成日: 更新日:
sodium_crypto_kx_secretkey関数は、鍵交換(Key Exchange)用のキーペアから秘密鍵を抽出する関数です。鍵交換とは、クライアントとサーバーなどの二者間で安全な通信を行うために、共通のセッションキーを安全に生成するための暗号技術です。この関数は、事前にsodium_crypto_kx_keypair
関数で生成された、公開鍵と秘密鍵が結合されたキーペア文字列を引数として受け取ります。そのキーペアから秘密鍵の部分だけを分離し、文字列として返します。ここで返される秘密鍵は、所有者だけが保持すべき非常に重要な情報であり、絶対に第三者に知られてはなりません。この秘密鍵は、通信相手の公開鍵と組み合わせることで、共有セッションキーを計算するために使用されます。具体的には、クライアント側ではsodium_crypto_kx_client_session_keys
関数、サーバー側ではsodium_crypto_kx_server_session_keys
関数で、それぞれの秘密鍵が必要となります。この一連の処理によって、安全な通信チャネルを確立することが可能になります。
基本的な使い方
構文(syntax)
1<?php 2 3// キーペアから秘密鍵を抽出します。 4// $key_pair には、sodium_crypto_kx_keypair() で生成されたキーペアを指定します。 5$secret_key = sodium_crypto_kx_secretkey($key_pair); 6 7?>
引数(parameters)
string $key_pair
- string $key_pair: 認証局(CA)が発行した公開鍵と秘密鍵のペア。このペアは、
sodium_crypto_kx_keypair()
関数で生成されたものを使用します。
戻り値(return)
string|false
この関数は、安全な鍵交換(KX)プロトコルで使用する秘密鍵を生成します。成功した場合は秘密鍵を文字列として返しますが、生成に失敗した場合は false
を返します。