应用密码学-2016-(第9讲)的AES基础

•乘法:两元素多项式相乘,模 m(x) 例:57×83=C1 (x6+x4+x2+x+1)×(x7+x+1)=x7+x6+1 mod m(x) 在 AES 算法中,若两个多项式进行乘法运算,运算的方法 为两个多项式相乘。若运算的结果超过 8 次方,则必须对 此结果对一个多项式 m(x) 进行模运算。 AES 算法中定义 m(x) 多项式(不可约多项式)为: m(x)=x8+x4+x3+x+1 (十六进制的11B)
13
2.1 Rijndael 的数学基础
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,则为简单相乘:系数左移1位,右边补0。 若x7的系数=1,则取模m(x),减x8+x4+x3+x+1 。
•字x乘法:c(x)=xb(x) mod x4+1 •写成矩阵形式: c0 c1 c2 c3 = = = = 00 01 00 00 00 00 01 00 00 00 00 01 01 00 00 00 b0 b1 b2 b3
只有a1=“01”,其余全都是“00”
20
3
4
1. AES 候选算法产生过程
美国商用密码政策的变化 公开征集
DES
秘密设计
EES
公开征集
AES
成功
不成功
预计成功
AES 的设计要求 ①安全性:抵抗所有已知攻击; ②实用性:适应各种环境,速度快; ③扩展性:分组长度和密钥长度可扩展。
5
1. AES 候选算法产生过程
AES特点 • 加密、解密相似但不对称,使用不同的算法。 • 分组密码:支持 128/192/256(/32= Nb) 数据块大小,支持 128/192/256(/32= Nk) 密钥长度 • 面向二进制的密码算法:能够加解密任何形式的计算机数据。 • 有较好的数学理论作为基础 • 结构简单、速度快 AES的应用 ①许多国际组织采用为标准。 ②尚未大范围应用。 ③产品形式:软件(嵌入式,应用软 件)、硬件(芯片,插卡) 6
18
2.1 Rijndael 的数学基础
AES的字表示与运算
•字乘法:写成矩阵形式 c0 c1 c2 c3 = = = = a0 a1 a2 a3 a3 a0 a1 a2 a2 a3 a0 a1 a1 a2 a3 a0 b0 b1 b2 b3
19
2.1 Rijndael 的数学基础
AES的字表示与运算
15
2.1 Rijndael 的数学基础
例如:
பைடு நூலகம்
16
2.1 Rijndael 的数学基础
AES的字表示与运算
•AES数据处理的单位是字节和字 •一个字=4个字节 •一个字表示为系数取自GF(28)上的次数低于4次的多项式 例: 字:57 83 4A D1 57x3+83x2+4Ax+D1 •字加法:两多项式系数按位模2加 •字乘法:设a和c是两个字,a(x)和c(x)是其字多项式, AES定义a和c的乘积为 b(x)=a(x)c(x) mod x4+1
14
2.1 Rijndael的数学基础
例如,‘57’·‘13’可按如下方式实现: ‘57’·‘02’=xtime(57)=‘AE’; ‘57’·‘04’=xtime(AE)=‘47’; ‘57’·‘08’=xtime(47)=‘8E’; ‘57’·‘10’=xtime(8E)=‘07’; ‘57’·‘13’=‘57’·(‘01’ ‘02’ ‘10’) =‘57’ ‘AE’ ‘07’=‘FE’。
• 历史时间:
– 1997年美国政府向社会公开征集高级数据加密标准(AES); – 1998年8月20日从应征的21个算法中选出15个。 – 1999年8月又选中其中5个算法。 – 2000年10月2日再选出1个算法。 – 2001年11月26日接受其作为标准。 – 2001年12月4日正式公布:FIPS PUB197。
m(x)是Rijndael开发者从30个8次不可约多项式中选出的 一个,因为它是第一个不可约多项式
11
2.1 Rijndael 的数学基础
运 算 过 程
12
2.1 Rijndael 的数学基础
乘法单位元:字节01 多项式 1
乘法逆元:
如果多项式a(x)的次数小于m(x),并且 gcd[m(x),b(x)]= 1,则存在a(x)的乘法逆元为 b(x),使得a(x)b(x)=1 mod m(x) 。 根据推广的Euclid算法求出。
AES 参数之间的关系
轮数 Nr
Nb 4
Nb 6
Nb 8
Nk 4 Nk 6
10
12 14
12
12 14
14
14 14
Nk 8
7
2. Rijndael 的数学基础
1. 有限域 GF(28) 有限域中的元素可以用多种不同的方式表示。 二进制表示法(字节表示):
字节B=b7b6b5b4b3b2b1b0=01010111
分组密码 AES 算法
1
主要内容
• 1 AES 候选算法产生过程 • 2 Rijndael 的数学基础和设计思想 • 3 Rijndael 的算法说明
2
1. AES 候选算法产生过程
• 背景
• 三重 DES的缺点:软件实现速度慢,分组长度64bit,从安全性和效 率性出发需要的分组长度更长。 • 1997 年 4 月 15 日美国国家标准和技术研究所( NIST )发起征集 AES ( AES 前进的密码技术标准)算法的活动,并成立了 AES 工作 组。要求是:比三重 DES 快,至少与三重 DES 一样安全,数据分组 长度为 128 比特,密钥长度为 128/192/256 比特。
17
2.1 Rijndael 的数学基础
AES的字表示与运算
•字乘法:设a(x)=a3x3 + a2x2 + a1x + a0 b(x)=b3x3 + b2x2 + b1x + b0 c(x)=c3x3 + c2x2 + c1x + c0
c(x)=a(x)b(x) mod x4+1,则 c 0 = a 0 b0 + a 3 b1 + a 2 b2 + a 1 b3 c1 = a1 b0 + a0 b1 + a3 b2 + a2 b3 c2 = a2 b0 + a1 b1 + a0 b2 + a3 b3 c3 = a3 b0 + a2 b1 + a1 b2 + a0 b3
2、 AES的GF(28)表示
•加法:两元素多项式的系数按位模 2加(即异或) 例:57+83=D4 (x6+x4+x2+x+1)⊕(x7+x+1)= x7+x6+x4+x2
加法逆元:每个元素的加法逆元等于自己,所以减 法和加法相同
10
2.1 Rijndael 的数学基础
2、 AES的GF(28)表示
十六进制表示法:“57” 多项式表示法:
b7x7+ b6x6+b5x5+b4x4+b3x3+b2x2+b1x1+b0
“57”
x6+ x4+ x2+ x+1 。
8
2. Rijndael 的数学基础
AES 的理论基础定义在 GF(28) 其基本的运算有三种,分别: 加法 乘法 x 乘法
9
2.1 Rijndael 的数学基础
合集下载

密码学第6章 AES

密码学第6章 AES

有限域GF(28)
重复多次使用x乘,并根据分配律将中间 结果相加, 任 意 乘 法 都 可 以 用 xtime实 现 。 例 如 计 算 57 13=fe 57 01 01010111 00000001 01010111 57 57 02 01010111 00000010 xtime(57) 10101110 ae 57 04 01010111 00000100 xtime(ae) 01000111 47 57 08 01010111 00001000 xtime(47) 10001110 8e 57 10 01010111 00010000 xtime(8e) 00000111 07 57 20 01010111 00100000 xtime(07) 00001110 0e 57 40 01010111 01000000 xtime(0e) 00011100 1c 57 80 01010111 10000000 xtime(1c) 00111000 38
小于8的多项式表示;也可以用数字表示 加法:多项式对应项系数模2加 乘法:多项式乘法再模m(x)
系数在GF(28)中的多项式
字:系数在GF(28)中并且次数小于4的多项式
设ai,bi GF(28), 一个字可表示为 a(x)a3x3 a2x2 a1xa0 b(x)b3x3 b2x2 b1xb0
= (b3 x 4 b2 x 3 b1 x 2 b0 x ) m o d ( x 4 1) = b2 x 3 b1 x 2 b0 x b3 对 G F(28 )上 的 多 项 式 的 x乘 等 价 于 按 字 节 循 环 左 移 !
AES的输入输出和中间状态

AES算法详解

AES算法详解

AES算法详解AES算法简介 AES的全称是Advanced Encryption Standard,意思是⾼级加密标准。

AES密码分组⼤⼩和密钥⼤⼩可以为128位、192位和256位。

然⽽AES只要求分组⼤⼩为128位。

本⽂只对分组⼤⼩128位,密钥长度也为128位的Rijndael算法进⾏分析。

密钥长度为192位和256位的处理⽅式和128位的处理⽅式类似,只不过密钥长度每增加64位,算法的循环次数就增加2轮,128位循环10轮、192位循环12轮、256位循环14轮。

AES算法使⽤逻辑就是:发送⽅将要发送的明⽂数据X使⽤秘钥K进⾏AES加密后会得到密⽂Y,将密⽂进⾏⽹络传输,接受⽅在收到密⽂Y后使⽤秘钥K进⾏AES解密后技能得到明⽂X,这样即使密⽂Y在⽹络上传输时被截获了,没有秘钥也难以破解其真实意思。

AES算法相关数学知识 在AES算法中的MixColumn层中会⽤到伽罗⽡域中的乘法运算,⽽伽罗⽡域的运算涉及⼀些数学知识如下:素域: 有限域有时也称伽罗⽡域,它指的是由有限个元素组成的集合,在这个集合内可以执⾏加、减、乘和逆运算。

⽽在密码编码学中,我们只研究拥有有限个元素的域,也就是有限域。

域中包含元素的个数称为域的阶。

只有当m是⼀个素数幂时,即m=p n(其中n为正整数是p的次数,p为素数),阶为m的域才存在。

p称为这个有限域的特征。

也就是说,有限域中元素的个数可以是11(p=11是⼀个素数,n=1)、可以是81(p=3是⼀个素数,n=4)、也可以是256(p=2是⼀个素数,n=8).....但有限域的中不可能拥有12个元素,因为12=2·2·3,因此12也不是⼀个素数幂。

有限域中最直观的例⼦就是阶为素数的域,即n=1的域。

的元素可以⽤整数0、1、...、p-1l来表⽰。

域的两种操作就是模整数加法和整数乘法模p。

加上p是⼀个素数,整数环Z表⽰为GF(p),也成为拥有素数个元素的素数域或者伽罗⽡域。

AES算法的数学理论基础分析

AES算法的数学理论基础分析

AES算法的数学理论基础分析AES(高级加密标准)算法是一种对称加密算法,它是目前最广泛使用的加密算法之一、它基于复杂的数学运算和理论,确保了在合理的时间内无法破解加密的数据。

以下是对AES算法的数学理论基础进行的分析。

1. 替代(Substitution): AES算法的第一步是通过S盒进行字节替代。

S盒是一个固定的字节替换表,由非线性变换构成。

通过将输入字节映射到S盒中的对应字节,混淆了输入数据的字节分布。

这种替代运算是通过复杂的代数方程实现的,并经过深入的数学分析和推导,确保了S 盒的性质具有良好的扩散和混淆性。

2. 置换(Permutation): 在替代步骤之后,AES还进行了行和列的置换。

行置换通过以特定的位移移动每一行中的字节,对输入数据进行重新排列。

列置换则涉及将每一列的字节与固定矩阵进行线性变换。

这些行和列置换操作旨在增加密码算法的扩散性和复杂性,通过混淆和扩散确保了密钥和明文之间的高度关联性。

3. 扩展(Expansion): AES算法使用了密钥扩展机制,根据输入密钥生成多个轮密钥,用于每一轮的轮函数。

轮密钥的生成涉及线性变换和非线性变换,通过使用密钥扩展算法生成的轮密钥能够尽可能地隐藏原始密钥的信息,并为每一轮提供不同的子密钥。

4. 混合(MixColumns): AES算法的一部分是MixColumns操作,它是一个字节级别的线性变换。

通过与固定多项式的有限域乘法进行混合,MixColumns操作改变了每个列的字节,并增加了密码算法的复杂性和扩散效果。

5. 轮函数(Round Function): AES算法的核心是轮函数,它应用于每一轮的加密和解密过程中。

轮函数包含了替代、置换、混合和轮密钥添加的组合操作。

通过反复使用轮函数,AES算法对数据进行多次迭代,从而增加了加密的复杂性和安全性。

以上是对AES算法的数学理论基础进行的分析。

AES算法通过结合替代、置换、扩展、混合和轮函数等操作,确保加密数据的安全性和隐私性。

AES算法的数学理论基础分析

AES算法的数学理论基础分析

AES算法的数学理论基础分析AES (Advanced Encryption Standard)是一种对称加密算法,它基于数学理论和算法设计来保证数据安全性。

下面将详细分析AES算法的数学理论基础。

1. 替代置换:AES使用了替代置换(S-Box)和逆替代置换(S-Box)。

这是通过有限域上的矩阵运算实现的。

有限域是一个特殊的数学结构,它定义了一组有限元素的运算规则。

在AES中,有限域GF(2^8)被用于字节代换(S-Box)和逆字节代换(S-Box)。

这些置换操作是AES算法中不可或缺的数学基础。

2.混淆操作:AES使用了混淆操作来提高数据的扩散性。

混淆操作包括行移位操作和列混淆操作。

行移位操作将每个字节进行循环位移,列混淆操作使用矩阵乘法来对每一列进行混淆。

这些操作通过使数据在变换后更加随机地分布在整个加密数据块中,增强了AES算法的安全性。

3.密钥扩展:AES使用密钥扩展算法来生成轮密钥。

密钥扩展算法使用有限域上的矩阵运算和置换操作来根据初始密钥生成一系列轮密钥。

这些轮密钥用于对加密数据块进行轮数次的加密和解密操作。

密钥扩展算法的设计基于置换运算和有限域上的数学原理。

4. 线性和非线性运算:AES算法中的运算涉及到线性和非线性操作。

线性运算包括矩阵乘法和位运算等,这些运算是在有限域上定义的。

非线性运算包括字节代换(S-Box)和逆字节代换(S-Box),这些运算通过表格查找实现非线性变换。

通过结合线性和非线性运算,AES实现了强大的加密变换。

5.约束条件和安全性证明:AES算法的设计考虑了多个约束条件和安全性要求。

AES的安全性要求包括对不同类型的攻击(如差分攻击、线性攻击、相关攻击等)的抵抗能力。

AES算法的设计者通过数学证明和分析,证明了算法在满足这些要求时的安全性。

这些证明基于密码学的数学理论和概率论等相关领域的理论。

综上所述,AES算法的数学理论基础包括有限域理论、矩阵运算、置换操作、线性和非线性运算等。

第6章_A E S

第6章_A E S

AES参数
Key Length Block Size Number of (Nk words) (Nb words) Rounds (Nr)
AES-128
4
4
10
AES-192
6
4
12
AES-256
8
4
14
明文块
字节代换 行移变换 列变换
二、AES的流程图
密文块
子密钥(0)
子密钥(Nr)
第一轮
行移变换 字节代换
Nb=8 14 14 14
明文块
字节代换 行移变换 列变换
AES的流程图
密文块
子密钥(0)
子密钥(Nr)
第一轮
行移变换 字节代换
最后一轮
子密钥(1)
列变换
行移变换
字节代换
图 6.1 Rijndael 加密流程
子密钥(Nr-1) 第 Nr-1 轮
四、AES的基本变换
3、圈变换-加密轮函数
① 标准圈变换: Round(State,RoundKey) {
2、系数在GF(28)中的多项式
字:系数在GF(28)中并且次数小于4的多项式
➢ 例:57 83 4A D1←→ 57x3+83x2+4Ax+D1
三种基本运算:字加法、字乘法、字x乘法
➢ 字加法:对应项系数按位模2加 ➢ 字乘法:多项式乘积再模m(x)=x4+1
• AES选定一个固定的可逆多项式做乘法;
第10轮与上面各轮一样,只是不进行列混合操作
三、AES的数学基础
域的概念:一个field 是一个group并且满足下面的性质
(1)乘法封闭性:如果a,b属于G,则ab属于G. (2)乘法结合律:如果a,b,c 属于G,则有a(bc)=(ab)c恒成立。 (3)分配律:如果a,b,c 属于G,则有a(b+c)=ab+ac。 (4)乘法交换律:如果a,b属于G,则有ab=ba。 (5)没有0的除法:如果a,b属于G,并且ab=0,不能得出a=0 or b=0 (6)存在乘法单位元:aI=Ia=a. (7)存在乘法逆元:如果a属于G,且a不等于0,则有ba=ab=I.

密码学网络安全实验基本算法AES

密码学网络安全实验基本算法AES

淮海工学院计算机工程学院实验报告书课程名:《网络安全技术》题目:常见的密码算法(DES、AES、RSA、MD5)班级:学号姓名:【实验目的】●理解对称加密算法的原理和特点●了解非对称加密机制●理解DES、AES算法的加密原理●理解RSA算法的加密原理【实验人数】每组1人【系统环境】Windows【网络环境】交换网络结构【实验工具】VC++6.0密码工具【实验步骤】一、DES算法1.DES加密解密(1)本机进入“密码工具”|“加密解密”|“DES加密算法”|“加密/解密”页签,在明文输入区输入明文:hello,world(2)在密钥窗口输入8(64位)个字符的密钥k,密钥k= 19940725 。

单击“加密”按钮,将密文导出到DES文件夹(D:\Work\Encryption\DES\)中,通告同组主机获取密文,并将密钥k告诉同组主机。

(3)单击“导入”按钮,从同组主机的的DES共享文件夹中将密文导入,然后在密钥窗口输入被同组主机通告的密钥k,点击“解密”按钮进行DES解密。

(4)将破解后的明文与同组主机记录的明文比较。

2.DES算法本机进入“密码工具”|“加密解密”|“DES加密算法”|“演示”页签,向64位明文中输入8个字符(8*8bit=64),向64位密钥中输入8个字符(8*8bit=64)。

点击“加密”按钮。

完成加密操作,分别点击“初始置换”、“密钥生成演示”、“十六轮加密变换”和“终结置换”按钮,查看初始置换、密钥生成演示、十六轮加密变换和终结置换的详细加密操作流程。

二、AES1.AES加密解密(1)本机进入“密码工具”|“加密解密”|“AES加密算法”|“加密/解密”页签,在明文输入区输入明文:hello,world(2)在密钥窗口输入16(128位)个字符的密钥k,要记住这个密钥以用于解密,密钥k=lijinyi123456789。

单击“加密”按钮,将密文导出到AES文件夹(D:\Work\Encryption\AES\)中,通告同组主机获取密文,并将密钥k告诉同组主机。

简述aes基本原理

AES基本原理AES(Advanced Encryption Standard)是一种对称加密算法,用于保护敏感数据的机密性。

它是目前最常用的加密算法之一,被广泛应用于各种领域,包括网络通信、金融交易和数据存储等。

1. 对称加密算法简介对称加密算法是一种使用相同的密钥进行加密和解密的算法。

在加密过程中,明文通过一个数学函数(即加密算法)和一个秘钥进行变换,生成密文。

而在解密过程中,通过相同的数学函数和相同的秘钥对密文进行变换,得到原始明文。

对称加密算法具有高效性能和较低的计算成本,因此被广泛应用。

然而,由于加解密使用相同的秘钥,秘钥管理成为一个重要问题。

2. AES历史背景在1997年之前,美国政府一直采用DES(Data Encryption Standard)作为标准对称加密算法。

然而,在计算能力不断提升的情况下,DES逐渐暴露出安全性不足的问题。

为了替代DES,并提供更高级别的安全性能,美国国家标准技术研究所(NIST)在1997年发起了一个公开的竞赛,邀请全球加密专家参与设计新的加密算法。

由比利时密码学家Joan Daemen和Vincent Rijmen设计的Rijndael算法被选为AES。

2001年,AES正式成为美国政府采用的标准对称加密算法,并逐渐在全球范围内得到广泛应用。

3. AES基本原理AES是一种分组密码(block cipher),它将明文和密钥都划分为固定长度的块,并通过多轮迭代来实现加密和解密过程。

AES算法支持128位、192位和256位三种不同长度的秘钥。

3.1 初始轮AES算法开始时会对输入的明文进行一次初始处理。

将明文划分为若干个固定长度(128位)的块。

将每个块与一个固定长度(128位)的秘钥进行异或运算。

3.2 轮函数在每一轮中,AES算法使用一个称为”轮函数”(round function)的操作来处理上一轮输出或初始输入。

该操作包括四个步骤:字节代换、行移位、列混淆和轮秘钥加。

AES算法结构ppt


爱我上海电力学院
16
字节代替
爱我上海电力学院
17
S盒
爱我上海电力学院
18
2、行移位变换
• 4X4的state矩阵第一行保持不变,第二行循环左移一个字 节,第三行循环左移两个字节,第四行循环左移三个字节 。
S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3 S0,0 S0,1 S0 S0,3
01
23
45
67
89
ab
cd
ef
fe
dc
ba
98
76
54
32
10
字节
01
89
fe
76
字节
23
输入矩阵 (16字节)
ab dc
cd ba
54
32
45
67
ef
98
10
爱我上海电力学院
8
• 明文—16字节(128位)
输入state (16字节) 初始变换
密钥—M字节
第0轮的密钥 (16字节)
初始变换 后的state (16字节) 第一轮(4种变换)
j 1 2 02 3 04 4 08 5 10 6 20 7 40 8 9 10 36
RC[j] 01
80 1B
爱我上海电力学院
25
简化AES
• 简化AES(S-AES)是Santa Clara大学的Edward Schaefer教授以及他的几个学生开发出来的。 • 加密算法以16位分组的明文作为输入,使用16位 的密钥产生16位分组的密文。 • S-AES解密算法以16位分组的密文作为输入,使用 同样的16位密钥产生16位分组的原始明文。

AES的加密和解密PPT课件


E E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DF
F 8C A1 89 0D BF E6 42 68 41 99 2D 0F B0 54 BB 16
-
6
GF(28)上域元素的乘法逆元
求次数小于8的非零多项式b(x)的乘法 逆元,首先利用多项式的扩展欧几里得 算法得出两个多项式a(x)和c(x),使得 满足b(x)a(x)+p(x)c(x)=1, 即满足 a(x)·b(x) ≡1 mod p(x),因此a(x)是 b(x)的乘法逆元。
A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79
B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08
C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A
D 70 3E B5 66 48 03 F6 0E 61 35 57 B9 86 C1 1D 9E
=(x8+x4+x3+x+1)(x5+x4+x3+x2+1)+(x7+x6+ x5+x4+x2+1)(x6+x2+x)
-
9
(2)采用多项式的扩展欧几里得算法按照如下 步骤计算:
因为:
(x8+x4+ x3+x+1)=(x7+x6+x5+x4+x2+1)(x+1)+ x2
(x7+x6+x5+x4+x2+1)=x2(x5+x4+x3+x2+ 1)+1

密码学基础AES


AES
ShiftRows(State)
MixColumns(State)

AddRoundKey(State, RoundKey)
RoundKey
密 过

SubBytes(State)
ShiftRows(State)
AddRoundKey( State, RoundKey)
RoundKey
13
AES的加密变换
k20 k21 k22 k23
b20 b21 b22 b23
a30 a31 a32 a33
k30 k31 k32 k33
b30 b31 b32 b33
AddRoundKey(State, ExpandedKey)变换
24
如 果 ShiftRow(State) 变 换 输 出 的 某 一
列为11,09,01和35,那么利用矩阵相
乘,可得:
02 03 01 01 11
73
01 02 03 01 09
6b
01 01 01 03 01
ba
03 01 01 02 35
a7
25
AddRoundKey(State, RoundKey)与子密钥 与
2000年4月13日,第三次AES会议上,对这5个 候选算法的各种分析结果进行了讨论。
2000年10月2日,NIST宣布了获胜者—Rijndael 算 法 , 2001 年 11 月 出 版 了 最 终 标 准 FIPS PUB197。
3
高级加密标准AES
Rijndael算法是一个迭代型分组密码,其 分组长度和密钥长度都可变,各自可以 为128比特、192比特、256比特。
d 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档