【PHP8.x】sodium_crypto_sign_publickey_from_secretkey関数の使い方
作成日: 更新日:
sodium_crypto_sign_publickey_from_secretkey関数は、デジタル署名に用いられる秘密鍵から対応する公開鍵を生成する関数です。この関数は、PHPのSodium拡張機能の一部として提供されており、セキュアな暗号処理を可能にします。
デジタル署名システムでは、情報の送信者が秘密鍵を用いてデータに署名し、その署名を検証する側が公開鍵を用いて署名が正当であるかを確認します。このプロセスにおいて、公開鍵は秘密鍵とペアになるものであり、特定の秘密鍵からのみ導き出される性質を持っています。
具体的には、sodium_crypto_sign_publickey_from_secretkey
関数は、完全な秘密鍵を引数として受け取ります。そして、その秘密鍵の情報を基に、対応する公開鍵をバイナリ形式の文字列として返します。生成された公開鍵は、データを署名する能力は持たず、もっぱら署名の検証と、署名が特定の秘密鍵によって作成されたことの証明に利用されます。
この関数の利用により、開発者は安全なデジタル署名システムを構築する際に、秘密鍵から公開鍵を安全かつ確実に生成することができます。公開鍵は広く配布してもセキュリティ上の問題はありませんが、秘密鍵は厳重に管理する必要がある点に注意が必要です。これにより、通信の信頼性とデータの完全性を保証します。
基本的な使い方
構文(syntax)
1<?php 2$secretKey = random_bytes(SODIUM_CRYPTO_SIGN_SECRETKEYBYTES); 3$publicKey = sodium_crypto_sign_publickey_from_secretkey($secretKey);
引数(parameters)
string $secret_key
- string $secret_key: 署名生成に使用する秘密鍵。
sodium_crypto_sign_keypair()
で生成された秘密鍵を指定します。
戻り値(return)
string
指定された秘密鍵から、対応する公開鍵をバイナリ形式の文字列で返します。