MD5チェックサムは、ファイルやテキストから計算される128ビットの値で、もとのファイルやテキストが1ビットでも異なると値が変化する。そのためファイルやテキストが改ざんされていないかを確認するために使うことができる。
しかし2004年8月、異なる値から同一のMD5値を得るための新しい手法(*)が発表された(詳しくはここを参照)。そのため「もとのファイルやテキストが1ビットでも異なると値が「絶対に」変化する」とはいえなくなった。ソフトウェアの配布パッケージが真正のものであるという証明には、MD5は使われなくなっていくだろう。MD5以外の信頼性の高いハッシュアルゴリズムとしては、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512などがある。ただし暗号理論の権威ブルース・シュナイアー氏によれば「私たち皆がSHA-1から移行する時が来た」ということで、SHA-1は外すべきなのかもしれない。
たとえば、
wMD5sum (フリーウェア) 
作者:KK.Kon氏
ダウンロード先:http://kkkon.hp.infoseek.co.jp/index.shtml
wMD5sumは、MD5の計算・検証ができる。グラフィックインターフェイスなので使いやすい。
md5コマンド (フリーウェア) 
作者:ずるぼん氏
ダウンロード先:http://www.vector.co.jp/soft/win95/util/se224884.html
md5コマンドは、MD5の計算ができ、検証の機能はない。しかし、文字列を入力し、そのMD5を計算できる点がwMD5sumにない機能だ。
HashChecker (フリーウェア) 
作者:かみさか氏
ダウンロード先:http://www.vector.co.jp/soft/win95/util/se283188.html
HashCheckerは、MD5の計算・検証ができる。インターフェイスは洗練され、たいへん使いやすい。"CRC"という種類のチェックサムの計算・検証も同時にできる。
md5make (フリーウェア) 
作者:Shodoya氏
ダウンロード先:http://www.vector.co.jp/soft/win95/util/se136327.html
md5makeは、MD5の計算・検証ができる。インターフェイスは極めてシンプルで使いやすい。
ElleFileInfo (フリーウェア) 
作者:ElleTimeProject氏
ダウンロード先:http://www.vector.co.jp/soft/win95/util/se297267.html
ElleFileInfoは、ファイルの右クリックメニューからMD5値を計算・検証できる。
md5sum (フリーウェア) 

作者:Free Software Foundation
ダウンロード先:http://unxutils.sourceforge.net/
UNIX用(GNU)md5sumコマンドのWindows移植版。MD5ツールの元祖といっても過言ではない(と思う)。
インストールと起動
インストールは、ダウンロードしたアーカイブを、適当なフォルダに展開するだけでよい。
起動するには、wMD5sum.exeをダブルクリックする。
下図のウィンドウが表示される。
ダウンロードするファイルを検証するには
ファイルのMD5チェックサムを入力したファイルがあれば、それも一緒にダウンロードして、同じフォルダに保存する。MD5チェックサムが入力されたファイルは、以下のどれかの名前でなければならない。
メールの場合
メール本文に公開鍵が記載されていた場合、または公開鍵がファイルとして添付されていた場合、wMD5sumを使って検証するには、以下のようにする。
メール本文に公開鍵が記載されていた場合
公開鍵がファイルとして添付されていた場合
普通の添付ファイルと同様にして保存する。ここではファイル名を「A-san.pub」とする。
自分のファイルのMD5チェックサムを計算するには
ダウンロードとインストール
アーカイブ(md5command100.zip)をダウンロードし、適当なフォルダに展開する。md5.exeがmd5コマンドの本体である。
特定ファイルのMD5チェックサムを作成したい場合
コマンドプロンプトに、以下のように入力する。
| >md5 ファイル名 |
複数のファイル名も指定できる。例えば:
| >md5 file1 file2 file3 ... |
文字列のMD5チェックサムを作成したい場合
コマンドプロンプトに、以下のように入力する。
| >md5 -s 文字列 |
標準入力からの入力
コマンドプロンプトに、以下のように入力する。
| >md5 < 標準出力に出力されるコマンドライン("dir"など) |
画面表示例
|
C:\>md5 md5.exe MD5 (md5.exe) = 364fe1c09da67d6c5c1df0a5680add4e |
-qオプションを使用すると、MD5チェックサムだけが出力される。
| C:\>md5 -q md5.exe 364fe1c09da67d6c5c1df0a5680add4e |
インストールと起動
インストールは、ダウンロードしたアーカイブを、適当なフォルダに展開するだけでよい。
起動するには、HashChecker.exeをダブルクリックする。
下図のウィンドウが表示される。
MD5値の計算
ウィンドウに「ファイルをドロップしてください」と表示されているので、そのとおりにすると、CRC値とMD5値が表示される。
MD5値の検証
HashCheckerにはたいへん親切に書かれたヘルプが付属しているので、これ以上の説明は必要ないのだが、一応書いておく。
インストールと起動
インストールは、ダウンロードしたアーカイブを、適当なフォルダに展開するだけでよい。
起動するには、md5make.exeをダブルクリックする。
下図のウィンドウが表示される。
MD5値の計算
MD5値を計算するファイルを、上図のウィンドウにドラッグアンドドロップする。
下図のウィンドウが表示される。
ドロップしたファイルと同じフォルダ内に、「ファイル名.md5」という名前のファイルがなければ、「ファイル名.md5」が作成される(例:readme.txt.md5)。このファイルに、ドロップしたファイルのMD5値が入力されている。
MD5値の検証
MD5値のファイルとして、以下のような形式のものもあるが、これはmd5makeでは受け付けられない。
MD5 (ReadMe.txt) = fba27edb87c46ebf454e123d01894f0c
このような形式の場合は、MD5値以外の部分をテキストエディタで削除すること。
一致すれば「○ 一致」と表示される。
一致しなければ[× 不一致]と表示される。
「窓の杜」の「ファイル上の右クリックメニューから“CRC32”“MD5”を確認「ElleFileInfo」」(http://www.forest.impress.co.jp/article/2004/05/14/ellefileinfo.html)で解説されている。
ただし同記事に「CRC32のハッシュ値は8文字の、MD5のハッシュ値は32文字の英数字で表記できる。」とあるが、これは「CRC32のハッシュ値は8桁の、MD5のハッシュ値は32桁の16進数で表記できる。」の誤り。
ダウンロードとインストール
ダウンロードしたZIPファイル(UnxUtils.zipまたはUnxUpdates.zip)からmd5sum.exeを取り出すだけでよい。
MD5値の計算
コマンドプロンプトに、以下のように入力する。
|
>md5sum ファイル名
29ab650f56718d24673e35edb4d5446d *ファイル名 |
MD5値の検証
MD5値 ファイル名(テキストファイルの場合)
MD5値 *ファイル名(バイナリファイルの場合)
の形式(md5sum自身の出力と同じ形式)のMD5ファイルが必要。拡張子.md5を付けるのが慣例だが、なくても動作する。
コマンドプロンプトに、以下のように入力する。
|
>md5sum MD5ファイル名
一致すれば 一致しなければ のように表示される。 |
MD5とは、Message Digest 5の略で、Ronald L. Rivest氏が考案した、「一方向ハッシュ関数」の一種である。 ハッシュには切り刻むという意味がある。ハッシュ関数の広い意味は「大きな定義域から小さな領域に値を写像する関数」だ。これ以上はここでは触れない。
MD5の値は入力のサイズに関係なく、常に128ビット固定長で算出される。入力が1ビットでも異なれば、MD5の値も異なるため、ファイルの改ざんの有無をチェックするのに使われる。
また、MD5値からもとのデータを復元することは不可能である。この性質から「一方向」という形容詞がつけられ、パスワード認証のメカニズムにも使われている。
MD5以前にMD2、MD4があったが、これらは安全でなくなっている。
MD5はRFC1321として標準化されている。(http://rfc-jp.nic.ad.jp/rfc/rfc1321.txt)
RFC1321を非常におおざっぱに読んだところ、以下のような処理をしているようだ。
この記事の冒頭にも書いたが、2004年8月、異なる値から同一のMD5値を得るための新しい手法が発表された(詳しくはここを参照)。ソフトウェアの配布パッケージが真正のものであるという証明には、MD5は使われなくなっていくだろう。
Copyright (C) Cybernetic Survival Network. All Rights Reserved.