第63章 天才总是特殊的(感谢大佬石中隐鱼的(2/3)

相反,如果他对于自己提出来的问题,都无法回答,那就证明王东来的论文有问题,根本不是出自他手。

“导师,您请问。”

王东来并不觉得韩华这么做,是看不上自己,或者是对自己有意见。

设身处地想想,王东来完全能够理解韩华的行为。

一个刚上大学几天的新生,就说自己要发表论文,还拿出了专业性这么强的论文,不是什么学术垃圾,第一反应自然是不信。

“好,你在论文提到的对称加密算法aes和非对称加密算法rsa,你详细讲一讲,可以吗?”韩华虽然是数学系的教授,可是对于计算机也有不浅的了解,所以就问出了这个问题。

王东来没有丝毫的犹豫,张口便解释了起来。

“aes是    advanced    encryption    standard的缩写,是最常见的对称加密算法。aes在密码学中又称    rijndael加密法,是白头鹰联邦政府采用的一种区块加密标准。

“它的加密公式为    c=e(k,p),其中k为密钥,p为明文,c为密文。

“加密过程是首先对明文进行分组,每组的长度都是    128位,然后一组一组地加密,直到所有明文都已加密。密钥的长度可以是    128、192或    256位。

“在加密函数    e中,会执行一个轮函数,除最后一次执行不同外,前面几轮的执行是相同的。以    aes-128为例,推荐加密轮数为    10轮,即前    9轮执行的操作相同,第    10轮执行的操作与前面不同。不同的密钥长度推荐的加密轮数是不一样的……

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

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

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

“如果    i是    4的倍数,那么由等式    w[i]=    w[i-4]⊕    t(w[i-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以外,没有其他公因子,我们就称这两个数是互质关系。互质关系不要求两个数都是质数,合数也可以和一个质数构成互质关系。”

本章未完,点击下一页继续阅读。