密码学AES
发布于 6 天前 作者 stvenyin 62 次浏览 来自 分享

AES(Advanced encryption Standard)是取代前任标准(DES)而成为的新标准的一种对称密码算法。 2000年10月2日,Rijndael力压群雄,被NIST选定为AES标准。 比利时科学家Joan Daemen与 Vincent Rijmen所开发的密码算法,成为了美国的国家标准。正是有了NIST当初所设置的参选条件,我们现在才得以自由,免费地使用AES(Rijndael)

																			AES 最终候选算法名单
													名称								 提交者
													MARS							  IBM
													RC6									RSA
													Rijndael							Daemon Rijmen
													Serpent								Anderson Biham	Knudsen
													Twofish								Counterpane

AES的分组长度和密钥长度分别以32比特为单位在128比特到256比特范围内进行选择。 不过在AES的规格中, 分组长度固定为128比特,密钥长度只有128、192、和256比特三种。 AES算法友4轮组成 其中每一轮分为 SubBytes ShiftRows MixColumns AddRoundKey

输入组为128比特 SubBytes层为字节替换,需0-255的值为索引从256个值的替换表(S-Box)将一个1字节的输入数据替换成另一个1字节的值。 ShiftRows层主将4字节为单位的行按照一定的规则向左平移,且每一行平移的字节是不同的。 MixColumns层对一个4字节的值进行比特运算,将其变成另外一个4字节。(矩阵运算) AddRoundKey层输出与轮密钥进行XOR。

回到顶部