1、“.....在规范中被称为字节替换行位移变换列混合变换和。除了每次循环都被调用并使用密钥调度表的下面四行外,与预备处理步骤中的相同。例程是个代替操作,它将矩阵中的每个字节替换成个由决定的新字节。比如,如果,的值是如果你想找到它的代替者,你取,的值并让等于左边的数字并让等于右边的数字。然后你用和作为索引进到表中寻找代替值,如所示。是个置换操作,它将矩阵中的字节向左旋转。示范了如何操作。的第行被向左旋转个位置,的第行被向左旋转个位置,的第行被向左旋转个位置......”。
2、“.....对进行操作西安工业大学毕业设计论文是个代替操作,它是理解算法时最具技巧或者说是最需要动脑筋的部分的部分。它用字节列的值进行数学域加和域乘的结果代替每个字节。我将在下节中详细解释专门的域加和域乘细节。假设,的值是,并且列上的其它值分别为,和,那么,的新值计算如下,此处加法和乘法是专门的数学域操作,而不是平常整数的加法和乘法。和四个操作在个执行次的循环里被调用,为给定密钥大小的轮数减。加密算法使用的轮数要么是要么是,这依赖于种子密钥长度是位位还是位......”。
3、“.....因为等于,则这四个操作被调用次。该迭代完成后,在拷贝矩阵到输出参数前,加密算法调用和后结束。大致说来,加密算法的核心有四个操作。使用从种子密钥值中生成的轮密钥代替组字节。替换用个代替表替换单个字节。通过旋转字节行的组字节进行序列置换。用域加和域乘的组合来替换字节。有限域的加法和乘法正如你所看到的,加密算法使用相当简单明了的技术来代替和置换,除例程以外。使用特殊的加法和乘法。所用的加法和乘法是基于数学译者注近世代数的域论。尤其是基于有限域。由组从到的个值组成......”。
4、“.....代表伽罗瓦域,以发明这理论的数学家的名字命名。的个特性是个加法或乘法的操作的结果必须是在这组数中。虽然域论是相当深奥的,但加法的最终结果却很简单。加法就是异或西安工业大学毕业设计论文操作。然而,的乘法有点繁难。正如你稍后将在实现中所看到的,的加密和解密例程需要知道怎样只用七个常量和来相乘。所以我不全面介绍的乘法,而只是针对这七种特殊情况进行说明。在中用的乘法是特殊的它相当于普通算术中用做乘法并且结果也同样任何值乘等于其自身。现在让我们看看用做乘法。和加法的情况相同......”。
5、“.....但最终结果十分简单。只要被乘的值小于,这时乘法的结果就是该值左移比特位。如果被乘的值大于或等于,这时乘法的结果就是左移比特位再用值异或。它防止了域溢出并保持乘法的乘积在范围以内。旦你在中用建立了加法和乘法,你就可以用任何常量去定义乘法。用做乘法时,你可以将分解为的幂之和。为了用乘以任意字节,因为,因此这是可以行得通的,因为你知道如何用和相乘和相加,同哩,用去乘以任意字节可以这样做在加解密算法中,例程的其它乘法遵循大体相同的模式......”。
6、“.....在中,加法是异或操作。其乘法将分解成加法和用做的乘法,而用做的乘法是个有条件的左移比特位。规范中包括大量有关操作的附加信息。密钥扩展加密和解密算法使用了个由种子密钥字节数组生成的密钥调度表。规范中称之为密钥扩展例程。从本质上讲,从个原始密钥中生成多重密钥以代替使用单个密钥大大增加了比特位的扩散。虽然不是无法抵御的困难,但理解仍是算法中的个难点。例程高级伪代码如下所示,用前面两行来产生个新行的例程用到了两个子例程,和以及个名为的常数表作为轮常数。让我们先来逐个看下这三东西......”。
7、“.....例程很简单。它接受个个字节的数组并将它们向左旋转个位置。因为轮调度表有四列,将的行左旋。注意使用的这个函数与加密算法使用的行位移变换例程非常相似,只是它处理的是单行密钥调度,而不是整个加密状态表。例程使用替换表对给定的行密钥调度表进行逐西安工业大学毕业设计论文字节替换。操作中的替换实际上就像在加密算法中的替换样。被代替的输入字节被分成,对,它被当作进入替换表的索引。举例来说,的代替结果是和,并且,返回。例程使用个被称为轮常数表的数组......”。
8、“.....每个与密钥调度表的行相匹配。的例程需要个轮常数。你可以在中看到这些常数清单。每个轮常数的最左边的字节是域中的幂次方。它的另个表示方法是其每个值是前个值乘上,正如前部分讨论乘法时所描述的那样。注意是左移个比特位后紧接着与进行异或,如前所述。现在让我们更进步看看内幕中的循环。这里所用的伪码比以前更为详细,这个循环是先不要去看子句,你将看到密钥调度表的每行都是前面行与行异或的结果或取决于密钥的长度。条件的第部分用以及与轮常数的异或修改密钥调度表的每个第第或第行......”。
9、“.....这个条件的第二部分将修改行和等等对于位密钥而言每个第行都将添加密钥调度额外的可变性。让我们用本文开头所举的例子来考察是如何开始的。种子密钥是值西安工业大学毕业设计论文密钥调度字节表的维数是列并且等于,或行。将种子密钥的值拷贝到密钥调度字节表的第行。因为我的种子密钥是位字节,并且表总是列,在这种情况下将种子密钥拷贝到的前面行。现在让我们看看例程是如何填充密钥调度表其余部分的。在我的例子里,第个被计算的行是第行,因为第行已被种子密钥的值填上了条件为真......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。