|
AES算法Rijndael
Rijndael 密码是一个迭代型分组密码, 其分组长度和密码长度都是可变的,分组长度和密码长度可以独立的指定为128 比特,192 比特或者256 比特。
AES 的加密算法的数据处理单位是字节,128 位的比特信息被分成16 个字节, 按顺序复制到一个4×4 的矩阵中, 称为状态(state),AES 的所有变换都是基于状态矩阵的变换。
用Nr 表示对一个数据分组加密的轮数( 加密轮数与密钥长度的关系) 。
在轮函数的每一轮迭代中, 包括4 步变换, 分别是字节代换运算(ByteSub())、行变换(ShiftRows())、列混合(MixColumns())以及轮密钥的添加变换(AddRoundKey()), 其作用就是通过重复简单的非线形变换、混合函数变换, 将字节代换运算产生的非线性扩散, 达到充分的混合, 在每轮迭代中引入不同的密钥, 从而实现加密的有效性。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?我要注册
x
|