【PHP8.x】sodium_crypto_box_seed_keypair関数の使い方
作成日: 更新日:
sodium_crypto_box_seed_keypair関数は、指定されたシード(種)から、一貫して同じ公開鍵と秘密鍵のペアを生成する関数です。この関数は、セキュアな通信やデータの暗号化、デジタル署名に用いられる鍵ペアを作成します。鍵ペアは、公開鍵と秘密鍵の二つから構成されます。公開鍵は安全に他者と共有できる情報であり、メッセージの暗号化や相手の署名の検証に使われます。一方、秘密鍵は決して他者に漏らしてはならない情報であり、自分宛の暗号化メッセージの復号や、自身がメッセージに署名する際に使用されます。
この関数の特徴は、乱数から鍵を生成するのではなく、「シード」と呼ばれる固定のバイナリデータを使用する点です。同じシードを常に使用することで、何度実行しても全く同じ公開鍵と秘密鍵のペアが生成されるため、再現性のある鍵生成が可能です。例えば、システムのバックアップから鍵ペアを復元したい場合や、複数の異なる環境で特定の鍵ペアを確実に利用したい場合に役立ちます。
引数には、鍵ペア生成の元となる32バイトのバイナリ文字列であるシードを指定します。戻り値としては、生成された公開鍵と秘密鍵の両方を含む96バイトのバイナリ文字列を返します。セキュリティを確保するため、シード自体は安全に管理し、推測されにくい、強力な値を使用することが非常に重要です。
基本的な使い方
構文(syntax)
1<?php 2 3$seed = random_bytes(SODIUM_CRYPTO_BOX_SEEDBYTES); 4$keypair = sodium_crypto_box_seed_keypair($seed); 5 6?>
引数(parameters)
string $seed
- string $seed: 鍵ペアを生成するためのシードとなる24バイトのバイナリ文字列
戻り値(return)
string
sodium_crypto_box_seed_keypair 関数は、指定されたシード値から生成された公開鍵と秘密鍵のペアを文字列として返します。