MD5ハッシュアルゴリズムは、任意の長さのメッセージを入力として受け取り、元のメッセージの認証に使用される固定長ダイジェスト値を出力として返す一方向の暗号化関数です。
MD5ハッシュ関数は、もともとデジタル署名を認証するための安全な暗号ハッシュアルゴリズムとして使用するために設計されました。 MD5は、データの整合性を検証し、意図しないデータ破損を検出するための非暗号化チェックサムとして以外の用途で非推奨になりました。
もともとはインターネット上で使用するための暗号メッセージ認証コードアルゴリズムとして設計されていましたが、研究者は市販の市販のコンピ
RSA Data Securityの創設者でMITの研究所教授であるRonald Rivestは、MD5を以前のメッセージダイジェストアルゴリズムであるMD4の改善として設計しました。 Internet Engineering Task Force RFC1321「MD5Message-Digest Algorithm」に記述されています。:
このアルゴリズムは、入力として任意の長さのメッセージを受け取り、出力として入力の128ビットの’fingerprint’または’message digest’を生成します。 同じメッセージダイジェストを持つ二つのメッセージを生成すること,または与えられた事前に指定されたターゲットメッセージダイジェストを持つ任意のメッセージを生成することは計算上実行不可能であると推測した。 MD5アルゴリズムは、RSAなどの公開鍵暗号システムの下で秘密(秘密)鍵で暗号化される前に、大きなファイルを安全な方法で”圧縮”する必要があるデジ
IETFは、MD5ハッシュを整合性保護に使用できることを示唆しており、”MD5チェックサムがエラーから保護するためだけにプロトコルとインラインで使”しかし、それは、”任意の目的のためにMD5を採用するアプリケーションとプロトコルは、MD5の使用から期待されるセキュリティサービスを明確に述べる必”
メッセージダイジェストアルゴリズム特性
ハッシュ関数とも呼ばれるメッセージダイジェストは、一方向の関数であり、任意のサイズのメッセージを入力として受け入れ、出力として固定長のメッセージを生成する。メッセージダイジェスト。
MD5は、Rivestによって作成された第三のメッセージダイジェストアルゴリズムです。 3つ(他はMD2とMD4)はすべて同様の構造を持っていますが、MD2は32ビットマシン用に最適化された後の2つの式と比較して、8ビットマシン用に最 MD5アルゴリズムはMD4の拡張であり、批判的なレビューでは高速であるが、絶対に安全ではない可能性があることが判明した。 比較すると、MD5はMD4アルゴリズムほど高速ではありませんが、データセキュリティの保証がはるかに高くなります。
MD5の仕組み
MD5メッセージダイジェストハッシングアルゴリズムは、512ビットブロックでデータを処理し、それぞれ32ビットで構成される16ワードに分割されます。 MD5からの出力は、128ビットのメッセージダイジェスト値です。
MD5ダイジェスト値の計算は、前の段階で計算された値と一緒に各512ビットのデータブロックを処理する別々の段階で実行されます。 最初のステージは、連続する16進数の数値を使用して初期化されたメッセージダイジェスト値から始まります。 各ステージには、現在のデータブロックの値と前のブロックから処理された値を操作する四つのメッセージダイジェストパスが含まれています。 最後のブロックから計算された最終値は、そのブロックのMD5ダイジェストになります。
MD5セキュリティ
メッセージダイジェスト関数の目的は、ランダムに見えるダイジェストを生成することです。 暗号的に安全であると考えられるためには、ハッシュ関数は、攻撃者が特定のハッシュ値に一致するメッセージを生成することが不可能であること、第二に、攻撃者が同じハッシュ値を生成する二つのメッセージを作成することが不可能であることの二つの要件を満たす必要があります。
MD5ハッシュは暗号的に安全であるとは見なされなくなり、暗号化認証には使用しないでください。
2011年、IETFはRFC6151″Updated Security Considerations for THE MD5Message-Digest and the hmac-MD5Algorithms”を公開し、MD5ハッシュに対する最近の攻撃、特に標準ノートブックでは1分以内にハッシュ衝突を生成し、2.66GHz Pentium4システムでは10秒以内に衝突を生成する可能性がある。 その結果、IETFは、新しいプロトコル設計ではMD5をまったく使用すべきではなく、アルゴリズムに対する最近の研究攻撃は、”デジタル署名などの衝突抵抗が必要なアプリケーションでMD5の使用を排除するのに十分な理由を提供している”と提案した。”