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

作成日: 更新日:

sodium_crypto_box_publickey関数は、与えられた秘密鍵から対応する公開鍵を導出する関数です。この関数は、PHPのSodium拡張機能が提供する暗号化機能の一つであり、特に認証付き暗号化(ボックス暗号化)のための鍵ペア(公開鍵と秘密鍵)の管理において重要な役割を果たします。

公開鍵暗号方式では、データを暗号化するために誰にでも公開できる「公開鍵」と、暗号化されたデータを復号化するために所有者のみが知る「秘密鍵」という一対の鍵を使用します。sodium_crypto_box_publickey関数は、すでに生成されている秘密鍵(例えば、sodium_crypto_box_secretkey関数で生成されたもの)を引数として受け取り、その秘密鍵に正確に対応する公開鍵を生成します。

生成された公開鍵は、通信相手に安全にメッセージを暗号化してもらうためや、相手が本当に意図した人物であるかを確認するために利用されます。例えば、AさんがBさんに暗号化されたメッセージを送りたい場合、AさんはBさんの公開鍵を使ってメッセージを暗号化し、Bさんは自身の秘密鍵でそれを復号します。このプロセスにより、メッセージの秘匿性と認証が保証されます。

この関数は、機密性の高い通信を実現するための基盤となる公開鍵を生成するため、暗号化アプリケーションの開発において不可欠です。ただし、この関数が導出する公開鍵の元となる秘密鍵は、決して外部に漏洩しないよう厳重に管理する必要があります。秘密鍵の安全な保管は、暗号システムのセキュリティを維持する上で最も重要な要素の一つです。

基本的な使い方

構文(syntax)

1<?php
2$secret_key = sodium_crypto_box_secretkey(sodium_crypto_box_keypair());
3$public_key = sodium_crypto_box_publickey($secret_key);
4?>

引数(parameters)

string $key_pair

  • string $key_pair: 復号化に使用する公開鍵を含む文字列

戻り値(return)

string

指定された公開鍵をバイナリ形式の文字列で返します。

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