一、哈希算法:数据指纹的“不可逆加密”
哈希算法是数字签名防篡改的核心基础,其核心特性包括:
1. 单向性:输入数据通过哈希函数(如SHA-256)生成固定长度的哈希值(256位),但无法从哈希值反推原始数据。
2. 雪崩效应:输入数据的微小变化(如修改1个字符)会导致哈希值发生显著变化(例如,"hello"与"hellp"的SHA-256哈希值完全不同)。
3. 抗碰撞性:找到两个不同输入生成相同哈希值的概率极低(SHA-256的碰撞概率约为1/2^128)。
应用场景:
• 文件完整性验证:传输文件时附带哈希值,接收方重新计算哈希值比对,若一致则证明文件未被篡改。
• 密码存储:将用户密码通过哈希算法加密后存储,即使数据库泄露,攻击者也无法还原明文。
二、非对称加密:构建“数字指纹+身份锁”
非对称加密(如RSA)通过公私钥对实现身份验证与数据保护:
1. 密钥生成:
◦ 私钥(d):保密,用于签名;
◦ 公钥(Q):公开,用于验证。
2. 签名过程:
◦ 对原始数据生成哈希值(如SHA-256);
◦ 用私钥对哈希值加密,生成数字签名(如RSA加密)。
3. 验证过程:
<