2010-12-13 17 views
15

私はGawkerの事件について読んできましたが、パスワードをハッシュするのにbcryptを使用することに関するいくつかの記事がありました。別の方法に切り替えることは避けてください。私の現在のアプリケーションでは、sha2-512と最低1000回の反復を利用してPBKDF2の実装を選択しました。パスワードの暗号化:PBKDF2(sha512 x 1000を使用)とBcryptの比較

PBKDF2とBcryptの使用に関する意見、および変更を実装する必要があるかどうかについて質問できますか?

答えて

27

PBKDF2でうまくいけば、bcryptにジャンプする必要はありません。

2000年に1000回の繰り返しを使用することをお勧めしましたが、今より多くのものが必要になります。

bcryptのを使用する場合も、あなたはより多くの世話をする必要があります。

bcryptのは、パスワードのほとんどの種類のためのPBKDF2よりも強力ですが、それは長いパスフレーズのために遅れていることも注目に値します。これは、bcryptがパスフレーズの最初の55文字以上を使用できないことに起因します。私たちの推定コストとNISTの間です。 パスフレーズエントロピーの推定値は、bcryptの55文字の制限が現時点で問題を引き起こす可能性が高いことを示しています。 bcryptに依存するシステムの実装者は、この制限を回避する(例: "prehashing" へのステップを踏んで、ユーザが56番目以降の 文字にパスワードのエントロピーをあまりにも多く置かないようにする(例えば、ウェブサイトのユーザに入力にパスワードを入力するように依頼することによって 55文字のスペースしかないボックス)。言っFrom scrypt paper [PDF]

は、またscryptがあります。

任意の比較は、上述scrypt紙からテーブルなしで不完全であろう:PBKDF2-HMAC-SHA256ため

Estimated cost of hardware to crack a password in 1 year.

反復数は86,000と430万ある使用しました。

+5

"ウェブサイトのユーザーに55文字分のスペースしかない入力ボックスにパスワードを入力するよう求めています。申し訳ありませんが、これは現実世界にどのように適用できますか?私はほとんど8文字のパスワードを思い付くことはできません。 – m33lky

+6

私はパスワードとして偉大なチェスのゲームのシーケンスを使用する男を知っています。彼は、プレイヤー、日付、演奏された都市などの名前をシーケンスに塩を付けます。私は叙事詩からの詩を使用し、故意の誤りが導入された別の人を知っています。大量の長いパスワードを取得する方法はたくさんあります。 – Cheeso

+1

scrypt paperにはエラーがあり、実際のbcryptのアルゴリズム上の制限は72文字であることに注意してください。だからまだカットオフがありますが、それは128ビット以上のエントロピーを持っています。これは非常に重要です。 – ircmaxell

-7

コメント(再:タイトル):

  • あなたが必要がある場合を除き、パスワードを保存するために、暗号化(可逆)を使用しないでください。
  • 代替としてハッシュ(非可逆)オプションを提示して以来、私は可逆性を必要としないと考えています。私は 変更を実装する必要があるかどうか

bcryptの対PBKDF2を使用しての意見や ?

私の意見:bcryptのオーバー

使用PBKDF2。 (私はちょうどBlofishよりもSHAのほうが信憑性があります)

「変更を実装する」必要があるかどうかは、あなたが何を求めているのかわかりません。

暗号化/ハッシングの説明と私の好みのw/r/tアルゴリズムとを明確に区別するために編集されています。

+0

PBKDF2のALGOの代わりにbcryptの使用するために私のスクリプトを変換意味する「変更を実施」。 – buggedcom

+4

私はbcryptが暗号化されているとは思わない。これは、BLOWFISHの基本的なハッシングメカニズムです。 – buggedcom

+0

BCrypt * is has a hashing algorithm。 –

関連する問題