|
rosegardenさん有難う御座います。 教えてくれたページを見て勉強します。 これからもよろしくお願いします。 |
|
ども。お世話になってます。 管理モードのパスワードとかって、普通crypt()でハッシュしますよね。 でもDESの場合辞書アタックとかで簡単に破られちゃいますよね。 なのでmd5(md5sum)コマンドで「4fcf95ef97e1b7b248698bca83781902」みたいに ハッシュしているのですが、これはcrypt()のDES、MD5($1$...$)と比べてどっちが セキュリティ的によろしいのでしょうか。 |
|
URLエンコードの件ありがとうございました。 URIですか?に&をそのまま入れているページはたくさんあります。自分のホームページ上のCGIもそうだし、検索エンジンとかもそう。修正しようか迷っています。登録されている実体参照と重なっていないようなので、事実上大丈夫なのでしょうが。勉強になりました。これを、CGIに反映させるかは迷っているのですが。 現在作っているプログラムでは、色々動かして問題がないようですので、このままにしておきます。ブラウザでも正しくエンコードされていない、ページを開くときに支障があるぐらいですから、こちらで変換すれば上手く出来そうですが、ページの責任と言うことで。終わらせます。 ありがとうございました。 今回は、 |
|
こんちはーっす。 ず、ずいぶんまえに、ここに(そのときとはURL違うような気もするが) 永久保存版の過去ログなかったっすか? 久しぶりに見たくなって検索したのですが・・・・ 最近行ってないけどtestボードまだ、げんきなのかなー・・・・ |
|
>>1474 ぷに辻 > 管理モードのパスワードとかって、普通crypt()でハッシュしますよね。 DESやmd5を1方向関数として使用している点は了解していると仮定します。 (余談1 ハッシュ関数と1方向関数は同義と言ってもよいですが、一応別物です。 1方向関数は(結果的に)ハッシュ関数ですが、逆は必ずしも真ではありません。 moduloはハッシュ関数ですが、出力から元の値が容易に推測可能なので良い1方向関数ではありません。) > でもDESの場合辞書アタックとかで簡単に破られちゃいますよね。 辞書アタックと言っているのは、1方向関数でエンコードされたパスワードを奪われて、それに対して、しらみつぶしにパスワードを探索していると仮定します。 (余談2 暗号化パスワードと呼ぶ場合もありますが、復号化するわけではないので、誤用に近いと思っています。) 辞書アタックは、ワードを同じ1方向関数でエンコードして、マッチするものを探すことですから、同じ長さのパスワードなら、探索にかかるコストは、DESでもmd5でも大差無いと思います。 ただ、DESの場合、鍵長が56bitで、パスワード自体を鍵に使うことで(本来、暗号化アルゴリズムであるDESを)1方向関数にしているので、パスワードの長さが8文字に制限されます。 md5は(本来から1方向関数で)元データの長さに(現実的な)制限はないので、もっと長いパスワードが選べます。 この差は大きいですが、弱い(or 短い)パスワードを使っている限り、辞書アタックに対する強さは変わらないと思います。 (辞書アタック以外の探索法に対する強さは分かりません。 DESが簡単に破られる、と言っているのは、3年ぐらい前(もっと前?)のRSAコンテストで、約半年かかって破られたことを根拠にしていると思いますが、逆に言えば、未だ辞書アタックしか有効な手が無いという辺り、腐ってもDESと思わせるものもあります。) |
|
>>1476 SabaCurry > 永久保存版の過去ログなかったっすか? はい、ありました。半永久保存版は1997年9月16日だけですが、 一応 1997/9/29〜1998/09/20 の分は保存してあります。 データはありながらも閲覧用 CGI スクリプトがどっか行っちゃって 見られない状態が続いてましたが、さきほど発掘してきました。 見てたら恥ずかしくなったので (笑)、URL はメールで送ります。 そのうちアナウンスもなくひっそりと公開します。 >>1474 ぷに辻 > crypt()のDES、MD5($1$...$)と比べてどっちがセキュリティ的に > よろしいのでしょうか。 md5 より crypt+md5 の方が、salt という仕組みがある分 強固ではないかと思います。推測にしか過ぎませんが。 >>1477 gixs > RSAコンテストで、約半年かかって破られたこと 専用ハードウェアを使うと、56bit DES 解読に要する時間は 22時間くらいでしたっけ。剣呑剣呑。 |