【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 を返します。

【PHP8.x】sodium_crypto_kx_secretkey関数の使い方 | いっしー@Webエンジニア