暗号ハッシュ関数
ハッシュ関数MessageDigest(MD)とExtendableOutputFunction(XOF)
入力値を逆算できない程度にバラバラにして固有の値として出力するアルゴリズム
ファイルなどを入力して160bitから256bit程度のハッシュ値を出力する。入力データの改変検知などに使われる。
XOF(extendable-output function)では出力サイズが可変
ハッシュ関数を利用した類似のものにはチェックサム、メッセージ認証コード(MAC), 鍵導出関数(KDF), 電子署名、疑似乱数関数(PRF)などいくつかある
多くのハッシュ関数は入力をブロック長単位で分割し、Paddingを入れるのでブロック暗号に近い。
ハッシュ関数
SHA-3 Keccak
SHA-2
SHA-1
MD5 RFC 1321 (廃止)
RIPEMD-160
RIPEMD-128
MD4 RFC 1320 (廃止) RFC 6150 Historic
MD2 RFC 1319 (廃止) RFC 6149 Historic
SM3 (中国)
チェックサム
CRC
XOF 可変長出力ハッシュ
SHAKE128 / SHAKE256
cSHAKE ラベル付きSHAKE
ASCON
MAC メッセージ認証コード (共通)鍵(secret key)が必要
HMAC
KMAC
KMACXOF
PBMAC1
KDF 鍵導出関数 パスワードとソルトなどからハッシュではなく(共通)鍵(secret key)を出力する
PBKDF2
HKDF
PRF 疑似乱数関数
table:OIDs
id-md2 1.2.840.113549.2.2
id-md5 1.2.840.113549.2.5
id-sha1 1.3.14.3.2.26
sha-2以降はSHA