返回
繁体版
关灯
护眼
第63章 天才总是特殊的(感谢大佬石中隐鱼的打赏)
加入书架 返回目录 查看书架
荐加密轮数为 10轮,即前 9轮执行的操作相同,第 10轮执行的操作与前面不同。不同的密钥长度推荐的加密轮数是不一样的……

    “加密时明文按照 128位为单位进行分组,每组包含 16个字节,按照从上到下、从左到右的顺序排列成一个 4× 4的矩阵,称为明文矩阵。AES的加密过程在一个大小同样为 4× 4的矩阵中进行,称为状态矩阵,状态矩阵的初始值为明文矩阵的值。每一轮加密结束后,状态矩阵的值变化一次。轮函数执行结束后,状态矩阵的值即为密文的值,从状态矩阵得到密文矩阵,依次提取密文矩阵的值得到 128位的密文。

    “以 128位密钥为例,密钥长度为 16个字节,也用 4× 4的矩阵表示,顺序也是从上到下、从左到右。AES通过密钥编排函数把密钥矩阵扩展成一个包含 44个字的密钥序列,其中的前 4个字为原始密钥用于初始加密,后面的 40个字用于 10轮加密,每轮使用其中的 4个字。密钥递归产生规则如下:

    “如果 i不是 4的倍数,那么由等式 wi= wi-4⊕ wi-1确定;

    “如果 i是 4的倍数,那么由等式 wi= wi-4⊕ Twi-1确定;

    “加密的第 1轮到第 9轮的轮函数一样,包括 4个操作:字节代换、行位移、列混合和轮密钥加。最后一轮迭代不执行列混合。另外,在第一轮迭代之前,先将明文和原始密钥进行一次异或加密操作。

    “解密过程仍为 10轮,每一轮的操作是加密操作的逆操作。由于 AES的 4个轮操作都是可逆的,因此,解密操作的一轮就是顺序执行逆行移位、逆字节代换、轮密钥加和逆列混合。同加密操作类似,最后一轮不执行逆列混合,在第 1轮解密之前,要执行 1次密钥加操作。

    AES加密的轮函数操作包括字节代换 SubBytes、行位移 ShiftRows、列混合 MixColumns、轮密钥加 AddRoundKey等等,每一个的步骤都是紧密相连。”

    “……”

    “至于非对称加密算法RSA,则是1977年三位数学家 Rivest、Shamir和 Adleman设计了一种算法,可以实现非对称加密,使用非对称加密算法需要生成公钥和私钥,使用公钥加密,使用私钥解密。”

    “……”

    王东来说的滔滔不绝,简单清楚又明了,一看就知道是真的了解这些内容。

    韩华在心里其实也逐渐相信起这篇论文是王东来自己写出来的,不过还是挑了几个问题问了起来,“什么是互质关系?”

    这个问题很简单,只要看过书都能知道,但是根据课程,王东来还没有学过。

    “质数prime number又称素数,有无限个。一个大于 1的自然数,除了 1和它本身外,不能被其他自然数整除,换句话说就是该数除了 1和它本身以外不再有其他的因数;否则称为合数,如果两个正整数,除了 1以外,没有其他公因子,我们就称这两个数是互质关系。互质关系不要求两个数都是质数,合数也可以和一个质数构成互质关系。”

    王东来迅速地回答出来。

    韩华紧接着问道:“那你再说说欧拉函数。”

    “欧拉函数是指对正整数 n,欧拉函数是小于 n的正整数中与 n互质的数的数目,用φn表示。”

    “例如φ8= 4,因为 1 3 5 7均和 8互质。”

    “若 n是质数 p的 k次幂,除了 p的倍数外,其他数都跟 n互质,则数学公式为……”

    “若 m,n互质,则数学公式为……”

    “当 n为奇数时,则数学公式为……”

    “当 n为质数时,则数学公式为……”

    对答如流,完全不像是一个刚入学的大一新生,其流利程度在韩华看来,已经不弱于一些大三学生了。

    在办公室里面的三位学长,这个时候也停下了手上的动作,认真地听着王东来和鹅韩华的一问一答。

    “模反元素。”

    “如果两个正整数 a和 n互质,那么一定可以找到整数 b,使得 ab - 1被 n整除,或者说 ab被 n除的余数是 1。这时,b就叫做-->>

返回目录