ハッシュ関数
ハッシュ関数とは、入力した値に対して全く別の値が出力される関数である。
出力された値を特に「ハッシュ値」と呼ばれる。
ハッシュ関数の特徴は下記の通り
- 同じ値を入力した場合は必ず同じ値が返される
- ハッシュ値から入力値を特定することは計算量的に困難なため、不可逆性がある
- 入力値が英数字少しでも異なれば全く別の値が出力される
- 出力される値は入力値のいかんに関われる固定長が返される
- 入力値が異なる場合は同じ出力値が返されることは原則なし
ハッシュ関数にはSHA-256やRIPEMD-160などと行った関数が存在する。
SHA-256
NIST(米国標準技術局)によってFIPS180-4として標準化された「SHA-2」規格の一部として定義されたもの。
- SHA-224: ハッシュ値の長さが224ビット
- SHA-384: ハッシュ値の長さが384ビット
- SHA-512: ハッシュ値の長さが512ビット
- SHA-256: ハッシュ値の長さが256ビット
Linux環境でsha256sumコマンドを使用すると入力された値がSHA-256でハッシュ化される。

入力する値を大小変更すると全く異なる値が返されます。

入力する文字が1文字でも値が返されます。

RIPEMD-160
RIPEMD-160とは「RACE Integrity Primitives Evaluation Message Digest」の略称。
ハッシュ関数の一つ。
RIPEMD-160はオリジナルのRIPEMDでは128ビット長であるハッシュ値を160ビットにした上で改良したものをSHA-256よりも短いハッシュ値で出力される。
Linuxに標準でインストールされているopensslコマンドで確認できる。

HASH160
HASH160はハッシュ関数ではないが、SHA-256で出力されたハッシュ値をさらにRIPEMD-160でハッシュ化すること。
今日はここまで