4

私はコードを使ったチュートリアルを求めているのではなく、調査を行おうとしていますが、正しい質問をしていることを確認したいと考えています。

  • .NET ですぐに使用できる暗号化の最適な形式は何ですか?
  • 公開鍵/秘密鍵、これらをどこに安全に保管すればよいですか?
  • これを適切に行うには、どのようなツールが必要ですか?

AESCryptoServiceProvider から始めて、渡した文字列を暗号化しました。満足しました。2回呼び出すと同じ値になることをテストしました。その後、何の形式のキーも提供していないことに気付き、アプリの 2 回目の実行で異なる結果が得られました。それで、私は読み始め、RSA公開/秘密鍵などを見ました。そして、私が行っている読みで正しい道を進んでいることを確認したいだけです。そこにはたくさんの例がありますが、これらのキーをどこに置くか、どこから取得するかについて言及しているものはほとんどありません.

4

3 に答える 3

2

AESに行きます。スタック オーバーフローには、答えとしてAES アルゴリズムの素晴らしい実装が既にあります。

于 2011-03-13T16:08:18.060 に答える
2

System.Security.Cryptography には多くの暗号化関数があります。

ハッシュ、クリプト、ストリームなどがあります。

RSA プロバイダーは優れたプロバイダーです。そして、定数を安全に保存することについて。ソリューションに暗号化して保存することしか提案できません。ソースからそれらを読み取ることはできないため、アセンブリがビルドされた後に何らかのセキュリティが必要です。難読化かもしれませんし、他の何かかもしれません。キーの生成については、独自のシステムや、私が推測する開発システムを使用しないでください。

編集:
キーを生成するには、どちらかのユーザー入力を使用することをお勧めします。たとえば、文字ごとに特定のテキストを入力するのにかかる時間を計算する小さなアプリケーションを作成するだけです。

または、HRNG/TRNG、ハードウェア乱数ジェネレーターを使用します (センサーを通じて取得した実際の世界からの入力を使用します)。または真の乱数ジェネレーター、基本的にはHRNGでもありますが、ほとんどが他の形式の入力であり、非常に高度です。
RANDOM.ORGがお手伝いできるはずです。

それほど重要でない場合は、キーボードに頭をぶつけて、結果を確認してください:)。

于 2011-03-13T16:03:46.753 に答える
0

「公開鍵/秘密鍵、どこに安全に保管すればよいですか?」に関しては、車輪を再発明しないことをお勧めします。Microsoft は、秘密鍵を格納するためのインフラストラクチャの構築にすでに多大な労力を費やしており、積極的に維持および (できれば) 改善しています: https://msdn.microsoft.com/en-us/library/windows/desktop/bb204778% 28v=vs.85%29.aspx . ネイティブ キー ストレージを使用できます。

于 2015-02-19T19:29:44.167 に答える