加密算法基础与分类

说实话,我刚接触加密时也犯过迷糊——对称、非对称、哈希,到底该用哪个?后面做频次分析才明白,不懂算法原理,你根本看不出流量里的异常。今天我把这些基础理清楚,顺便说说 C_Encrypt 里常用的那几把“刷子”。

对称加密:一把钥匙开一把锁

对称加密,说白了就是加密和解密用同一把钥匙。像你和搭档共用一把门钥匙,谁拿着都能开。速度快,适合大批量数据,但钥匙怎么安全传给对方?这是个问题。

常见的对称算法有 DES、3DES、AES。DES 因为密钥太短(56 位),现在基本被淘汰了。3DES 是 DES 的三重升级,但效率低。现在我推荐用 AES,密钥长度 128/192/256 位,安全性和速度都拿得出手。我在一次金融项目里就用 AES-256 加密交易日志,后期排查频次异常时,连解密都没拖慢查询。

关键点: 对称加密的速度是非对称的 100-1000 倍,但密钥分发是软肋。

非对称加密:公钥私钥各司其职

非对称加密就聪明多了。公钥可以公开,私钥自己藏着。别人用你的公钥加密数据,只有你的私钥能解开。这解决了密钥传输难题,但速度慢,所以通常只用来加密对称密钥或做数字签名。

RSA 是最经典的非对称算法,密钥长度建议 2048 位以上。ECC(椭圆曲线密码)用更短的密钥达到同等安全等级,比如 256 位 ECC 相当于 3072 位 RSA。C_Encrypt 在握手阶段经常需要识别这两类算法。

小技巧: 如果流量里看到大量 RSA 公钥交换但长度只有 512 位,八成是弱加密或中间人攻击。我曾经在一次渗透测试中当场抓住这种异常。

哈希函数:不可逆的“指纹”

哈希函数不是加密,而是摘要。你输入任意长数据,它给你固定长度的“指纹”。没法从指纹反推出原文。用途很明确:校验完整性、存储密码、做消息认证。

MD5 已经不安全了,碰撞攻击分分钟伪造。SHA-1 也被 Google 撞过。现在推荐 SHA-256 或 SHA-3。C_Encrypt 的频次分析里,哈希值经常作为会话标识或文件指纹。我遇到过有人把 MD5 当签名用,结果被篡改数据后哈希值对不上,最后发现是用了弱算法。

避坑指南: 我曾经因为项目赶进度,用 MD5 存储用户密码。结果上线第二天就被彩虹表秒破——还好是测试环境。自那之后,我才明白哈希也得选对强度。

C_Encrypt 涉及的核心算法一览

在 C_Encrypt 的频次异常分析中,我们会频繁遇到下面这些算法。记住它们的基本特征就够了。

算法类别 典型算法 密钥/输出长度 速度 用途(C_Encrypt 场景)
对称 AES-256 256 位密钥 快 加密数据传输,频次统计可直接解密看内容
对称 SM4 128 位密钥 快 国密环境,频次模式与 AES 类似
非对称 RSA-2048 2048 位公钥 慢 握手协商,频次异常往往出现在握手阶段
非对称 SM2 256 位公钥 较慢 国密签名与密钥交换
哈希 SHA-256 256 位摘要 中 数据完整性校验,频次变化可反映篡改
哈希 SM3 256 位摘要 中 国密哈希,在合规场景里替代 SHA-256
实战要点: C_Encrypt 的频次分析主要依赖对称加密的数据包大小分布、哈希值的突变频率。非对称只出现在连接建立阶段,频次极低——如果突然爆量,大概率是扫描或攻击。
加密算法分类与 C_Encrypt 核心算法 加密算法 对称加密 AES SM4 3DES 非对称加密 RSA ECC SM2 哈希函数 SHA-256 SM3 MD5 注:C_Encrypt 频次分析重点关注 AES、RSA、SHA-256 的流量模式 弱算法(MD5、3DES)出现高频时需警惕脏数据或攻击

嗯,这张图把分类和典型算法串起来了。你在 C_Encrypt 里查日志时,看到算法 ID 就能快速定位是哪种类型。我记得有一次一个客户说网络变慢了,我们一查,发现全是 3DES 握手——那玩意儿效率低,还容易出异常频次,直接换 AES 就解决了。所以打好基础,后面分析才能快准狠。