【PHP8.x】openssl_dh_compute_key関数の使い方

作成日: 更新日:

openssl_dh_compute_key関数は、ディフィー・ヘルマン(Diffie-Hellman)鍵交換プロトコルに基づき、共有秘密鍵を計算する関数です。この関数は、インターネットのような安全でない通信路上で通信を行う二者が、第三者に知られることなく共通の秘密鍵を安全に生成するために使用されます。具体的には、通信相手から受け取った公開鍵と、自身が事前に生成しておいたディフィー・ヘルマン鍵ペア(秘密鍵とパラメータ情報を含むOpenSSLAsymmetricKeyオブジェクト)を引数として受け取ります。これらの情報を用いて数学的な計算を行い、通信相手側でも同じ計算をすることで、両者で同一となる共有秘密鍵を導出します。関数が成功すると、計算された共有秘密鍵が文字列として返されます。この返された鍵は、その後の通信セッションでデータを暗号化および復号するための共通鍵として利用することができます。何らかの理由で鍵の計算に失敗した場合には、falseを返します。この関数により、安全な通信チャネルを確立する際の重要なステップである鍵共有を実装できます。

基本的な使い方

構文(syntax)

openssl_dh_compute_key(string $public_key, OpenSSLAsymmetricKey $private_key): string|false

引数(parameters)

string $public_key, OpenSSLAsymmetricKey $private_key

  • string $public_key: DH鍵交換における相手の公開鍵を指定します。
  • OpenSSLAsymmetricKey $private_key: DH鍵交換に使用する自身の秘密鍵を指定します。

戻り値(return)

string|false

openssl_dh_compute_key 関数は、DH (Diffie-Hellman) 鍵交換アルゴリズムを使用して、共有秘密鍵を計算します。計算が成功した場合は、生成された共有秘密鍵を文字列として返します。計算に失敗した場合は false を返します。

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