《信息安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》_第1页
《信息安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》_第2页
《信息安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》_第3页
《信息安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》_第4页
《信息安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS35.030

CCSL80

中华人民共和国国家标准

GB/T18238.2—202X

代替GB/T18238.2—2002

信息安全技术杂凑函数

第2部分:采用分组密码的杂凑函数

Informationsecuritytechnology—Hash-functions—

Part2:Hash-functionsusingablockcipher

(ISO/IEC10118-2:2010,Informationtechnology—Security

techniques—Hash-functions—Part2:Hash-functionsusingann-bitblock

cipher,MOD)

(征求意见稿)

2023年6月16日

在提交反馈意见时,请将您知道的相关专利连同支持性文件一并附上。

XXXX-XX-XX发布XXXX-XX-XX实施

GB/T18238.2—202X

前  言

本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起

草。

本文件是GB/T18238《信息安全技术杂凑函数》的第2部分。GB/T18238已经发布了以下部分:

——第1部分:总则;

——第2部分:采用分组密码的杂凑函数;

——第3部分:专门设计的杂凑函数。

本文件代替GB/T18238.2—2002《信息技术安全技术散列函数第2部分:采用位块密码的散列

函数》,与GB/T18238.2—2002相比,除结构调整和编辑性改动外,主要技术变化如下:

a)更改了规范性引用文件,增加GB/T18238.1、GB/T25069—2022,删除GB/T1988—1998、GB/T

17964—2000、ISO/IEC10118-1:2000(见第2章,2002年版的第2章);

b)增加了“分组”等常见术语(见第3章);

c)更改了符号和缩略语,将更改为,增加了、、、、、、、、、、、、

、、,删除了�(见第4章,2002年版的第4章);

���������𝐼�1�2������∥�

d)增加了杂凑函数的概述(�见−�6.1);

�⊕�≔��

e)删除了散列函数2并将散列函数3调整为杂凑函数2,散列函数4调整为杂凑函数3(见第7章、第

8章,2002年版的第7章、第8章、第9章);

f)删除了附录C(见2002年版的附录C);

g)增加了参考文献(见参考文献)。

本文件修改采用ISO/IEC10118-2:2010《信息技术安全技术杂凑函数第2部分:采用位块密码

的杂凑函数》。

本文件与ISO/IEC10118-2:2010相比做了下述结构调整:

——第7章对应ISO/IEC10118-2:2010的第8章;

——第8章对应ISO/IEC10118-2:2010的第9章;

——删除了ISO/IEC10118-2:2010的第7章。

本文件与ISO/IEC10118-2:2010技术差异及原因如下:

——增加了规范性引用文件GB/T25069—2022(见第2章);

——增加了、、、、、、、、、、、、、、(见第章),完

善了符号定义;

������𝐼�1�2������∥��⊕�≔�4

——更改了6.1概述,将“本章规定的杂凑函数提供长度为和的杂凑值,其中和均等于”

修改为“本章规定的杂凑函数提供长度为的杂凑值”,以简化描述(见6.1,ISO/IEC

�1�2�1�2�

10118-2:2010的6.1);

��

——因杂凑函数2的安全性被攻破,删除了杂凑函数2(见ISO/IEC10118-2:2010的第7章);调整

第8章杂凑函数3为第7章杂凑函数2,调整第9章杂凑函数4为第8章杂凑函数3,并优化了描述逻

辑(见第7章、第8章,ISO/IEC10118-2:2010的第8章、第9章);

——增加了关于杂凑函数安全性提示的注释(见7.1、8.1);

——更改了ISO/IEC第9章轮函数中笔误,将“与该杂凑函数相关的的具体定义见8.1”更改为“与

该杂凑函数相关的的具体定义见7.5”(见第9章,ISO/IEC10118-2:2010的第9章);

�I

GB/T18238.2—202X

——更改了资料性附录A,使用SM4分组密码算法替换了AES分组密码算法,将表A.1中“子函数”

更改为“密钥的前位”,将表A.2中“子函数”更改为“密钥的前位”;

——更改了资料性附录B,使用SM4分组密码算法给出了三种杂凑函数的示例。

3�4

本文件做了下列编辑性改动:

——为与我国技术标准体系协调,将标准名称改为《信息安全技术杂凑函数第2部分:采用分组

密码的杂凑函数》;

——更改了参考文献。

本文件由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。

本文件起草单位:中电科网络安全科技股份有限公司、国家密码管理局商用密码检测中心、中国电

子技术标准化研究院、中国科学院软件研究所、山东大学、西安西电捷通无线网络通信股份有限公司、

中国科学院信息工程研究所、中国科学院大学、山东得安信息技术有限公司、华为技术有限公司、格尔

软件股份有限公司、智巡密码(上海)检测技术有限公司、北京江南天安科技有限公司、北京信安世纪

科技股份有限公司、北京海泰方圆科技股份有限公司。

本文件主要起草人:

本文件及其所代替文件的历次版本发布情况为:

——2002年首次发布为GB/T18238.2—2002;

——本次为第一次修订。

II

GB/T18238.2—202X

引  言

杂凑函数是保护数据完整性的主要密码算法之一。采用分组密码的杂凑函数是指:在设计过程中,

以分组密码算法(如SM4等)为主要部件,通过一定的迭代机制形成的杂凑函数。

GB/T18238分为以下部分:

——第1部分:总则

该部分规定了杂凑函数的要求和通用模型,指导GB/T18238的其它部分;

——第2部分:采用分组密码的杂凑函数

该部分规定了采用分组密码的杂凑函数;

——第3部分:专门设计的杂凑函数

该部分规定了专门设计的杂凑函数。

III

GB/T18238.2—202X

信息安全技术杂凑函数

第2部分:采用分组密码的杂凑函数

1范围

本文件规定了三种采用(比特)分组密码的杂凑函数。第一种杂凑函数提供长度不大于比特的

杂凑值,第二种杂凑函数提供比特的杂凑值,第三种杂凑函数提供比特的杂凑值。本文件规定的

��

三种杂凑函数都符合GB/T18238.1—202X中规定的通用模型。

2�3�

2规范性引用文件

下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,

仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本

文件。

GB/T18238.1—202X信息安全技术杂凑函数第1部分:总则(ISO/IEC10118-1:2016,ISO/IEC

10118-1:2016/Amd.1:2021,MOD)

GB/T25069—2022信息安全技术术语

3术语与定义

GB/T25069—2022界定的以及下列术语和定义适用于本文件。

3.1

分组block

作为一个单位记录或传输的元素序列。

注:这里的元素可以是字符、字或记录。

[来源:GB/T25069—2022,3.354]

3.2

分组密码blockcipher

加密算法在明文分组(即界定了长度的位串)上运算,以此产生密文分组的对称加密系统。

[来源:GB/T25069—2022,3.161]

3.3

轮函数roundfunction

将两个特定长度的比特串映射为一个定长比特串的函数。

注:轮函数迭代使用。

1

GB/T18238.2—202X

4符号

下列符号适用于本文件。

:位比特串的最左边的位比特串,当为偶数时;或的最左边位比特串,当

�为奇数时。

����/2���+1/2�

:位比特串的最右边的位比特串,当为偶数时;或的最右边位比特串,当

�为奇数时。

����/2���−1/2�

:当是由多个比特字构成的序列时,表示的第个比特字。特别地,当时,

是的第个字节。

�������≥0����=8

:数据。

����

:数据经填充后的第个比特分组。

:比特分组密码算法。

�����

:以明文和密钥作为输入的比特分组密码算法的加密运算。

��

:杂凑值。

��(�)����

:用于存储杂凑运算中间结果的比特串,其长度为。

:初始化值。

���2

:比特分组密码算法的密钥。

𝐼

:比特串的比特长度。

���

:输入到轮函数的两个比特串中,第一个比特串的比特长度。

���

:输入到轮函数的两个比特串中,第二个比特串的比特长度,也是轮函数输出值的比特长

�1

度,以及初始值IV的比特长度。

�2

:比特分组密码算法的分组长度。

:经过填充和分割操作后,输入数据比特串D的分组个数。

���

:输出变换,比如截短。

或:一种变换,把一个比特分组转换为分组密码算法的密钥。

':按顺序将比特串X和Y连接所构成的比特串。

����

:比特串和比特串的异或(其中)。

�∥�

:赋值符号,表示符号左边的值应与符号右边表达的值相等。

�⊕�����=��

:轮函数。

5要求

本文件第6章、第7章及第8章中规定的杂凑函数提供长度为的杂凑值,并且符合GB/T18238.1

—202X中规定的通用模型。因此,对于第6章、第7章及第8章中规定的三个杂凑函数,只需规定:

���

——参数,,;

——填充方法;

�1�2��

——初始化值;

——轮函数;

𝐼

——输出变换。

6杂凑函数1

2

GB/T18238.2—202X

6.1概述

本章规定的杂凑函数提供长度为的杂凑值,其中,推荐不小于。

注:参考文献[3]的9.4.1介绍了杂凑函数1。

����≤��128

6.2参数选择

杂凑函数1的参数、和应满足,并且,推荐不小于。

6.3填充方法�1�2���1=�2=���≤��128

作为最低要求,杂凑函数1的填充方法应输出个分组,其中每个分组的长度为

比特,并且不同的输入应产生不同的输出。具体填充方法采用GB/T18238.1—202X附录A.2中描述的方

�≥1�1,�2,⋯,�����

法1。即,在数据串右侧填充一个比特“1”,然后在所得到的比特串右侧填充“0”,尽可能少填充(甚

至不填充),以达到所要求的长度。

6.4初始化值

杂凑函数1的的定义超出了本文件的范围。应是一个长度为比特的比特串,并且的值应由

杂凑函数的用户协商确定。

𝐼𝐼�𝐼

6.5轮函数

轮函数用于产生,其输入包括填充后的数据分组(长度为比特)与轮函数前一步的输出

(长度为比特),输出为(长度为比特)。

������1=�

作为轮函数的一部分,变换将比特分组变换成分组密码算法的密钥。变换的定义超出了本文

��−1�2=����2=�

件的范围,资料性附录A给出了示例。

����

轮函数定义如下,如图1所示。

�其中��,,��−1=����,�⊕��,。

��=���−11≤�≤��0=𝐼

图1杂凑函数1的轮函数

6.6输出变换

输出变换是简单的截短操作,即通过截取最终输出的左边比特得到杂凑值。

������

7杂凑函数2

3

GB/T18238.2—202X

7.1概述

本章规定的杂凑函数提供长度为的杂凑值,其中,为偶数。

注1:参考文献[4]介绍了杂凑函数2。

����=2��

注2:参考文献[6],[7],[8],[9]给出了针对杂凑函数2的轮函数的密码攻击。当时,找到杂凑函数2的轮

函数的碰撞的复杂度为,找到原像的复杂度为。

�=128

76.8170.7

7.2参数选择22

杂凑函数2的参数、和应满足,,且,推荐不小于。

7.3填充方法�1�2���1=4��2=8���=2��128

具体填充方法应采用GB/T18238.1—202X附录A.3规定的方法2,且。

7.4初始化值�=�

杂凑函数2的的定义超出了本文件的范围。应是一个长度为比特的比特串,并且的值应由

杂凑函数的用户协商确定。

𝐼𝐼8�𝐼

7.5轮函数

轮函数具有个并行的加密过程,用于产生个比特串。

在每次迭代中,轮函数的输入包括个比特数据分组(总长度为比特)与

�88���,1,��,2,⋯,��,8

轮函数前一步的输出(总长度为比特),输出为(总长度为

�4���,1,��,2,��,3,��,4�1=4�

比特)。

��−1,1,��−1,2,⋯,��−1,8�2=8���,1,��,2,⋯,��,8

令满足。

�2=8�

对到,轮函数具有下列形式(如图2所示):

�0,1,�0,2,⋯,�0,8�0,1∥�0,2∥⋯∥�0,8=𝐼

{;

�=1�

对到,执行:。}

��,1,��,2,⋯,��,8,��,1,��,2,⋯,��,8≔�1��−1,1,��−1,2,⋯,��−1,8,��,1,��,2,��,3,��,4

轮函数基于线性映射和个函数,其中分别使用了线性映射和变换,定义如下。

�=18��,�≔����,�,��,�

a)线性映射

�18����

线性映射将一个比特串映射到一个比特串,具

体方式如下:

�2��=�0∥�1∥�2∥�32��=�0∥�1∥�2∥�3

�0≔�0⊕�3

�1≔�0⊕�1⊕�3

�2≔�1⊕�2

其中,和()均为长的比特串。

�3≔�2⊕�3

b)线性映射

�����,�=0,1,2,3�/2

的输入是个比特串,映射需要个比特辅助串。输出

�1

包括8个比特串和个比特串。

�112��1,�2,⋯,�12�182��0,�1,�0,�1,⋯,�5

映射的运算过程如下(如图3所示):

��1,�2,⋯,�88��1,�2,⋯,�8

1)....对到,执行:{

�1

�=05

�;

��≔�2�+1

�}。

��≔�2�+2

��

��≔��∥��4

GB/T18238.2—202X

2)....令;;

对到,执行:{

�0≔0�1≔0

�=05

�≔�1⊕��

}。

�1≔�0⊕�(�)

3)....对到,执行:。

�0≔�

令;;;;

�=18��≔��

对到�,执行:��。�

�1≔�0�2≔�0�3≔�1�4≔�1

c)变换

�=14�4+�≔�8+�

定义8个变换,它们的输入为长度为的比特串,输出作为分组密码的密钥。要求

对于集合中任意两个不同的,以及所有,变换满足。

�1,�2,⋯,�8��

上述条件可通过固定密钥的特定比特而满足。例如,可以将密钥中3个比特的值分别固定为

{1,2,⋯,8}�,���1,�2,⋯,�8��(�)≠��(�)

。为避免弱密钥或者分组密码互补性等问题,可以对变换增加附加条件。

d)函数

000,001,⋯,111��

8个函数定义如下:

��

��。

����,�,��,�=�����,���,�⊕��,�,1≤�≤8

图2杂凑函数2的轮函数

5

GB/T18238.2—202X

图3杂凑函数2的线性映射

7.6输出变换�1

处理完所填充的消息后,得到。然后执行4次附加的轮函数迭代,每次输入的4个

比特数据分组分别定义如下:

��,1,��,2,⋯,��,8�

第1次,;

第2次,;

��+1,�=��,�,1≤�≤4

第3次,;

��+2,�=��,�+4,1≤�≤4

第4次,。

��+3,�=��,�,1≤�≤4

杂凑函数的输出由构成。输出变换需进行26次加密(最后一次迭代仅需两次加密)。

��+4,�=��,�+4,1≤�≤4

���+4,1∥��+4,2

8杂凑函数3

6

GB/T18238.2—202X

8.1概述

本章规定的杂凑函数提供长度为的杂凑值,其中,为偶数。

注1:参考文献[5]介绍了杂凑函数3。

����=3��

注2:参考文献[6],[7],[8],[9]给出了针对杂凑函数3的轮函数的密码攻击。当,找到杂凑函数3的轮函

数的碰撞复杂度为,找到原像复杂度为。

�=128

85.3192

8.2参数选择22

杂凑函数3的参数、和应满足,,且,推荐不小于。

8.3填充方法�1�2���1=3��2=9���=3��128

具体填充方法应采用GB/T18238.1—202X附录A.3规定的方法2,且。

8.4初始化值�=�

杂凑函数3的的定义超出了本文件的范围。应是一个长度为比特的比特串,并且的值应由

杂凑函数的用户协商确定。

𝐼𝐼9�𝐼

8.5轮函数

轮函数具有个并行的加密过程,用于产生个比特串。

在每次迭代中,轮函数的输入包括个比特数据分组(总长度为比特)与轮函

�99���,1,��,2,⋯,��,9

数前一步的输出(总长度为比特),输出为(总长度为

�3���,1,��,2,��,3�1=3�

比特)。

��−1,1,��−1,2,⋯,��−1,9�2=9���,1,��,2,⋯,��,9�2=

令满足。

9�

对到,轮函数具有下列形式(如图4所示):

�0,1,�0,2,⋯,�0,9�0,1∥�0,2∥⋯∥�0,9=𝐼

{;

�=1�

对到,执行:。}

��,1,��,2,⋯,��,9,��,1,��,2,⋯,��,9≔�2��−1,1,��−1,2,⋯,��−1,9,��,1,��,2,��,3

轮函数基于线性映射和个函数,其中分别使用了线性映射和变换,定义如下。

�=19��,�≔����,�,��,�

a)线性映射

�29����

与该杂凑函数相关的的具体定义见7.5。

b)线性映射

的输入是个比特串,映射需要个比特辅助串。

�2

输出包括个比特串与个比特串。

�212��1,�2,⋯,�12�292��0,�1,�2,�0,�1,⋯,�5

映射运算过程如下(如图5所示):

9��1,�2,⋯,�99��1,�2,⋯,�9

1)对到,执行:{

�2

�=05

�;

��≔�2�+1

�}。

��≔�2�+2

2)令;��;;

��≔��∥��

对到,执行:{

�0≔0�1≔0�2≔0

�=05

�≔�2⊕��

�≔��

�2≔�1⊕�

7

GB/T18238.2—202X

}。

�1≔�0⊕�

3)对到,执行:。

�0≔�

令;;;;;;

�=19��≔��

对到�,执行:��。���

�1≔�0�2≔�0�3≔�1�4≔�1�5≔�2�6≔�2

c)变换

�=13�6+�≔�9+�

定义个变换,它们的输入为长度为的比特串,输出作为分组密码的密钥。要求

对于集合中任意两个不同的,以及所有,变换满足。

9�1,�2,⋯,�9��

上述条件可通过固定密钥的特定比特而满足。例如,可以将密钥中个比特的值分别固定为

{1,2,⋯,9}�,���1,�2,⋯,�9���≠��(�)

。为避免弱密钥或分组密码互补特性等问题,可以对变换增加附加条件。

4

d)函数

0000,0001,⋯,1000��

9个函数定义如下:

��

��。

����,�,��,�=�����,�(��,�)⊕��,�,1≤�≤9

图4杂凑函数3的轮函数

8

GB/T18238.2—202X

图5杂凑函数3的线性映射

8.6输出变换�2

处理完所填充的消息后,得到。然后执行4次附加的轮函数迭代,每次输入的3个

比特数据分组分别定义如下:

��,1,��,2,⋯,��,9�

第1次,;

第2次,;

��+1,�=��,�,1≤�≤3

第3次,;

��+2,�=��,�+3,1≤�≤3

第4次,。

��+3,�=��,�+6,1≤�≤3

杂凑函数的输出由构成。输出变换需进行30次加密(最后一次迭代仅需要3

��+4,�=��,�,1≤�≤3

次加密)。

��+4,1∥��+4,2∥��+4,3

9

GB/T18238.2—202X

附录A

(资料性附录)

初始化值和变换的定义

A.1概述

本附录提供了一种将SM4分组密码算法(见GB/T32907—2016)与本文件中规定的杂凑函数联合使

用的参数实例。SM4分组密码算法的参数,密钥的长度为128比特。

�=128�

A.2杂凑函数1

等于“52525252525252525252525252525252”(十六进制表示)。

变换的定义方式如下:定义为一个128比特串的二进制分解形式,则。

𝐼

注:通常认为寻找轮函数和杂凑函数的碰撞需要执行次SM4加密操作。

12128

��=��⋯�64�=��=�

2

A.3杂凑函数2

等于“52525252525252525252525252525252”(十六进制表示)。

变换的定义方式如下:定义为一个128比特串的二进制分解形式,

𝐼1,𝐼2,⋯,𝐼8

表示将,,置为表1中给定值所得到的比特串。

�1,�2,⋯,�8�=�1�2⋯�128�=

����1�2表�3A.1杂凑函数2中8个子函数中密钥的第1、2、3位取值

子函数密钥的前位

1000

�3

2001

3010

4011

5100

6101

7110

8111

A.4杂凑函数3

等于“52525252525252525252525252525252”(十六进制表示)。

变换的定义方式如下:定义为一个128位比特串的二进制分解形式,则

𝐼1,𝐼2,⋯,𝐼9

表示将,,,置为表2中给定值所得到的比特串。

�1,�2,⋯,�9�=�1�2⋯�128

�=����1表�A2.2�3杂凑�4函数3中9个子函数中密钥的第1、2、3、4位取值

子函数密钥的前位

10000

�4

20001

10

GB/T18238.2—202X

30010

40011

50100

60101

70110

80111

91000

11

GB/T18238.2—202X

附录B

(资料性附录)

示例

B.1概述

本附录采用GB/T32907—2016规定的分组密码算法给出了使用本文件第6章、第7章、第8章规定的

所有杂凑函数计算杂凑值的示例,以及GB/T18238.1—202X的附录A中规定的填充方法的举例。

根据GB/T1988-1998所规定的七位编码字符[1],“Now_is_the_time_for_all_”(其中“_”表示

空格)的十六进制数据串(无奇偶校验)表示如下:

“4E6F77206973207468652074696D6520666F7220616C6C20”。

B.2杂凑函数1

杂凑函数1的和变换见A.2。

杂凑函数1的填充方法采用GB/T18238.1—202X附录A.2中描述的方法1。

𝐼�

表B.1杂凑函数1的计算示例

4E6F77206�973207452525252�5−2152525219962A413�2D155DA

1����

68652074696D65205252525252525252150D485598C6E7AA

666F7220616C6C2019962A4132D155DA64D32559B9166449

2

8000000000000000150D485598C6E7AA0B3255F75707B994

杂凑值(十六进制):

“64D32559B91664490B3255F75707B994”。

B.3杂凑函数2

杂凑函数2的和变换见A.3。

杂凑函数2的填充方法采用GB/T18238.1—202X附录A.3规定的方法2,且。

𝐼�

表B.2杂凑函数2的计算示例�=�

�0,1,�0,2,�0,3,�0,4,�1,1,�1,2,�1,3,�1,4,

�1,1,�1,2,�1,3,�1,4

4E6F7720697320745�205,52,5�205,62,5�205,72,5�250,283�01B,56,D�41A,6A,B�415,75,4�961,98

68652074696D6520525252525252525287E5F12CF769F523

666F7220616C6C2052525252525252523FDBF7F7E321EA69

80000000000000005252525252525252E362D9A035B05CA4

0000000000000000525252525252525222CE803AD0AF18AE

000000000000000052525252525252529E5A92E2492990DB

0000000000000000525252525252525220D76978ED8A2309

12

GB/T18238.2—202X

00000000000000C05252525252525252A52A600CA0C2C1E9

52525252525252527E65EC61DD0D8CCF

525252525252525226F6EA7E0F18CE70

5252525252525252A52E8EE709E61F49

5252525252525252B2E7E1A451EC8FC0

52525252525252527AF1FD4E58EDF9C2

5252525252525252B4013FAA55D0286C

5252525252525252526E3CBB003BC67B

525252525252525239C61CAD4B35A280

�1,1,�1,2,�1,3,�1,4,�2,1,�2,2,�2,3,�2,4,

�2,1,�2,2,�2,3,�2,4

3�01B,56,D�41A,6A,B�415,75,4�961,98D�022,55,2�525,6C,0�A24,78,1�632,58

87E5F12CF769F52320AF0388099E7DA0

3FDBF7F7E321EA69CDC1BE650099E632

E362D9A035B05CA4A63C83A0E72797A2

30B6D4AAB455496922CE803AD0AF18AE47B805D736D69995

87E5F12CF769F5239E5A92E2492990DB3529A333C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论