需要掌握的内容如下:
- Two simple hash functions
- Hash functions based on cipher block chaining
- SHA(Secure hash algorithms)
Condenses压缩 arbitrary message to fixed size: h=H(M)
Good hash function 特征
- Evenly distributed
- Apparently random
Object: data integrity 数据完整性
--Used to detect changes to message
- One-way property
----Computationally 计算上 infeasible不可行的to find data mapping to specific hash
- Collsion-free property
----Computationally infeasible to find two data to same hash
Hash应用在哪些方面?
- Message authentication
- Digital signature 数字签名
Hash Functions & Digital Signatures
Two simple Insecure Hash Functions:
- Bit-by-bit exclusive-OR(XOR) of every block
Known as a longitudinal纵向的 redundancy check
- Rotated XOR: one-bit circular shift on hash value 旋转的
Randomizing the input and overcoming any regularities that appear in the input,
good for data integrity but useless for security when an encrypted hash code is used with a plaintext message,
easy to find a new message that yields that hash code.
Security Requirements
- for a hash function h=H(x)
- a collision occurs if we have x!=y and H(x)=H(y)
if the length of the hash code is n bits, and input data block is b bits(b>n), each hash value corresponds to 2^(b-n)
Atttack on Hash Functions
- Brute-force attacks and cryptanalysis 暴力攻击和密码分析
- a preimage or second preimage attack