对称加密算法与AES

根据加解密使用的密钥的相同与否,可以将现代加密算法分为两大类——对称加密算法与非对称加密算法。二者从安全性和效率方面各有利弊。

本文介绍了对称加密算法及AES算法的基本原理。

对称加密算法

对称加密最早出现于上世纪70年代以前,是现代密码学的基础。算法中收发双方使用相同的密钥进行加解密,故称之为“对称”。

对称加密算法模型

流密码与分组密码

根据每次加密明文内容的单位,可以将对称加密算法分为两大类:流密码与分组密码。流密码每次加密明文内容的一个字节或一位,常见算法例如RC4。分组密码则将一个明文分组加密为长度相等的密文分组,广泛使用的DES、3DES、AES算法都属于分组密码。

AES加密算法介绍及基本原理

AES (Advanced Encryption Standard),即高级加密标准,最早发布于2001年。“高级”是相对于1977年提出的DES数据加密标准而言的,该标准目前已不再安全,AES算法作为DES的替代品,放弃了过去的Feistel架构,采用多轮置换-代替网络。它对存储的要求很低,且加密速度较快,软硬件都可以简单实现,因此目前应用极为广泛。

AES加密过程是基于一个16字节的明文块,该块输入后转化为一个4×4的矩阵,此后的操作都在此矩阵上进行。密钥的长度可以为128位、192位或256位。不同长度的密钥决定不同的加密轮数。当然,长度越长的密钥强度越高。加密循环由4个阶段组成,包括三个代替方法和一个置换方法:字节代替、行移位、列混淆和轮密钥加。其中行移位是简单的置换,其余三个是代替方法。仅在轮密钥加中使用到密钥,该阶段中将分组内容与扩展密钥按位进行异或操作。整个加密过程以轮密钥加开始和结束,最后一轮操作只有三个阶段,故在不知道密钥的情况下无法求逆。过程示意图如图所示。

AES加密过程图示

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注