🚀 知识图谱
密码学元认知
密码学
编码学
密码分析学
对称加密
非对称加密
哈希算法
暴力破解
旁路攻击
现代密码学三大要素
-
机密性 - 数据不可见性
-
完整性 - 数据不可篡改
-
不可否认性 - 行为可追溯
双雄争霸
加解密维度全面对比
特征项 | 对称加密 | 非对称加密 |
---|---|---|
密钥类型 | 单密钥 | 公私钥对 |
算法速度 | 300-600MB/s | 0.1-1MB/s |
密钥长度 | 128/256位 | 2048/4096位 |
典型算法 | AES、ChaCha20 | RSA、ECC |
应用场景 | 大量数据加密 | 密钥交换、数字签名 |
量子安全性 | 脆弱(Grover算法) | ECC脆弱(Shor算法) |
工作原理解密
对称加密工作原理
明文加密算法密文解密算法原始数据使用密钥处理输出加密结果传输过程使用相同密钥处理还原原始数据明文加密算法密文解密算法
非对称加密流程
公钥体系
加密数据
私钥解密
生成签名
公钥验证
密文
公钥
明文
私钥
数字签名
验证结果
算法风云榜
主流算法能力矩阵
算法 | 类型 | 密钥长度 | 吞吐量 | 安全性 | 应用领域 |
---|---|---|---|---|---|
AES-256 | 对称 | 256位 | 550MB/s | ☆☆☆☆ | 数据库加密 |
ChaCha20 | 对称 | 256位 | 620MB/s | ☆☆☆☆ | 移动端通信 |
RSA-4096 | 非对称 | 4096位 | 0.3MB/s | ☆☆☆ | SSL证书 |
ECC-256 | 非对称 | 256位 | 0.8MB/s | ☆☆☆☆ | 数字钱包 |
SM4 | 对称 | 128位 | 480MB/s | ☆☆☆☆ | 政务系统 |
典型应用场景
HTTPS握手过程中的混合应用
ClientServerClientHello(支持算法列表)ServerHello(选定算法)+证书(含公钥)Premaster Secret(R加密)切换对称加密通知对称加密通信开始ClientServer
密钥管理艺术
密钥生命周期管理
2023-01-012023-02-012023-03-012023-04-012023-05-012023-06-012023-07-012023-08-012023-09-012023-10-012023-11-012023-12-012024-01-01生成分发存储轮换销毁密钥阶段密钥生命周期
开发实战指南
Java实现AES-GCM加密
import javax.crypto.*; import java.security.*; import java.util.Base64; public class AESUtil { public static String encrypt(String plaintext, SecretKey key) throws Exception { Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] iv = cipher.getIV(); byte[] ciphertext = cipher.doFinal(plaintext.getBytes()); return Base64.getEncoder().encodeToString(iv) + ":" + Base64.getEncoder().encodeToString(ciphertext); } }
OpenSSL生成ECC密钥对
# 生成ECC私钥 openssl ecparam -genkey -name secp384r1 -out ecc-private.pem # 提取公钥 openssl ec -in ecc-private.pem -pubout -out ecc-public.pem
灵魂十问
高频问题解答
-
Q: 对称密钥如何安全传递? A: 使用非对称加密传输或Diffie-Hellman交换
-
Q: 为何HTTPS不全程使用非对称加密? A: 计算开销过大(性能相差1000倍+)
-
Q: RSA每次加密数据长度限制? A: 密钥长度决定,如2048位密钥最大加密245字节
-
Q: 如何选择AES模式? A: 推荐GCM(认证加密)或CBC+HMAC组合
-
Q: 量子计算机对现有加密体系影响? A: 对称加密需增加密钥长度,非对称需切NIST后量子算法