2016-12-02 4 views
1

opensslで鍵ペアを生成したいのですが、プライベート/パブリックキーを生成するパラメータを設定できません。 一意のプライベート/パブリックキーを取得するために、識別子(例:macアドレス)などの入力パラメータを渡したいと思います。同じ識別子の場合、私は同じ秘密/公開鍵が必要です。 どうすればいいですか? ありがとうございます。DopensslでRSAキーパラメータを生成する

+0

OpenSSLの 'RSA_generate_ex'を使用すると、いくつかの作業が必要になることがあります。おそらく、乱数ジェネレータを提供する 'ENGINE'を提供する必要があります。 RNGは、鍵生成アルゴリズムで使用されるビットを供給します。 Richard Levitteは、[エンジンビルドレッスン1:最小限の無駄なエンジン](https://www.openssl.org/blog/blog/2015/10/08/engine-building-lesson-1a-a-最小の無駄なエンジン/)と[エンジンビルドレッスン2:MD5エンジンの例](https://www.openssl.org/blog/blog/2015/11/23/engine-building-lesson-2-an- example-md5-engine /)。 – jww

+0

より良いオプションは 'p'、' q'、 'n'、' e'、 'd'とCRTパラメータを作成することです。彼らはちょうど 'BIGNUM'の、あなたは完全にフォームを制御します。次に、それらを 'RSA * 'に割り当てます。標準的な警告は、このように鍵生成を混乱させることについて適用されます... – jww

答えて

0

RSAキーペアはランダムに生成する必要があります。

世代を確定的にする - キーを生成するのではなく、特定のデータ(MACアドレスなど)からキーを導出します。これにより、生成された鍵のセキュリティがゼロになります。したがって、それらは無用であり、生成する必要はありません。

RSAのセキュリティの基本は、秘密鍵が鍵所有者にしか知られていないということです。 MACアドレスのようなあなたは、公開情報を取る場合は、以下の式が適用されます。

RSA鍵ペア=あなたの-導出アルゴリズム(MACアドレス)

あなたはの一部である(RSA秘密鍵をお知りになりたい場合は鍵ペア)には、MACアドレスと派生アルゴリズムが必要です。 MACは公開されており、導出アルゴリズムは公開前または公開後に公開されます。

したがって、RSA秘密鍵も公開されているため、MACアドレスを知っている誰もがそれを生成できるため、セキュリティの観点からは役に立たなくなります。

注意:セキュリティは、秘密のデータに基づいて、うまく設計されたアルゴリズムと組み合わされています。アルゴリズムが公開されているかどうかは、セキュリティに影響を与えてはいけません。それが効果がある場合、あなたは捨てることができる安全でないアルゴリズムを持っています。

+0

こんにちは、同じ入力パラメータに対して同じ鍵ペアを生成する方法を教えてください。生成された鍵のセキュリティを低下させますか? –

+0

私の更新された回答を参照してください。 – Robert

関連する問題