哈希,对称加密,非对称加密

为了让你更清晰地掌握目前信息安全领域的核心技术,我将这些主流算法分为三大类进行详细解析:哈希算法(数据指纹)、对称加密(一把钥匙开一把锁)和非对称加密(公钥与私钥)。

以下是目前工业界最主流、最常用的算法及其具体细节:

📋 一、哈希算法(Hash Algorithms)

哈希算法用于生成数据的"指纹",特点是不可逆(无法从指纹还原数据)。

🔥 1. SHA-2 系列(目前的绝对主流)

  • 代表算法:SHA-256(最常用)、SHA-512。
  • 具体特性:
    • 输出长度:SHA-256 输出 256 位(32字节),通常表示为 64 位的 16 进制字符串。
    • 安全性:目前全球最广泛接受的标准,抗碰撞性极强,尚未发现有效的攻击方法。
    • 应用场景:SSL/TLS 证书、区块链(如比特币)、软件发布校验、数字签名。
  • 注意:SHA-1(160位)已被证实存在碰撞漏洞,已被淘汰,不应再用于安全场景。

🛡️ 2. 国密 SM3(中国标准)

  • 具体特性:
    • 输出长度:256 位,与 SHA-256 长度一致。
    • 安全性:由中国国家密码管理局发布,安全性设计上与 SHA-256 相当或略高,主要用于抵御针对 SHA 系列的特定攻击。
    • 应用场景:中国政府、金融、政务系统的数据完整性校验,配合 SM2/SM4 算法使用。

🗝️ 3. 专用密码哈希算法(用于存密码)

  • 代表算法:bcrypt、Argon2、scrypt、PBKDF2。
  • 具体特性:
    • 设计哲学:故意设计得很慢,消耗大量内存或 CPU。
    • 核心优势:防暴力破解。虽然 SHA-256 很快,但这些算法通过迭代计算(如 Argon2)让黑客无法使用显卡集群快速穷举。
    • 应用场景:存储用户登录密码(这是存储密码的最佳实践,而不是直接用 SHA-256)。

🔒 二、对称加密算法(Symmetric Encryption)

加密和解密使用同一个密钥。特点是速度快,适合加密大量数据。

🏆 1. AES(Advanced Encryption Standard)

  • 具体参数:支持 128位、192位、256位 三种密钥长度。分组长度固定为 128 位。
  • 工作模式:
    • CBC(常用,需初始化向量 IV)。
    • GCM(推荐,同时提供加密和认证,用于 TLS 1.3)。
  • 应用场景:Wi-Fi 加密(WPA2/WPA3)、数据库字段加密、文件加密(如 WinZip)、TLS 握手后的会话加密。

🇨🇳 2. 国密 SM4

  • 具体特性:
    • 分组长度和密钥长度均为 128 位。
    • 原名 SMS4,是中国国家标准的分组密码算法。
  • 应用场景:中国国内的无线局域网(WAPI)、金融 IC 卡、政务云数据加密。

📉 3. 3DES(Triple DES)

  • 具体特性:对数据执行三次 DES 加密操作。
  • 现状:正在被淘汰。速度慢(约为 AES 的 1/3),安全性不如 AES。目前仅在一些老旧的金融系统(如老式 POS 机)中为了兼容性而存在。

🔑 三、非对称加密算法(Asymmetric Encryption)

使用一对密钥(公钥和私钥)。公钥加密,私钥解密;或者私钥签名,公钥验证。特点是安全性高(解决密钥分发问题),但速度慢。

🗿 1. RSA(最经典、最普及)

  • 具体参数:密钥长度通常为 2048位 或 4096位。
  • 数学原理:基于"大整数分解难题"(将两个大质数的乘积还原成原来的质数非常困难)。
  • 应用场景:
    • 数字签名:软件发布签名、SSL 证书签名。
    • 密钥交换:在 TLS 握手初期,用 RSA 加密对称密钥(虽然现在更多用 ECDHE 做密钥交换)。

🚀 2. ECC(Elliptic Curve Cryptography)

  • 具体参数:常用曲线如 P-256(也叫 secp256r1),密钥长度仅 256 位。
  • 核心优势:短小精悍。256 位的 ECC 安全性相当于 3072 位的 RSA,但运算速度更快,占用带宽更少。
  • 应用场景:移动支付(Apple Pay)、区块链(比特币/以太坊使用的是 secp256k1 曲线)、物联网设备(资源受限)。

🇨🇳 3. 国密 SM2

  • 具体特性:基于椭圆曲线的公钥密码算法。
  • 对比:相比 RSA,SM2 的签名更短(比 RSA 短约 60%),运算速度更快。
  • 应用场景:中国电子政务、税务 UKey、银行数字证书。

📊 总结对比表

为了方便你记忆,我整理了一个核心算法速查表:

算法类型 国际主流算法 中国国密算法 核心用途

哈希 (Hash) SHA-256 SM3 数据完整性校验、数字签名摘要

对称加密 AES-128/256 SM4 文件加密、数据库加密、通信会话加密

非对称加密 RSA-2048 / ECC SM2 数字证书、身份认证、加密传输对称密钥

💡 给你的建议:

  • 如果你在开发面向全球的应用:优先使用 AES + RSA + SHA-256 组合。
  • 如果你在开发国内政务或金融应用:必须使用 SM2 + SM3 + SM4 组合。
  • 如果你需要存储用户密码:请使用 Argon2 或 bcrypt,不要直接用 SHA-256。
相关推荐
橘子真甜~12 小时前
C/C++ Linux网络编程11 - 数据加密与https协议
linux·服务器·网络·http·https·密码学·加密解密
岁岁的O泡奶2 天前
NSSCTF_crypto_[MTCTF 2021 final]ezRSA
经验分享·python·算法·密码学·crypto
傻小胖6 天前
第2讲:BTC-密码学原理 北大肖臻老师客堂笔记
笔记·web3·密码学
courniche9 天前
金融数据密码机、服务器密码机、签名验签服务器、时间戳服务器4款相比较
密码学
漏洞文库-Web安全9 天前
CTF密码学之SM4
安全·web安全·网络安全·密码学·ctf
HaiLang_IT9 天前
2026年密码学专业选题全攻略:从数字签名到漏洞挖掘的精选选题指南
密码学
搬砖魁首9 天前
密码学系列 - ECDSA vs. EdDSA:主要区别
密码学·签名·ecdsa·eddsa
C++ 老炮儿的技术栈9 天前
用密码学安全随机数生成256位密钥
c语言·开发语言·c++·windows·安全·密码学·visual studio
聊询QQ:6882388610 天前
顶刊复现基于球形向量改进的粒子群算法PSO的无人机3D路径规划,spherical vecto...
密码学