ECB 企鹅图

同样的 AES 加密,ECB 模式加密后企鹅轮廓清晰可见,CBC 模式则变成纯噪声。亲手加密一只企鹅,看工作模式如何决定安全性。

步骤 1 / 3

选择图片

从预设中选一张,或上传自己的图片。图片越有大片同色区域,ECB 效果越明显。

Tux 企鹅
Tux 企鹅
经典案例
纯色块
效果最强
棋盘格
重复模式
渐变图
平滑过渡
上传自己的图片
点击选择,支持 PNG / JPG / GIF

原理

三分钟搞懂为什么 ECB 会泄漏、CBC 为什么不会。

1

块加密

AES 一次处理固定长度的块——16 字节。无论密钥是 128 位还是 256 位,块大小不变。图片的像素数据被当成一连串字节,按 16 字节切块。

2

ECB:各管各

ECB 把每块独立加密,块之间零关联。相同的 16 字节明文 → 永远得到相同的 16 字节密文。图片有大片同色区域(企鹅白肚皮、纯色背景),这些区域产生大量相同的明文块,加密后依旧是大量相同的密文块——轮廓、边缘、纹理原样泄漏。

3

CBC:链式链接

CBC 在每块加密前,先与前一块密文做 XOR,再加密。第一块与随机 IV 做 XOR。相同的明文块 → 因前一块不同而产生不同的密文块。输出变成不可辨认的纯噪声,肉眼完全看不出原图。

4

正确姿势

别用 ECB。用 CBC(需自己处理认证)、CTR(流模式)、或 GCM(带认证,首选)。更重要的是:不要自己拼加密方案,用成熟库的安全默认模式。AES 算法本身是安全的,出问题的是你选的工作模式。