如何进行AES RSA SHA1的加解密详细设计资料说明

资料大小: 3.08 MB

所需积分: 0

下载次数:

用户评论: 0条评论,查看

上传日期: 2020-01-17

上 传 者: 易水寒他上传的所有资料

资料介绍

标签:RSA(32)AES(47)矩阵(117)

  AES算法的主要数学基础是抽象代数,其中算法中的许多运算是按单字节(8bits)和4字节(32bits)定义的,单字节可看成有限域GF(2)中的一个元素,而4字节则可以看成系数在GF(2)中并且次数小于4的多项式(亦可以理解为:GF(256)),单字节上的运算有两种:有限域GF(2)上一个8次不可约多项式的模加、点乘(为方便代码实现,推出了X乘的概念),其中,这个不可约多项式为:m(x)=x+x+x3+x+1,类似地,4字节运算也分为两种:模加、乘法(为方便代码实现,推出了模乘的概念),而此时使用的模取M(x)=x+1,由于x*+1=(x2+1)(x2+1)=(x+1)(x+1)(x+1)(x+1),即非不可约,导致非0多项式乘法逆元(逆元求取主要用到了欧儿里德(Euclid)算法)不一定存在,所以在AES算法中,只限于乘一个固定的有逆元的多项式:a(x)={03}x2+{01}×2+{01}x+{02}。

  图中左边是加密流程,右边是解密流程,其中,Plaintext为明文,Ciphertext为密文,密钥长度可变,可指定为128、192、256比特,不同密钥长度决定了加解密算法的轮数(128位:10轮192位:12轮,256位:14轮),算法征集之初,6轮迭代便可抵抗当时世界上已知的所有攻击,AES标准中至少留了4轮余量,按照这种说法,可以推知轮数越多,AES破解难度越大,也就是密钥越长越安全,所以今年8月份有人说256bits密钥长度的AES算法被破解,而128bits未被破解是没有根据的。理解AES需要知道以下两个概念:

  状态:算法中间的结果也需要分组,称之为状态,状态可以用以字节为元素的矩阵阵列表示,该阵列有4行,列数Nb为分组长度除32;

  种子密钥:以字节为元素的矩阵阵列描述,阵列为4行,列数Nk为密钥长度除32,其中根据种子密钥,可以推导出各轮子密钥w[,],此过程亦称作密钥扩展,针对不同密钥长度的密钥扩展算法可以参照阅读AES算法标准发布文档。

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料

本月热点资料

电子资料热门词

最新资料

下载排行

本周

本月

总榜

行业聚焦