ハッシュ値とは何でしょうか?

ハッシュ値は文書情報を32桁あるいは64桁の16進数で表したものです。16進数では、0,1,2、・・・8,9,a,b,c,c,e,fの16個の数字を使います。2^4=16より、4bitで1桁の16進数を表します。これまでにある文章や数値からハッシュ値を生成するアルゴリズムが開発されてきました。図1にハッシュ値を生成するアルゴリズムとその概要を示します。128bitのMD5なら32桁の16進数を出力します。

セキュリティを高めるためにハッシュ値を生成するアルゴリズムは、年々大きなハッシュ値を扱えるようになっています。SHA-256は256bitの値を生成します。256bitは64桁の16進数に対応します。文書情報は情報の大きさに依らず64桁の数値で表されます。つまり「a」一文字でも、SHA256では、
5AAE1052988B48F4B98898F37F0BD0E47C82AEA33873A3F1DAF32CC5A5790D22
の64桁の数値で表されます。「b」一文字の場合は、
DDB26399963B9A74D781DE39F42CCBB292C922944F590D21F1106A45CC89E382
となり、aとは全く異なるハッシュ値に変換されます。
A4で5ペ-ジの30,418 バイトのワード文書をSHA256で変換するとハッシュ値は
1FA7C665D0DB39083ED8401AD18446FC3E17C2CCA8C835E7C96E37EF2A916871
となりました。「。」を削除するとサイズは8bit増えて、30,426 バイトになり、3EAF2047CA26C79B47AC45B3CFE16A9DDEAE9ACF3928E373E83E74356098342E
と全く異なったハッシュ値になります。このように文書情報の一部が変更されると、ハッシュ値は全く異なる値になりました。従って文書のハッシュ値を記録しておくことで、文書の改ざんをチェックできます。ハッシュ値は2^256種類の有限の値なので、稀に異なる文書が同じハッシュ値になる可能がありますが、その可能性は極めて小さいと考えられています。

・ハッシュ値を簡単に得る方法
7-Zip(https://sevenzip.osdn.jp/)は高圧縮率の無料のファイルアーカイバ(圧縮・展開/圧縮・解凍ソフト)です。ZIP形式には、ファイルを1つにまとめて圧縮するだけでなく、パスワードを付けて内容を保護する暗号化機能も用意されています。7-Zipをインストールすると、エクスプローラの右クリックメニューに新しく[CRC、SHA]という項目が追加されます。ハッシュ値を計算したいファイルを選んで右クリックし、ポップアップメニューからハッシュアルゴリズムを選択すると、そのファイルのハッシュ値が計算され、表示されます。7-Zipは1MBの軽いソフトです。

コメントを残す

メールアドレスが公開されることはありません。