Cryptographic Hash Functions and Message Authentication Codes
什么是哈希函数?
哈希函数表示为:
其中n是一个安全参数,比如128、160、256或512。
让x代表一些信息。h(x)称为message digest。
基本要求
–message digest的长度是固定的,而数据的长度可以是任意的。
–给定x,很容易计算h(x)。
–建议的message diges长度(位):128(MD5)、160(SHA-1)、224/256/384/512(SHA-2)、224/256/384/512(SHA-3)
总结来说,哈希函数就是输入任意长度(*)的input,总会输出固定长度(n)的output.
加密哈希函数-安全属性
一共有三大属性:
1. Pre-image resistance
给定一个哈希函数h: X–>Y, y∈Y,没有有效的机制来发现 x∈X 使得h(x) = y。
这个属性与单向函数(one-way functions)相同。哈希函数是一种特殊的单向函数。
2. Second pre-image resistance
给定一个哈希函数h: X–>Y,x∈X没有有效的机制来发