.netでAES対称暗号化用の256ビットキーを生成する必要があります。「最初から」そうする方法についての説明は見つかりませんでした。つまり、このキーをユーザーパスワードに基づいて作成するつもりはありません。使用する暗号的に安全なキーを作成したいだけです。
私が知る限り、最良のオプションは、単に.netクラスRNGCryptoServiceProviderを使用することです。
これは、暗号的に安全なキーを生成するための最良のアプローチですか?
.netでAES対称暗号化用の256ビットキーを生成する必要があります。「最初から」そうする方法についての説明は見つかりませんでした。つまり、このキーをユーザーパスワードに基づいて作成するつもりはありません。使用する暗号的に安全なキーを作成したいだけです。
私が知る限り、最良のオプションは、単に.netクラスRNGCryptoServiceProviderを使用することです。
これは、暗号的に安全なキーを生成するための最良のアプローチですか?
「最善のアプローチ」は、正確な要件によって異なります。
必要なのがランダム32バイトだけの場合は、RNGCryptoServiceProviderで問題ありません。通常はRSAまたはその他の非対称暗号化方式を使用して、宛先でキーが使用可能であることを確認するための調整を行う必要があります。アーカイブ目的で必要な場合は、安全に保管する方法が必要になります。また、不要になった後は安全に削除する必要があります。
または、KDFパラメータに適用される転送、保存、削除について同じ考慮事項を使用して、鍵導出関数を使用することもできます。