opensslで鍵ペアを生成したいのですが、プライベート/パブリックキーを生成するパラメータを設定できません。 一意のプライベート/パブリックキーを取得するために、識別子(例:macアドレス)などの入力パラメータを渡したいと思います。同じ識別子の場合、私は同じ秘密/公開鍵が必要です。 どうすればいいですか? ありがとうございます。DopensslでRSAキーパラメータを生成する
答えて
RSAキーペアはランダムに生成する必要があります。
世代を確定的にする - キーを生成するのではなく、特定のデータ(MACアドレスなど)からキーを導出します。これにより、生成された鍵のセキュリティがゼロになります。したがって、それらは無用であり、生成する必要はありません。
RSAのセキュリティの基本は、秘密鍵が鍵所有者にしか知られていないということです。 MACアドレスのようなあなたは、公開情報を取る場合は、以下の式が適用されます。
RSA鍵ペア=あなたの-導出アルゴリズム(MACアドレス)
あなたはの一部である(RSA秘密鍵をお知りになりたい場合は鍵ペア)には、MACアドレスと派生アルゴリズムが必要です。 MACは公開されており、導出アルゴリズムは公開前または公開後に公開されます。
したがって、RSA秘密鍵も公開されているため、MACアドレスを知っている誰もがそれを生成できるため、セキュリティの観点からは役に立たなくなります。
注意:セキュリティは、秘密のデータに基づいて、うまく設計されたアルゴリズムと組み合わされています。アルゴリズムが公開されているかどうかは、セキュリティに影響を与えてはいけません。それが効果がある場合、あなたは捨てることができる安全でないアルゴリズムを持っています。
こんにちは、同じ入力パラメータに対して同じ鍵ペアを生成する方法を教えてください。生成された鍵のセキュリティを低下させますか? –
私の更新された回答を参照してください。 – Robert
- 1. JAVAでRSA鍵ペアを生成する方法(openssl形式)
- 2. OpenSSLでCrypto ++で生成されたRSA鍵を使用
- 3. OpenSSL RSAエンジン - RSA検証エラー
- 4. OpenSSLのRSAキーサイズ
- 5. OpenSSL生成鍵を使用したPython RSA解読
- 6. opensslで生成されたファイルから公開RSAキーをPython-RSAにロードするには?
- 7. JavaScriptでRSA鍵ペアを生成する
- 8. OpenSSL、RSA and Winsock and C++
- 9. OpenSSLのC RSAライブラリ復号
- 10. OpenSSLでプライベートキーを生成
- 11. 関数が適切なopenssl rsaキーを生成していない
- 12. RSAアルゴリズムキーの生成
- 13. OpenSSLで非対称RSA鍵の問題
- 14. opensslとgolangで生成するRSAシグネチャが異なるのはなぜですか?
- 15. C#bouncy castle rsaクライアント/サーバーrsa鍵ペアを生成する
- 16. OpenSSL証明書チェーンを生成する
- 17. OpenSSLでRSA-SHA1(sha1WithRSAEncryption)の値を計算する方法
- 18. OpenSSL(cpp)と.net RSA鍵交換
- 19. opensslのRSA秘密鍵と公開鍵
- 20. opensslによって生成されたRSA秘密鍵をAndroidKeyStoreにインポートする方法
- 21. RSA Signing with .Net OpenSSLコマンドで照合する
- 22. OpenSSLは、私が正常にOpenSSLを生成しています
- 23. asp.netキーストアなしでRSA公開鍵ペアを生成する
- 24. PyCrypto:DES3パスワードで保護されたRSA鍵を生成する
- 25. なぜOpenSSL :: PKey :: RSAキーはプライベートとパブリックの両方ですか?
- 26. Windowsでopensslライブラリを使用してランダムキー/データを生成する
- 27. OpenSSLを使ってiPhoneでpasswdを生成する
- 28. RSA SHA256署名の生成と検証
- 29. OpenSSL RSA関数を使用してC++でエラーを解読する
- 30. Java RSA異なる公開鍵を生成する方法は?
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
より良いオプションは 'p'、' q'、 'n'、' e'、 'd'とCRTパラメータを作成することです。彼らはちょうど 'BIGNUM'の、あなたは完全にフォームを制御します。次に、それらを 'RSA * 'に割り当てます。標準的な警告は、このように鍵生成を混乱させることについて適用されます... – jww