ここから本文です

md5は一方向関数なのに、何故逆変換ツールが存在するんでしょうか? 原理的に復号...

zen********さん

2014/3/1220:27:22

md5は一方向関数なのに、何故逆変換ツールが存在するんでしょうか?
原理的に復号不可能なパスワードは存在しないのですか?
また、今一番安全なパスワードの暗号化方式があれば教えて下さい。

閲覧数:
36,793
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

bla********さん

2014/3/1316:04:30

>md5は一方向関数なのに、何故逆変換ツールが存在するんでしょうか?
MD5 (暗号学的ハッシュ関数と言います) は一方向性関数ですので,逆変換 (復号) はできません.それは与えられたハッシュ値 z に対し,ランダムにデータを生成してハッシュ値を計算し,ハッシュ値が z に一致する元データを探索するようなツールでしょう (そのようなデータは複数あり得ます).また,コリジョン (ハッシュ値が一致する 2つのデータ)を見つけるようなツールもあるようです.

暗号学的ハッシュ関数は,任意の長さのデータを一定長(128ビットから512ビット程度)のデータに変換(圧縮)する関数です.ハッシュ関数は,暗号化・復号とは違います.
暗号学的ハッシュ関数 h(x) は,次の条件を満たす関数です.
1. 一方向性
z が与えられたとき,h (x) = z になる x を見つけるのが困難であること.
2.コリジョンフリー
a) 入力 x が与えられた時,h (x) = h (x') なる x' (x ≠ x') を見つけるのが困難であること.
b) h (x) = h(x') かつ x ≠ x' なる x, x' を見つけるのが困難であること.

この性質から,ハッシュ値が異なれば,実用上は元の値も異なると判断して良いことになります.そのため,パスワードなどをハッシュ化した値で格納しておき(見られてもパスワードが分からないように),入力されたパスワードのハッシュ値を計算し格納されているハッシュ値と一致すれば正しいパスワードと判断するような使われ方をします (ハッシュ関数を用いたパスワード認証).

MD5 は 128ビットのハッシュ値を生成する関数ですが,ハッシュ長も短く現在では推奨されていません.
安全性に関しては,現状 256ビット以上のハッシュ関数であれば危険性はないとされています.
日本の電子政府推奨暗号リストでも SHA-2 シリーズ (SHA-256/SHA-384/SHA-512) が推奨されています.また,最近では SHA-3 というハッシュ関数も登場しています.

いずれにしろ,パスワードは全数探索されれば判明することには違いはありませんので,絶対安全はありません.しかし,十分な長さのパスワード及びハッシュ関数を用い,かつパスワードの試行回数制限などの対策がなされていれば実用上安全と考えてもよいと思います.

>原理的に復号不可能なパスワードは存在しないのですか?
上記のハッシュ化したパスワードも復号可能かと言う意味では,不可能です (一対一対応していない).
暗号化方式としては,復号できない方式は意味をなしません.

>今一番安全なパスワードの暗号化方式があれば教えて下さい。
パスワードを暗号化して相手に送信する意味(暗号通信)ならば,公開鍵暗号方式では RSA,共通鍵暗号方式では AES, Camellia などが用いられています.パスワードを用いた認証方式の意味ならば,上に述べたとおりです.

質問した人からのコメント

2014/3/13 16:50:03

降参 お二方とも詳しくありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

air********さん

2014/3/1314:16:39

結局、md5が提案された当初は問題が無かったけど、そのアルゴリズムに欠陥があったからということに尽きるかと。
で、その欠陥、問題点を突かれている訳で.....

現状で、これだけ問題を指摘されています。
http://ja.wikipedia.org/wiki/MD5#.E5.AE.89.E5.85.A8.E6.80.A7

現状だと、よりセキュアなハッシュとしては、SHAが普及していますし、そのSHAも進化をして新たなバージョンが提案されています。

ちなみに、復号不可能な暗号は、暗号ではありません、それは元データを壊しているだけ。
適切な方法と手順を用いて復号化が出来るから暗号です。
問題なのは、適切な手段と方法を用いないでも復号化、情報を取得できてしまう方法が、つまり、欠陥・問題がたまに見つかってしまうことです(軽微な問題ならばともかく、致命的なことも)。

ハッシュを求めることと、暗号がごちゃ混ぜになっていませんか?
まあ、ハッシュも暗号といえば、暗号ですが....

問題点が指摘されていない暗号方式でも、使う場所は、適材適所です。
逆に言えば、致命的な問題・懸念が用命されている方式は使うべきではありません。

致命的な問題を指摘されていないモノは、現状ですと、
ハッシュならば、先に挙げた、SHAが代表的

それと、
秘密鍵暗号方式、いや今どきは、共通鍵暗号方式と呼ばれる方式ならば、AES
公開鍵暗号方式、ならば、RSA
等が広く使われています。

暗号は、数学上の特性(解くには膨大な演算が必要など)から、安全性が担保されていますが、量子コンピュータ等、今までにない膨大な演算をこなせるモノが実用化されると、その安全性は一気に脅かされることになるでしょうけど.....当面、心配はないのかな?!
もし、量子コンピュータが実用化されると、メジャーな暗号アルゴリズムの安全性の担保が出来なくなる一方で、現在は、あまりメジャーではない、日の目を見ていない暗号アルゴリズムが、あらためて脚光を浴びるかもしれないことも指摘されています。

量子とえば、量子暗号(量子暗号通信)は既に、実用化の域に達しているかと。
物理的な特性を用いているので、改竄は不可能です(一見、完璧っぽい暗号ですが、通信の妨害は、手段として可能とされているので、妨害されない通信経路の確保が重要になるとも)。
通信速度が極めて遅いので、極めて重要な小さい情報のみ、例えば秘密鍵の送受に使うとか考えられています(量子暗号単体ではなくて、データ本体の通信は、旧来の暗号も併用というのが無難と考えられています)

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる