分享
 
 
 

PKCS#1:RSA加密 版本1.5

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

本备忘录的状态

本备忘录为Internet社区提供了信息。它没有讲述任何一种Internet标准.本备忘录的发

布不受任何限制。

版权声明

Copyright(C)TheInternetSociety(1998).保留所有权利。

略读

此篇文章描述了如何使用RSA公钥密码体系加密数据。

目录

1、范围 2

2、参考 2

3、定义 4

4、标志和缩写 5

5、总的概述 5

6、密钥生成 5

7、密钥语法 6

7.1公钥语法 6

7.2私钥语法 6

8、加密过程 7

8.1加密块格式化 7

8.28位字节串到整数的转换 8

8.3RSA计算 8

8.4整数到字节串的转换 9

9、解密过程 9

9.1字节串到整数的转换 9

9.2RSA计算 9

9.3整数到字节串的转换 9

9.4需加密块解析 10

10、签名算法 10

10.1签名过程 10

10.2验证过程 12

11、对象标识符 13

安全考虑 14

修订版记录 14

鸣谢 14

作者地址 14

版权声明 15

1、范围

此篇文档描述了如何使用RSA公钥密码体系加密数据。这将被用作数字签名和数字信

封,且在PKCS#7中有描述:

? 数字签名:签名内容首先被消息散列算法(如MD5)缩减成一个消息散列,然后

使用签名者的RSA私钥加密含有消息散列的字符串。原文和被加密的消息散列一

起组成符合PKCS#7中语法的数字签名。这种应用和PEM是兼容的。

? 数字信封:首先将被加信封的内容使用一个内容加密算法(例如DES)的内容加

密密钥加密,然后使用收件人的RSA公钥加密内容加密密钥。那个被加密内容和

被加密的密钥一起组成符合PKCS#7中语法的数字信封。这种应用和PEM是兼

容的。

此篇文档还描述了有关一个RSA公钥和私钥的语法。公钥语法被用于证书;私钥语法

被用于PKCS#8中的私钥信息。公钥语法在X.509和PEM是完全相同的。这样X.509/PEM

RSA密钥能被用于此篇文当中。

此篇文档还定义了三个签名算法,它们被用于签署X.509/PEM证书和CRL,PKCS#6

扩展证书,和其他使用数字签名的对象(例如X.401消息标记)。

有关消息散列和内容加密算法的细节并不属于此篇文档的范围,并且有关被文档要求

的假随机位的来源也不在此文档范围中。

2、参考

FIPSPUB46-1NationalBureauofStandards.FIPSPUB46-1:

DataEncryptionStandard.January1988.

PKCS#6RSALaboratories.PKCS#6:Extended-Certificate

Syntax.Version1.5,November1993.

PKCS#7RSALaboratories.PKCS#7:CryptographicMessage

Syntax.Version1.5,November1993.

PKCS#8RSALaboratories.PKCS#8:Private-KeyInformation

Syntax.Version1.2,November1993.

RFC1319Kaliski,B.,"TheMD2Message-Digest

Algorithm,"RFC1319,April1992.

RFC1320Rivest,R.,"TheMD4Message-Digest

Algorithm,"RFC1320,April1992.

RFC1321Rivest,R.,"TheMD5Message-Digest

Algorithm,"RFC1321,April1992.

RFC1423Balenson,D.,"PrivacyEnhancementfor

InternetElectronicMail:PartIII:Algorithms,

Modes,andIdentifiers,"RFC1423,February1993.

X.208CCITT.RecommendationX.208:Specificationof

AbstractSyntaxNotationOne(ASN.1).1988.

X.209CCITT.RecommendationX.209:Specificationof

BasicEncodingRulesforAbstractSyntaxNotation

One(ASN.1).1988.

X.411CCITT.RecommendationX.411:MessageHandling

Systems:MessageTransferSystem:AbstractService

DefinitionandProcedures.1988.

X.509CCITT.RecommendationX.509:TheDirectory--

AuthenticationFramework.1988.

[dBB92]B.denBoerandA.Bosselaers.Anattackonthe

lasttworoundsofMD4.InJ.Feigenbaum,editor,

AdvancesinCryptology---CRYPTO'91Proceedings,

volume576ofLectureNotesinComputerScience,

pages194-203.Springer-Verlag,NewYork,1992.

[dBB93]B.denBoerandA.Bosselaers.Collisionsforthe

compressionfunctionofMD5.Presentedat

EUROCRYPT'93(Lofthus,Norway,May24-27,1993).

[DO86]Y.DesmedtandA.M.Odlyzko.Achosentextattack

ontheRSAcryptosystemandsomediscrete

logarithmschemes.InH.C.Williams,editor,

AdvancesinCryptology---CRYPTO'85Proceedings,

volume218ofLectureNotesinComputerScience,

pages516-521.Springer-Verlag,NewYork,1986.

[Has88]JohanHastad.Solvingsimultaneousmodular

equations.SIAMJournalonComputing,

17(2):336-341,April1988.

[IM90]ColinI'AnsonandChrisMitchell.Securitydefects

inCCITTRecommendationX.509--Thedirectory

authenticationframework.ComputerCommunications

Review,:30-34,April1990.

[Mer90]R.C.Merkle.NoteonMD4.Unpublishedmanuscript,

1990.

[Mil76]G.L.Miller.Riemann'shypothesisandtestsfor

primality.JournalofComputerandSystems

Sciences,13(3):300-307,1976.

[QC82]J.-J.QuisquaterandC.Couvreur.Fast

deciphermentalgorithmforRSApublic-key

cryptosystem.ElectronicsLetters,18(21):905-907,

October1982.

[RSA78]R.L.Rivest,A.Shamir,andL.Adleman.Amethod

foroBTainingdigitalsignaturesandpublic-key

cryptosystems.CommunicationsoftheACM,

21(2):120-126,February1978.

3、定义

由于此篇文档的目的,下列定义将被使用。

算法标识符:通过对象标识符定义一种算法和相关参数的类型,此类型被定义在X.509

中。

ASN.1:抽象语法标记1,定义在X.208中。

BER:基础编码规则,定义在X.209中。

DES:数据加密标准,定义在FIPSPUB46-1中。

MD2:RSADataSecurity,Inc.的MD2消息散列算法,定义在RFC1319中。

MD4:RSADataSecurity,Inc.的MD4消息散列算法,定义在RFC1320中。

MD5:RSADataSecurity,Inc.的MD5消息散列算法,定义在RFC1321中。

Modulus(模数):由两个素数形成的整数。

PEM:因特网私人加密邮件,定义在RFC1423和相关文当中。

RSA:RSA公钥密码体系,定义在[RSA78]中。

私人密钥:模数和私人指数。

公开密钥:模数和公开指数。

4、标志和缩写

大写标志(例如BT)表示字符串和位串(就签名S而言),小写标志(例如c)表示

整数。

ab16进制8位组值c指数

BT块类型d私人指数

D数据e公开指数

EB需加密块k模数的8位组长度

ED被加密的数据n模数

M消息p,q模数的素数组成

MD消息散列x整数需加密块

MD'比较的消息散列y整数被加密数据

PS填充字符串modn模n

S签名XYX,Y的级连

XX字节长

5、总的概述

下面的六个章节具体的叙述了密钥生成,密钥语法,加密过程,解密过程,签名算法

和对象标识符。每个实体都要生成一对密钥:公钥和私钥。加密过程需要使用其中一个密钥,

解密过程需要使用另一个密钥。所以加密过程或是一个公钥操作过程或是一个私钥操作过

程,解密过程也一样。这两种过程都是把一个8位字符串转化成另一个8位字符串。这两个

过程是互相相反的,假如一个过程使用了一个实体的公钥,那么另一个过程使用同一实体的

私钥。加密和解密过程或是能实现典型的RSA转换,或是实现填充变换。

6、密钥生成

此章节描述RSA密钥生成。每个实体都需要选择一个正整数e作为它的公开指数。每

个实体都需要私人的随机的选择两个不同的奇素数p和q,以便e和(p-1)*(q-1)互素。

公开模数n是私人的素数p,q的乘积:n=p*q。私人指数是一个正整数d,以便d*e-1可

以被(p-1)*(q-1)整除。模数n的字节长为k,k满足2^(8(k-1))<=n<2^(8k)。模数长度

k必须是至少12个字节,使之适应此文档中的块格式(见第8章)。

注重:

(1) 公开模数在非凡应用程序中可以是标准化的。在X.509的附录C中提到使用3

或65537可以有一些实际的好处。

(2) 为了使模数n的因数分解更困难,可以考虑一些额外的选择素数的条件。这些

保障安全的条件超出了此文档的论述范围。长度k的下限是为了适应块格式,

并不是为了保障安全。

7、密钥语法

此章节给出了RSA公钥和私钥的语法

7.1公钥语法

一个RSA公钥需要有ASN.1的RSAPublicKey类型:

RSAPublicKey::=SEQUENCE{

modulusINTEGER,--n

publicEXPonentINTEGER--e}

(这个类型被定义于X.509中,保留在此处是为了兼容性。)

RSAPublicKey类型的字段有下列含义:

modulus是模数n;

publicExponent是公开指数e。

7.2私钥语法

一个RSA私钥有一个ASN.1的RSAPrivateKey类型:

RSAPrivateKey::=SEQUENCE{

versionVersion,

modulusINTEGER,--n

publicExponentINTEGER,--e

privateExponentINTEGER,--d

prime1INTEGER,--p

prime2INTEGER,--q

exponent1INTEGER,--dmod(p-1)

exponent2INTEGER,--dmod(q-1)

coefficientINTEGER--(inverseofq)modp}

Version::=INTEGER

RSAPrivateKey类型的字段有下列含义:

? version是一个为兼容将来此文档的修改的版本号。为了适应此文档的版本它

应该是0;

? modulus是模数n;

? publicExponent是公开指数e;

? privateExponent是私人指数d;

? prime1是组成模数n的一个素数p;

? prime2是组成模数n的一个素数q;

? exponent1是dmod(p-1);

? exponent2是dmod(q-1);

? coefficient是中国剩余理论中的系数q-1modp。

注重:

(1) 一个RSA私钥逻辑上仅包含模数n和私人指数d。p,q,dmod(p-1),d

mod(p-1)和q-1modp的出现是为了提高效率,正如Quisquater和Couvreur

显示在[QC82]中。假如公钥知道的话,按照Miller[Mil76]的结果,一个不

包含其他值的私人密钥语法是很轻易转化成此处定义的语法。

(2) 公开指数e的出现是为了可以轻易的从私钥中得到公钥。

8、加密过程

此章节描述了RSA的加密过程。

加密过程包括4个步骤:加密块格式化,8位字符串到整数的转化,RSA计算,整数

到8位字符串的转化。加密过程的输入为数据8位字符串,模数n,指数c。对于公钥操作

来说,整数c是实体的公开指数e;对于私钥操作来说,整数c是实体的私人指数d。加密

过程的输出为被加密的数据,一个8位字符串ED。

数据D的长度不应该长于k-11个8位字节,其必为正数,因为模数的长度k是至少

12个8位字节。这种限制保证了填充串PS的长度至少为8个8位字节,这是一项安全措施。

注重:

(1) 在此文档的对于加密内容加密密钥和消息散列的典型应用中,D<=30。这样

RSA模数的长度至少需要328位(41个8位字节),这是合理的,并且和安全

建议是一致的。

(2) 假如被加密的数据在传输中被破坏,加密过程并不提供一个帮助错误侦察的外

在的完整性检查。然而,加密块的结构保证了破坏没被检查出的可能性小于

2-16,这是一个随机加密块看起来像类型2的可能性的上限。

(3) 定义在此的对于除了包含一个消息散列的8位字节串的数据的私钥操作的应用

并不被推荐,需要更多的研究。

(4) 此文档可以被扩展,来控制长度长于k-11个8位字节串

8.1加密块格式化

加密块是一个8位字节串EB,由块标记BT,填充块PS和数据D组成。

EB=00BTPS00D(1)

块标记BT是一个标记字节,表示加密块的结构。对于此文档的版本,它有00,

01,或02值。私钥操作为00,或01;公钥操作为02。

填充串PS为k-3-D长的8位字节字符串。对于00型,填充串为00;对于01型,

填充串为ff;对于02型,填充串为假散列生成的非0值。这使得加密块EB的长度为

k。

注重:

(1) 开始的00值字节保证了转化成整数后的加密块小于模数。

(2) 对于00型来说,数据D必须以一个非0字节开始,或是必须知道长度,

以便加密块能被清楚的解析。对于01和02型来说,加密块能被清楚的解

析,这是因为填充块PS不包含00值字节,它可以被一个00值字节从数据

D分开。

(3) 01型被推荐为私钥操作标志。01型有保证转化成整数的加密块很大的性

能,这能防止Desmedt和Odlyzko[DO86]所建议的某种攻击。

(4) 01和02型是和被描述在RFC1423中的PEMRSA的内容加密密钥和消息

散列的加密是兼容的。

(5) 对于02类型来说,建议为每一个加密过程都独立生成假散列字节,非凡是

假如相同的数据被输入多于一个的加密过程。Hastad的结果[Has88]促进

了这种建议。

(6) 对于02类型来说,填充串至少是8个字节长,这是对于公钥操作的一个安

全措施,为了防止攻击者通过测试所有可能的加密块来恢复数据。类似的,

对于01类型最小长度是一样的。

(7) 此文档将来可以扩展为包括其他类型。

8.28位字节串到整数的转换

加密块EB需要被转化为一个整数x,即整数加密块。从头到尾让EB1,...,Ebk

组成EB字节串。然后整数x应该满足:

k

x=SUM2^(8(k-i))EBi(2)

i=1

换句话来说,EB的第一个字节在整数中意义最重大,最后一个字节的重要性最

低。

注重:因为EB1=00并且2^(8(k-1))<=n,所以整数加密块x满足0<=x<n。

8.3RSA计算

整数加密块x需要被求c次方幂,然后模n,最后被赋给整数y,即整数被加密

数据。

y=x^cmodn,0<=y<n

这是一个典型的RSA计算。

8.4整数到字节串的转换

整数被加密数据y需要被转换成一个长度k的8位字节串ED,即被加密数据。

被加密数据应该满足:

k

y=SUM2^(8(k-i))EDi(3)

i=1

这里ED1,...,Edk就是字节串ED的组成。

换句话说,ED的第一个字节在整数中最为重要,ED的最后一个字节重要性最低。

9、解密过程

此章节描述了RSA解密过程。

解密过程包含4个步骤:字节串到整数的转换,RSA计算,整数到字节串的转换,和

需加密块解析。解密过程的输入是一个8位字节串ED,即被加密数据;模数n;指数c。对

一个公钥操作来说,整数c是一个实体的公开指数e;对一个私钥操作来说,整数c是一个

实体的私人指数d。解密过程的输出是一个8位字节串D,即原始数据。

假如被加密数据ED的长度不是k,则为错误。

简短来说,解密过程是根据加密过程来描述的。

9.1字节串到整数的转换

被加密的数据ED根据等式(3)被转化成整数被加密数据y。

假如整数被加密数据不满足0<=y<n,则为错误。

9.2RSA计算

整数被加密数据y需要被求c次方幂,然后模n,最后被赋给整数x,即整数需加密块。

x=y^cmodn,0<=x<n

这是一个典型的RSA计算。

9.3整数到字节串的转换

整数需加密块x根据等式(2)被转化成一个长度k的8位字节串EB,即需加密块。

9.4需加密块解析

需加密块EB根据等式(1)被解析成一个由块标记BT,填充块PS和数据D组成的

数据块。

假如有下列情况发生,则为错误:

? 需加密块不能被明白的解析(见8.1节的注重)。

? 填充串PS少于8字节,或是和块标记BT不匹配。

? 解密过程是一个公钥操作过程,块标记不能为00或01;或者解密过程是一个私

钥操作过程,块标记不能为02。

10、签名算法

本章定义了3个基于被描述在第8、9章中的RSA加密过程的签名算法。签名算法主

要被用于签署X.509/PEM证书,CRL,PKCS#6扩展证书,以及其他使用数字签名的对象,

例如X.401消息环。算法并不被特意用来构建PKCS#7的数字签名。第一个签名算法把MD2

散列算法和RSA结合起来(简称MD2withRSA);第二个签名算法把MD4散列算法和RSA

结合起来(简称MD4withRSA);第三个签名算法把MD5散列算法和RSA结合起来(简

称MD5withRSA)。

本章节描述了两个算法的签名过程和验证过程。所选的散列算法取决于签名算法,

MD2或MD5。签名过程使用一个实体的私钥;而验证过程使用一个实体的公钥。签名过程

把一个8位字节串(消息)转化成一个位串(签名);而验证过程检验一个位串(签名)是

否为一个8位字节串(消息)的签名。

注重:被定义在此的签名算法和在PKCS#7中构建签名的方法(加密消息散列)之间

的仅有的不同是此处的签名用位串表示,这和X.509SIGNED宏是一致的。在PKCS#7中

被加密的消息散列是8位字节串。

10.1签名过程

签名过程包括4个步骤:消息散列,数据编码,RSA加密和8位字节串到位串的转换。

签名过程的输入是一个8位字节串M,即消息;签名者的私人密钥。其输出是一个位串S,

即签名。

10.1.1消息散列

使用所选的消息散列算法来散列消息M,得到一个8位字节串MD,即消息散列。

10.1.2数据编码

消息散列MD和消息散列算法标识符组成了以下描述的ASN.1类型DigestInfo的值,

此类型将通过BER编码来生成一个8位字节串D,即原始数据。

DigestInfo::=SEQUENCE{

digestAlgorithmDigestAlgorithmIdentifier,

digestDigest}

DigestAlgorithmIdentifier::=AlgorithmIdentifier

Digest::=OCTETSTRING

类型DigestInfo的域有下列含义:

? digestAlgorithm表示用于散列的算法(以及相关参数)。对应用程序来说,它标识

了所选的散列算法,MD2,MD4或MD5。作为参考,以下是相关的对象标识符:

md2OBJECTIDENTIFIER::=

{iso(1)member-body(2)US(840)rsadsi(113549)

digestAlgorithm(2)2}md4OBJECTIDENTIFIER::=

{iso(1)member-body(2)US(840)rsadsi(113549)

digestAlgorithm(2)4}md5OBJECTIDENTIFIER::=

{iso(1)member-body(2)US(840)rsadsi(113549)

digestAlgorithm(2)5}

对这些对象标识符来说,散列算法的参数域是空。

? digest是消息散列过程的结果,例如消息散列MD。

注重:

1. DigestInfo值包含了一个消息散列算法标识符,用来限制由于使用消息散列算法

压缩数据而导致的破坏。举例来说,假如攻击者能够找出带有给定的MD2消息

散列的消息,那么他就可以通过找出一个表面无害的带有相同MD2散列的消息,

并强迫签名者签署这个表面无害的消息,来伪造消息签名。这种攻击方法只有在

使用MD2散列算法时才会成功。假如DigestInfo值只包括消息散列,攻击者就能

攻击使用任何消息散列的签名者。

2. 虽然使用SEQUENCE类型违反了在X.509SIGNED和SIGNATURE宏中的签名

是一个ENCRYPTEDOCTETSTRING的书面声明,但是正如I'Anson和Mitchell

在[IM90]中指出的,这样的书面阐明并不被要求。

3. 没有理由说MD4不是一个安全度很高的数字签名方案,但是由于MD4被设计的

非常快,所以它处于被成功攻击的危险中。假如有人找出拥有同一个散列的两个

消息这样的冲突,那么这个散列算法可以被认为是打破的(broken)。当冲突被发

现在仅有两个散列循环[Mer90][dBB92]的MD4的变体中,并没有冲突出现在有三

个散列循环的MD4中。在进一步的研究后,我们可以认为MD4有很高的安全性。

MD5有四个散列循环,比MD4更慢。在MD4被研究前,它是被推荐使用的。

在MD5内部的压缩功能[dBB93]中的假冲突并没有任何实际的安全影响。

MD2是三者中最慢的一个,它有最保守的设计,没有任何对MD2的攻击被公布

出来。

10.1.3RSA加密

正如在第7章中描述的数据D被签名者的RSA私钥加密,生成一个8位字节串ED,

即被加密的数据。其块标记为01(见8.1节)。

10.1.48位字节串到位串的转换

被加密数据ED被转换成一个位串S,即签名。具体来说,被加密数据的第一个字节

的第一位成为签名的第一个数据位,以此类推,直到被加密数据的最后一个字节的最后一位,

它将变成签名的最后一个数据位。

注重:签名S的位长度是8的倍数。

10.2验证过程

验证过程包括四个步骤:位串到字节串的转换,RSA解密,数据解码,消息散列和比

较。验证过程的输入是字节串M,即消息;签名者的公钥;位串S,即签名。其输出是验证

成功或失败的标记号。

10.2.1位串到字节串的转换

签名S被转换成字节串ED,即被加密的数据。具体来说,假设S的位长度是8的倍

数,S的第一位将变成字节串的第一个字节的第一位,以此类推,直到签名的最后一位变成

字节串的最后一个字节的最后一位。

假如签名的位长度不是8的倍数,则是错误。

10.2.2RSA解密

正如在第8章节中描述的使用签名者的公钥对被加密数据ED进行解密,得到字节串

D,即原始数据。

假如在解密过程中恢复的块标记位不是01,则是错误的(见9.4节)。

10.2.3数据解码

原始数据D将被BER解码为类型DigestInfo的ASN.1值,此值被分成消息散列MD

和消息散列算法标识符。消息散列算法标识符决定了下一步所选的消息散列算法。

假如消息散列算法标识符不是MD2,MD4或MD5消息散列算法,则为错误。

10.2.4消息散列和比较

使用所选的消息散列算法对消息M进行散列,得到字节串MD`,即将进行比较的消

息散列。假如MD`和MD相同,则表示验证成功,否则为失败。

11、对象标识符

本文档定义了5个对象标识符:pkcs-1,rsaEncryption,md2WithRSAEncryption,

md4WithRSAEncryption和md5WithRSAEncryption。

对象标识符pkcs-1等同于本篇文档。

pkcs-1OBJECTIDENTIFIER::=

{iso(1)member-body(2)US(840)rsadsi(113549)

pkcs(1)1}

对象标识符rsaEncryption等同于定义在第7章节中的RSA公/私钥和定义在第8、9章

节中的RSA加/解密过程。

rsaEncryptionOBJECTIDENTIFIER::={pkcs-11}

rsaEncryption对象标识符被用于AlgorithmIdentifier类型的algorithm域的一个值。此

类型的parameters域有算法特定的语法ANYDEFINEDBYalgorithm,在rsaEncryption算法

中,其值为空。

对象标识符md2WithRSAEncryption,md4WithRSAEncryption和

md5WithRSAEncryption各自表示定义在第10章节中的MD2withRSA,MD4withRSA和

MD5withRSA签名及验证过程。

md2WithRSAEncryptionOBJECTIDENTIFIER::={pkcs-12}

md4WithRSAEncryptionOBJECTIDENTIFIER::={pkcs-13}

md5WithRSAEncryptionOBJECTIDENTIFIER::={pkcs-14}

这些对象标识符被用于AlgorithmIdentifier类型中的algorithm域的一个值。此类型的

parameters域有算法特定的语法ANYDEFINEDBYalgorithm,在此三个算法中,其值为空。

注重:X.509的对象标识符rsa也表示定义在第7章节中的RSA公钥,但并不表示私钥,

并且表示不同的加/解密过程。一些应用程序期望将鉴别RSA公钥。这些公钥和本文档是兼

容的,使用RSA公钥的rsaEncryption过程等同于使用rsaEncryption公钥的rsaEncryption过

程。

安全考虑

安全内容在此备忘录中讨论。

修订版记录

版本1.0-1.3

此版本在1991的2月和3月被分发给RSADataSecurity,Inc.的Public-Key

CryptographyStandards会议的参加者。

版本1.4

此版本是在1991.6.3的第一次公开发布的PKCS中的一部分内容,并被发行作为

NIST/OSIImplementors的工作组文档SEC-SIG-91-18。

版本1.5

此版本包括了几处改变,其中有参考的更新和修订版记录的增加。下列是几处实质的

改变:

? 第10章节:增加了MD4withRSA的签名和验证过程。

? 第11章节:增加了md4WithRSAEncryption对象标识符。

代替1991.6.3的版本,它也被作为NIST/OSIImplementors的工作组文档

SEC-SIG-91-18。

鸣谢

本文档基于RSADataSecurity,Inc.的一个部门RSALaboratories的撰稿。任何实质的

使用本文档都必须感谢RSADataSecurity,Inc.。RSADataSecurity,Inc.要求所有对此文档的

资料的阐述和参考都必须表示为RSADataSecurity,Inc.PKCS#1。

作者地址

BurtKaliski

RSALaboratoriesEast

20CrosbyDrive

Bedford,MA01730

Phone:(617)687-7000

EMail:burt@rsa.com

版权声明

Copyright(C)TheInternetSociety(1998).AllRightsReserved.

Thisdocumentandtranslationsofitmaybecopiedandfurnishedtoothers,andderivative

worksthatcommentonorotherwiseexplainitorassistinitsimplementationmaybeprepared,

copied,publishedanddistributed,inwholeorinpart,withoutrestrictionofanykind,provided

thattheabovecopyrightnoticeandthisparagraphareincludedonallsUChcopiesandderivative

works.However,thisdocumentitselfmaynotbemodifiedinanyway,suchasbyremovingthe

copyrightnoticeorreferencestotheInternetSocietyorotherInternetorganizations,exceptas

neededforthepurposeofdevelopingInternetstandardsinwhichcasetheproceduresfor

copyrightsdefinedintheInternetStandardsprocessmustbefollowed,orasrequiredtotranslateit

intolanguagesotherthanEnglish.

ThelimitedpermissionsgrantedaboveareperpetualandwillnotberevokedbytheInternet

Societyoritssuccessorsorassigns.

Thisdocumentandtheinformationcontainedhereinisprovidedonan"ASIS"basisandTHE

INTERNETSOCIETYANDTHEINTERNETENGINEERINGTASKFORCEDISCLAIMS

ALLWARRANTIES,EXPRESSORIMPLIED,INCLUDINGBUTNOTLIMITEDTOANY

WARRANTYTHATTHEUSEOFTHEINFORMATIONHEREINWILLNOTINFRINGE

ANYRIGHTSORANYIMPLIEDWARRANTIESOFMERCHANTABILITYORFITNESS

FORAPARTICULARPURPOSE.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有