对称加密 VS 非对称加密

🚀 知识图谱


密码学元认知

 

密码学

编码学

密码分析学

对称加密

非对称加密

哈希算法

暴力破解

旁路攻击

现代密码学三大要素

  1. 机密性 - 数据不可见性

  2. 完整性 - 数据不可篡改

  3. 不可否认性 - 行为可追溯


双雄争霸

加解密维度全面对比

特征项对称加密非对称加密
密钥类型单密钥公私钥对
算法速度300-600MB/s0.1-1MB/s
密钥长度128/256位2048/4096位
典型算法AES、ChaCha20RSA、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

灵魂十问

高频问题解答

  1. Q: 对称密钥如何安全传递? A: 使用非对称加密传输或Diffie-Hellman交换

  2. Q: 为何HTTPS不全程使用非对称加密? A: 计算开销过大(性能相差1000倍+)

  3. Q: RSA每次加密数据长度限制? A: 密钥长度决定,如2048位密钥最大加密245字节

  4. Q: 如何选择AES模式? A: 推荐GCM(认证加密)或CBC+HMAC组合

  5. Q: 量子计算机对现有加密体系影响? A: 对称加密需增加密钥长度,非对称需切NIST后量子算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值