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