APP下载

高级加密标准算法R i j n d a e l的分析与应用*

2012-08-15张青凤张凤琴

网络安全与数据管理 2012年7期

张青凤 ,张凤琴 ,王 蓉

(1.运城学院,公共计算机教学部,山西 运城 044000;2.空军工程大学,计算机系,陕西 西安 710077)

1 Rijndael算法的背景

AES(Advanced Encryption Standard)是美国联邦标准局于1997年开始向全世界征集的加密标准[1],属于对称加密算法,代表了当今最先进的编码技术,最终获胜的是RijnDael算法。统计显示,即使使用目前世界上运算速度最快的计算机,穷尽128 bit密钥也需要几十亿年的时间,更不用说去破解采用256 bit密钥长度的AES算法了。

Rijndael算法由比利时计算机科学家Vincent Rijmen和 Joan Daemen 开发, 它使用 128 bit、192 bit、256 bit的密钥长度,比 56 bit的 DES更健壮可靠[3]。美国国家标准技术研究所选择Rijndael作为美国政府加密标准AES的加密算法,取代早期的数据加密标准DES[1]。Rijndael作为一种迭代分组加密算法,其数据块长度和密钥长度均是可变的,因此它汇聚了强安全性、高性能、高效率、易用、灵活等优点被广泛应用在各个领域中。

2 Rijndael算法的设计原理

Rijndael作为加密标准AES算法,其128 bit输入分组用以字节为单位的矩阵方阵描述[4]。该数组被复制到State数组。数据块长度、密钥长度可以被设定为128 bit、192 bit、256 bit三个可选长度,相应的加密轮数分别为10、12、14,每一轮循环都有一个循环密钥,它来自于初始密钥。

2.1 Rijndael算法的加密流程

加密过程分为四个阶段:密钥扩展、轮密钥加、Nr-1(128 bit、192 bit、256 bit密钥长度,Nr分别为 10、12、14)轮变换及最后一轮变换。轮变换包括字节代换、行移位、列混淆和轮密钥加四个过程,最后一轮变换包括字节代换、行移位和轮密钥加三个过程。其流程图如图1所示。

(1)状态:指明文分组及每次变换的中间结果[4],是一个4×Nb的矩阵,Nb为数据块长度除以32。……

登录APP查看全文