CryptoAPIを使用して秘密キーを作成し、シードする方法はありますか?

StackOverflow https://stackoverflow.com/questions/306703

  •  08-07-2019
  •  | 
  •  

質問

2つの平文キーからシードされた秘密キーを作成する必要があります。 2つの平文キーは、異なるマネージャーによって管理されます。これは、私たちが持っている二重管理の主要要件を満たすためです。 2つのキーを1つのシードに結合できます。ただし、Microsoft CryptoAPIドキュメントを読むと、すべてのキー生成は完全にランダムであり、シードを提供する方法はありません。これは本当ですか?はいの場合、このキーを作成するための代替ソリューションを提案できますか?

注:キーはキーコンテナに保存され、エクスポート不可としてマークされます。

役に立ちましたか?

解決

なぜ逆にしないのですか?秘密鍵を生成し、それを2つの鍵共有に分割します。各マネージャーには1つしかありません。単純な2-out-of-2スキームの場合、必要なことは、キーのサイズのランダムな(擬似ランダムではなく、本当にランダムな)データのブロックを生成し、生成されたキーとxorし、1人のマネージャーを与えることですランダムデータ、および他のマネージャーが暗号化されたキー。

次に、キーを使用する必要がある場合、両方のマネージャーがデータを提供し、そこからデータを再構築し、完了したら削除します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top