2009-08-14 14 views
0

AES> 256のプロジェクトには、有料の暗号化/復号化APIが必要ですか?C#2の推奨API

私は自分の暗号化/復号化を組み込みのものを使ってコーディングしてもらいたいと思います。間違ってしまう機会が多い

多くの価値のあるサイトへのリンク。

により多くの人が言ってきたように、実際にUPDATE - 私は答えを見ているとなりますが、暗号化と慣れていない場合は、理解し、そのハード、そして小さな事は間違って取得し、その逮捕...

内蔵の暗号化/復号化機能を内蔵していますが、すべてのチームがピアレビューを行う必要があります。情報BlowFish.Netについては

は良いですが、あなたがデータベースに暗号化/ decrpytingデータを見て開始する組み込みの暗号化ルーチンは、いくつかの大規模なPERFの問題を持つことができるよりも速く実行...

http://www.codinghorror.com/blog/archives/001268.html

+5

厳密にテストされた組み込みアルゴリズムを処理する開発者を信頼できず、それらを正しく使用する方法を示すサンプルコードがある場合は、あなたの会社で深刻な問題があると思います。あなたは自分の仕事をするために開発者を信頼し始める必要があります。 –

+0

こんにちはGreg - 私はそれらを信頼しています、更新を確認してください、それはconcearnのより多くの領域について説明します。 –

答えて

3

Bouncy Castleはよく尊敬されており、よく開発された.NET暗号化ライブラリで、これらの種類の質問には通常推奨されます。しかし、System.Security.Cryptography Namespaceを使用すると何が問題になりますか? - 非常に安全で、非常に高速で、外部ライブラリを必要としません。ここにはそれを実装する方法のan exampleがあります。

ああ、「組み込みのものを使用する」は間違っている可能性は低いです。あなたの開発者は、使いやすいインターフェースを使用して独自のクラスをコーディングすることはありません。また、非常に厳密にテストされています。また、「組み込みのもの」はMicrosoftによってうまくサポートされるため、アップグレードしたい場合C#4.0(または今後のC#5.0?)では、おそらくコードを変更する必要はありません。

+0

+1ありがとうございます。正直に言っておかなければなりません。 –

4

は、人々がテストしていることを、利用できる信頼性の高いアルゴリズムはそれは、ないかもしれないブラックボックスサードパーティのAPIを標準の実装に使用するので、それが中に組み込まれている理由がある

「でもものに建て使用」を参照してください。 「間違って行く機会」とは何ですか?

Javaに切り替える必要があるかもしれません。組み込みプロバイダについての不自由な人は、いつでもサードパーティのJSSEプロバイダを使用することができます。

+0

「間違って行くチャンス」は、暗号化アルゴリズムの不正な使用にあると考えられます。その男がその分野で有能でない場合はかなり可能です。しかし同意した。確かにアプローチです。 –

+0

"塩を使う"のようなものがあるかどうか、それをどうやって行うのかと思いました。しかしその場合、「XYZ用のユーザーアカウントAPIはどこで入手できますか」のようなものです。私は開発者が自分自身を改善するように動かなければならないと思っています。もしそれがセキュリティの基礎を学んでいるのであれば(まともな大学コースはそれを行っていますが) – JeeBee

+0

明確にタグが付けられたC#の質問です。したがって、-1では、ピアレビューされた他の実装もあります。 –

0

組み込みの「もの」を使用します。ただし、正しいモードで使用してください。

+0

+1ありがとうございました。これはconcearnの主要な部分です - 暗号は難しいです - これに慣れていなければ、小さな領域があなたを噛むことができます –

1

サードパーティ製のライブラリを使用する場合は、基本的には暗号化の落とし穴を理解できないという点で同じ問題が発生する可能性があります。

キー管理や間違った初期化ベクトルやキーを使用して間違いを犯す可能性があります。これらは、組み込みライブラリ(これは問題ありません)を使用するかサードパーティ製のライブラリを使用するかにかかわらず、あなたが理解する必要がある問題です。

あなたが十分に心配していると感じるものがあれば、おそらく誰かを連れて来る方がいいでしょう。

+0

+1 Paulに感謝しますチームをひとつにして、彼らから移動する。 –