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

作成日: 更新日:

sodium_crypto_sign_publickey関数は、PHPのSodium拡張が提供する暗号署名機能の一部で、主に鍵ペアから公開鍵を安全に抽出するために利用される関数です。

この関数は、暗号署名においてデータの信頼性を保証するために不可欠な「公開鍵」を扱います。具体的には、sodium_crypto_sign_keypairなどの関数で生成される、秘密鍵と公開鍵が結合されたバイト列(鍵ペア)から、その中の公開鍵の部分だけを分離して取得するために使用されます。

暗号署名とは、あるデータが特定の送信者によって作成され、途中で改ざんされていないことを検証するための技術です。データの送信者は秘密鍵を用いてデータに「署名」し、データの受信者はその署名が正しいかどうかを、対応する公開鍵を用いて検証します。

sodium_crypto_sign_publickey関数で得られた公開鍵は、署名されたメッセージの正当性を確認し、データの改ざんがないこと(データの完全性)と、署名者が間違いなく本人であること(送信元の認証)を検証する際に、必須となる要素です。これにより、Webアプリケーションやシステム間でやり取りされるデータの信頼性とセキュリティを確保するために活用されます。

基本的な使い方

構文(syntax)

1<?php
2$keypair = sodium_crypto_sign_keypair();
3$secret_key = sodium_crypto_sign_secretkey($keypair);
4$public_key = sodium_crypto_sign_publickey($secret_key);
5?>

引数(parameters)

string $key_pair

  • string $key_pair: 公開鍵と秘密鍵のペアが格納された、バイナリ文字列。sodium_crypto_sign_keypair() 関数で生成されます。

戻り値(return)

string

指定された公開鍵のバイナリ表現を文字列として返します。

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