公開/秘密鍵システムを使用して、データを非対称 (バイナリとテキスト) に暗号化する必要があります。現在、複数の公開鍵でデータを暗号化する必要があるため、openssl_seal を使用しています。その結果、暗号化されたメッセージ (これで問題ありません) と 2 つ以上のエンベロープ (あまり問題ありません) が得られます。後者は、これらのエンベロープをデータベースにも保存する必要があるため、あまりうまくいきません。そして、小さなメッセージごとに、少なくとも 2 つの封筒を保管する必要があります。これは、メッセージ自体よりも大きい場合があります。
次に、GnuPG を思い出しました。複数の受信者にメールを書き、その方法でメッセージを暗号化でき、誰もが自分の秘密鍵でメッセージを復号化できます。封筒は必要ありません。そこで、PHP で GnuPG ライブラリを探しましたが、Linux ソリューションしか見つかりませんでした。Windowsシステムも持っているので満足できません。
エンベロープを気にせずに複数の公開鍵でメッセージ/データを暗号化できる公開/秘密鍵ライブラリはありますか?
私が必要としているのは、2048 ビットまたは 4096 ビットの強力な公開/秘密鍵セットを作成できるライブラリです。
ライブラリには、任意の種類のデータを 1 つ、2 つ、またはそれ以上の公開鍵で暗号化する機能が必要であり、結果として単純なデータ ブロックのみが含まれます。
ライブラリには、暗号化されたデータを対応する秘密鍵のいずれかで復号化できる機能が必要です。
ヒントやアイデアはありますか?OpenSSLには特別な機能があるのでしょうか?IIRC、S/MIME 暗号化を使用して複数の受信者に電子メールを書き込むこともできます。そして、受信者の多いたった1通のメールです。個別の封筒はありません。
前もって感謝します
ヘネス