高级数据加密标准

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设a(x)的逆元为b(x),则 a(x)b(x)=1 mod m(x) 。 根据Euclid算法求出。
三、数学基础
2、 AES的GF(28)表示
• x乘法 xtime:用 x乘 GF(28)的元素 例: xtime(57)=x(x6+x4+x2+x+1)= x7+x5+x3+x2+x xtime(83)=x(x7+x+1)= x8+x7+x mod m(x)
=x7+x4+x3+1 若x7的系数=0,则为简单相乘:系数左移。 若x7的系数=1,则取模m(x),减x8+x4+x3+x+1 。
三、数学基础
3、 AES的字表示与运算
•ALeabharlann BaiduS数据处理的单位是字节和字
•一个字=4个字节
•一个字表示为系数取自GF(28)上的次数低于4次
的多项式
例:
字:57 83 4A D1
b(x)=a(x)c(x) mod x4+1,则 b0 = a0 c0 + a3 c1 + a2 c2 + a1 c3
b1 = a1 c0 + a0 c1 + a3 c2 + a2 c3 b2 = a2 c0 + a1 c1 + a0 c2 + a3 c3 b3 = a3 c0 + a2 c1 + a1 c2 + a0 c3
≥10
一、AES的概况
5、应用
①许多国际组织采用为标准。 ②尚未大范围应用。 ③产品形式:软件(嵌入式,应用软件)
硬件(芯片,插卡)
6、结论
• 只有通过实际应用的检验才能证明其安全。 • 我们相信:经过全世界广泛分析的AES是不负
众望的。
二、框图
密钥 轮密钥产生
Nr个轮密钥
128位明文 初始轮密钥加
S盒变换 行移位与列混淆
轮密钥加



Nr轮
迭代控制
128位密文
三、数学基础
1、AES的基础域是有限域 GF(28)
•一个GF(2)上的8次既约多项式可生成一个 GF(28) • GF(28)的全体元素构成加法交换群,线性空间。 •GF(28)的非零元素构成乘法循环群。 •GF(28)中的元素有多种表示:
密码学
高级数据加密标准
AES
一、AES的概况
3、AES的设计要求
①安全性:抵抗所有已知攻击; ②实用性:适应各种环境,速度快; ③扩展性:分组长度和密钥长度可扩展。
一、AES的概况
4、整体特点
①分组密码:分组长度和密钥长度可变,可独立 地为128/192/256等,现在一般取 128 。 ②面向二进制的密码算法:能够加解密任何形式 的计算机数据。 ③不是对合运算:加、解密使用不同的算法。 ④综合运用置换、代换、代数等多种密码技术 ⑤整体结构:基本轮函数加迭代。轮数可变,
三、数学基础
3、 AES的字表示与运算
•字x乘法:p(x)=xb(x) mod x4+1 •写成矩阵形式:
p0 = 00 00 00 01 b0 p1 = 01 00 00 00 b1 p2 = 00 01 00 00 b2 p3 = 00 00 01 00 b3
注意:因为模x4+1,字x乘法相当于字节循环移位;
四、AES的基本变换
1、AES的数据处理方式
①字节 ②字 ③状态
2、状态
①加解密过程中的中间数据。 ②以字节为元素的矩阵,或二维数组。
四、AES的基本变换
2、状态
③符号:Nb-明密文所含的数据的字数。 Nk-密钥所含的数据的字数。 Nr-迭代轮数。
④ 例:Nb=4时的状态 Nk=4时的密钥数组
a0,0 a0,1 a0,2 a0,3 a1,0 a1,1 a1,2 a1,3 a2,0 a2,1 a2,2 a2,3 a3,0 a3,1 a3,2 a3,3
三、数学基础
3、 AES的字表示与运算
•字乘法:写成矩阵形式
b0 = c0 c3 c2 c1 a0 b1 = c1 c0 c3 c2 a1 b2 = c2 c1 c0 c3 a2 b3 = c3 c2 c1 c0 a3
注意:1.x4+1是可约多项式,字c(x)不一定有逆; 2.但在AES中选择c(x)固定,且有逆。
四、AES的基本变换
3、轮变换-加密轮函数
①标准轮变换:
Round(State,RoundKey)
m(x)=x8+x4+x3+x+1
•AES采用GF(28)的多项式元素表示。
字节B=b7b6b5b4b3b2b1b0可表示成GF(2)上的多项 式:
b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x1+b0
例:字节57=01010111的多项式表示:
01010111
x6+x4+x2+x+1
三、数学基础
2、 AES的GF(28)表示
•加法:两元素多项式的系数按位模 2加
例2:57+83=D4 (x6+x4+x2+x+1)⊕(x7+x+1)= x7+x6+x4+x2
•乘法:两元素多项式相乘,模 m(x)
例3:57×83=C1
(x6+x4+x2+x+1)×(x7+x+1)=x7+x6+1 mod m(x) 乘法单位元:字节01 多项式 1 •乘法逆元:
57x3+83x2+4Ax+D1
•字加法:两多项式系数按位模2加
•字乘法:设a和c是两个字,a(x)和c(x)是其字
多项式,AES定义a和c的乘积为
b(x)=a(x)c(x) mod x4+1
三、数学基础
3、 AES的字表示与运算
•字乘法:设a(x)=a3x3 + a2x2 + a1x + a0
c(x)=c3x3 + c2x2 + c1x + c0 b(x)=b3x3 + b2x2 + b1x + b0
k0,0 k0,1 k0,2 k0,3 k1,0 k1,1 k1,2 k1,3 k2,0 k2,1 k2,2 k2,3 k3,0 k3,1 k3,2 k3,3
四、AES的基本变换
2、状态
⑤Nb、Nk、Nr之间的关系: Nr Nb=4 Nb=6 Nb=8 Nk=4 10 12 14 Nk=6 12 12 14 Nk=8 14 14 14
字节: GF(28)={a7,a6,…a1,a0} 多项式形式: GF(28)={a7x7+a6x6+…+a1x+a0} 指数形式:GF(28)*={0, 1… 254} 对数形式:GF(28)*={0, 1… 254}
• GF(28)的特征为 2 。
三、数学基础
2、 AES的GF(28)表示
•AES采用的既约模多项式:
相关文档
最新文档