一、引言:为什么我们需要AES加密?
AES加密算法自问世以来从未被破解过,其安全性赢得了全球广泛认可,被众多国家和组织采用。
AES 的历史地位:取代DES、3DES,成为全球标准
特点:安全、高效、支持多种密钥长度(128/192/256位)
二、AES加密算法基础:一步步拆解
分组加密:将数据切成128位一块块处理,这快不难理解,看图即可:
加密流程:(图片结合了各个步骤和数轮迭代的全过程,不好理解的同学可结合图片。本文所有图片皆为本人原创)
轮密钥加(AddRoundKey):将当前轮密钥与经过前面步骤处理后的数据进行异或运算,引入更多轮密钥的影响,从而提升算法的安全性。
字节替换(SubBytes):基于S盒的非线性置换,它用于将输入或中间态的每一个字节通过简单的查表操作,将其映射为另一个字节。映射方法为:输入字节的高4位作为S盒的行值,低四位作为列值,然后取出S盒中对应行和列的元素作为输出。
行移位(ShiftRows):行移位的变换作用在中间态的行上,第一行保持不变,第二行向左循环移位1个字节,第三行向左循环移位2个字节,第四行向左循环移位3个字节。
列混淆(MixColumns):将状态矩阵的每一列视为一个多项式,并将其与一个固定的多项式进行模乘法运算。
多轮迭代:为什么AES要重复10~14轮?
这其实是个很有意思的点,先做个伏笔,后面有时间专门写一篇文章介绍~(我应该不会鸽)
解密过程:加密的逆操作,顺序执行逆行移位、逆字节代换、轮密钥加和逆列混合。同加密操作类似,在第1轮解密之前,要执行1次密钥加操作,最后一轮不执行逆列混合操作。
三、AES的优势:为什么它如此受信赖?
安全性高:至今未被正式破解
灵活性强:支持不同密钥长度
应用广泛:从Wi-Fi到HTTPS,从文件加密到区块链
四、AES的困境:效率与性能的挑战
计算量大:多轮迭代导致速度慢
分组加密的局限:必须逐段处理,难以并行
硬件依赖:在传统电子计算机上存在进位延迟
资源消耗:尤其在高并发或大数据场景下表现不佳
五、性能瓶颈为何存在?
这就好比一个只有一个收银台的巨型超市,顾客(数据分组)排成长队,等待速度存在物理上限。
传统计算机的“先天不足”:为什么电子计算机快不起来???
在深入解决方案之前,我们首先要理解问题的根源:
串行处理的魔咒:传统CPU虽然主频很高,但其核心是逐条执行指令。AES要求对数据分组进行逐块加密,即使有多核处理器,在面对海量数据流时,依然难以避免“排队等待”的序列化过程。
进位延迟的拖累:电子计算机的加法运算会产生进位信号,这个信号必须从低位传递到高位,就像高速公路上的连环追尾,位数越多,等待时间越长。虽然我们有更先进的加法器设计,但此物理瓶颈无法根除。在AES大量的异或(可视为无进位加法)和域运算中,这种延迟被放大。
六、结语:AES的未来在哪里?
传统计算机上的优化空间有限
光学计算、量子计算等新架构或成突破口
加密算法的发展永远在“安全”与“效率”之间寻找平衡