分享
 
 
 

一次口令系统

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

备忘录状况

这份文档为Internet社区指定为Internet标准(轨迹)协议,并且为进一步改进需要讨论和建议。这份协议的标准化状态和状况请参阅"Internet官方协议标准(InternetOfficialProtocolStandards)"(STD1)的当前版。这份备忘录的分发不受限制。

版权声明

Copyright(C)TheInternetSociety(1998).版权所有.

目录

目录 2

0.译者的话 2

1.0摘要 3

2.0概述 3

3.0介绍 3

4.0需求术语 4

5.0安全哈希函数(SECUREHASHFUNCTION) 4

6.0一次口令的产生 5

7.0一次口令的验证 7

8.0一次口令更改 7

9.0避免竞争攻击 8

10.0安全考虑 9

11.0确认 9

12.0参考文献 9

13.0作者的地址 10

附录A-安全哈希算法界面 11

附录B-可替换字典算法 13

附录C-OTP认证例子 14

附录D-六词和二进制格式之间转换的字典 17

完整版权声明 23

0.译者的话

译者在翻译这份文档的时候,采取直译的方式,尽量保证原文的原意。同时也尽量考虑了中文的语义顺畅,便于中文读者阅读,译者在译文中加入了一些修饰语和译注,修饰语一般在括号中写明,而译注均有“译者注”字样。由于译者翻译本篇文挡时间有限,译文中一定会存在许多理解有误、用词不当之处,欢迎读者来信指正,共同学习。

1.0摘要

这篇文档描述一次口令认证系统(one-timepassWordauthenticationsystem)(OTP)。系统提供对系统访问(login)的认证以及针对基于重放获取可再用口令(replayingcapturedreusablepasswords)之上的被动攻击的安全认证需求的其他应用。OPT从S/KEY演化而来(S/KEY是Bellcore的商标)。一次口令系统被Bellcore(贝尔通讯研究所)释放,在参考[3]和[5]中描述。

译者注:one-timepassword称为一次性口令,在本文中称为一次口令。

2.0概述

一种互联网计算系统的攻击形式是监听网络连接以获得认证信息,例如合法用户的登录IDs和口令。一旦这个信息被捕捉,它就能获得用于以后对系统的访问(权)。一次口令系统被设计为还击这种攻击类型,称作“重播攻击”[4]("replayattack")。

在本文档中描述的认证系统使用一秘密通行短语(pass-phrase)去衍生一系列一次口令(单独使用的)。使用这个系统,用户的秘密通行短语任何时候(例如认证过程中或者通行短语更改过程中)都不在网络中传输。因此,对重放攻击是非脆弱的。附加的安全通过无秘密信息需要被存储在任何系统中的特征被提供,包括被保护的服务。

OTP系统避免针对认证子系统受到外部被动攻击的危害。它不能阻止网络监听去获得私有信息的存取以及不能提供避免或者“社会工程”("socialengineering")或者主动攻击(activeattacks)[9]的危害的保护。

3.0介绍

在OPT一次口令系统的操作中存在两个实体。发起者(generator)必须从用户的秘密通行短语和从服务的质疑(challenge)中提供的信息产生适当的一次口令。服务必须发送包括给发起者适当的产生参数的质疑,必须验证接收的一次口令,必须存储接收到的最近有效的一次口令,以及必须存储相应的一次口令序列数(sequencenumber)。同时服务必须也便于以安全的方式对用户的秘密通行短语的改变。

OTP系统发起者传送用户的秘密通行短语,随后接收到从服务质疑的一部分的(随机)种子(seed),通过安全哈希函数(hashfunction)多次叠代运算产生一个一次口令。每一次成功的验证之后,安全哈希函数叠代的次数减少1。这样,唯一序列的口令产生了。服务通过计算安全哈希函数一次和比较先前从发起者接收到的一次口令来验证发起者的一次口令。这个技术由LeslieLamport[1]第一次提出。

4.0需求术语

在这篇文档中,用于定义每一个非凡需求的重要意义的词通常大写。这些词是:

-MUST

这个词或者形容词"REQUIRED"表示这项是具体指定的绝对需求。

-SHOULD

这个词或者形容词"RECOMMENDED"表示在特定的环境中存在有效的理由去忽略这项,但是完整的含义应该被理解以及在做出不同的进程之前要仔细衡量。

-MAY

这个词或者形容词"OPTIONAL"表示这项是真正可选的。例如,一个销售商可以选择包括这项,因为市场的需求或者增强产品(的功能);而另一个销售商可以忽略同一个选项。

5.0安全哈希函数(SECUREHASHFUNCTION)

OTP系统的安全依靠于安全哈希函数的不可逆性。这样的函数必须是正向易于计算的,但是反过来计算不可行。

这里有三个这样的哈希算法接口被定义,RonaldRivest的MD4[2]和MD5[6],以及NIST的SHA[7]。所有服务和发起者之间一致的工具必须(MUST)支持MD5。他们应该(SHOULD)支持SHA和可以(MAY)也支持MD4。明显的,发起者和服务之间为了互操作必须使用同样的算法。其他哈希算法可以通过公开适当的接口为这个系统的使用具体指定。

上面列出的安全哈希算法有其可以接收任意长度的输入和产生固定大小输出的特性。OPT系统使用附录A中定义的算法将输出折叠为64bit。64bit也是一次口令的长度。当必要时这个程度可以确认对安全是足够长的以及对于手工输入是足够短的(参见下面,输出的格式)。

6.0一次口令的产生

这部分描述一次口令的产生。这个处理过程由所有输入被组合在一起的初始化步骤、安全哈希函数被应用指定次数的运算步骤,和64bit一次口令被转化为人类可读格式的输出函数组成。

附录C包含给定输入的集合的输出例子。它提供了证实这些算法应用的表达实现。

初始化步骤

原则上,用户的安全通行短语可以是任何长度。为了减少来自例如穷举搜索或者字典攻击的危险,通讯短语字符串必须(MUST)至少包含10个字符(参见下面的输入格式)。所有工具必须(MUST)支持至少63个字符的通行短语。安全通行短语通常,但不被要求,是由用户提供的原文信息。

在这个步骤中,通行短语与从服务方以明文方式传递过来的种子(seed)连接在一起。这个非安全(non-secret)种子答应客户在多个机器上(使用不同的种子)使用同样的安全通行短语以及通过改变种子安全地再循环使用他们的安全通行短语。

这个连接的结果通过使用附录A中列举的安全哈希函数算法之一,然后产生64bit输出。

计算步骤

一系列一次口令通过应用对初始化步骤(称为S)的输出多次安全哈希函数运算产生。也就说,第一个一次口令通过将S传递到由用户指定次数(N次)的安全哈希函数运算产生。下一个一次口令通过传递S到安全哈希函数N-1次运算产生。监视一次口令传输的监听者不能产生下一个需要的口令,因为要做到这些就意味着哈希函数的逆运算。

输入的格式

安全通行短语仅被OTP发起者看到。为了答应发起者之间的可交互性,所有的发起者必须(MUST)支持10到63字符长度的安全通行短语。执行工具可以(MAY)支持更长的通行短语,但是这样的工具存在与仅支持短通行短语的工具之间失去交互性。

种子必须(MUST)由纯正的字母数字字符(alphanumericcharacters)组成以及在长度上为16字符长。种子是一串必须(MUST)不能包含空格(blanks)和应该由严格的从来自ISO-646内部编码集合(ISO-646InvariantCodeSet)的字母数字字符组成的字符串。种子必须(MUST)是大小写无关的以及必须(MUST)是在处理之前内部转换为小写。

序列号和种子一起组成一个大的数据单元称为挑战(challenge)。挑战作为从安全通行短语计算正确的一次口令需要的参数提供给发起者。挑战必须(MUST)是标准语法以便自动产生在上下文中能识别的挑战以及提取这些参数。挑战的语法如下:

otp-<algorithmidentifier><sequenceinteger><seed>

三个标志段(tokens)必须(MUST)以空格分开(可以定义为任何数量的空格和/或制表符tabs)和整个挑战字符串必须(MUST)以或者是空格或者一新行结束。字符串"otp-"必须(MUST)为小写。算法标识符是大小写敏感的(已知存在的标识符都是小写),以及种子是大小写不敏感的并且在使用之前转换为小写。假如额外的算法被定义,适当的标识符(短的,但是没有限制为三或者四个字符)必须被定义。当前定义的算法标识符是:

md4MD4MessageDigest

md5MD5MessageDigest

sha1NISTSecureHashAlgorithmRevision1

一个OTP挑战例子是:otp-md5487dog2

输出的格式

上面处理过程产生的一次口令在长度上为64bit。输入一个64bit数字是困难的并且轻易出错的过程。一些产生器插入口令到输入流中和另外一些对于“剪切和粘贴”的系统使其有效。仍然有一些其他的布置(arrangements)需要一次口令手工输入。OTP系统设计为易于手工输入而没有妨碍自动的方法。因此一次口令可以(MAY)转换为,和所有服务必须(MUST)有能力接受的,仅使用从ISO-646IVCS字符集中的六个(1到4个字母letter)简单类型词(word)的序列。每个词从2048个词的字典中选取;每个词为11bit,所有一次口令可以被编码。

在这个编码中两个附加位(bits)用于存储校验和(checksum)。密钥的64bits被分裂为一对bits,然后这些对(pairs)被加和在一起。这个和(sum)的两个最低有效位在随着和(sum)的最低有效位作为最低位编码的六词(word)序列的最后两位(bits)被编码。所有OTP产生器必须(MUST)计算这个校验和以及所有OTP服务必须(MUST)作为解码(decoding)这个一次口令的代表操作的一个部分显式的验证这个校验和。

产生六词格式(six-wordformat)的产生器必须(MUST)以单空格作为分隔的大写形式展示。所有服务必须(MUST)接受六词格式而忽略大小写和用作分隔的空格。下面两行表示同一个一次口令。第一行作为从产生器输出和服务的输入是有效的,第二行仅作为手工输入到服务是有效的。

OUSTCOATFOALMUGBEAKTOTE

oustcoatfoalmugbeaktote

互操作要求所有的OTP服务和产生器使用相同的字典。标准字典起初在其描述在RFC1760[5]中的"S/KEYOneTimePasswordSystem"明确指定。

为了便于小的产生器的实现(implementation),对于一次口令的表示十六进制输出是一个可选择的表示。所有服务软件的实现必须(MUST)接受同六词格式一样的大小写不敏感的十六进制(数字)。十六进制数字可以由空格分隔,所以服务要求(REQUIRED)忽略所有的空格。假如表示是通过空格分开的,首位的零必须保留。十六进制格式的例子如下:

Representation(表示)Value(值)

3503785b369cda8b0x3503785b369cda8b

e5cca1b87c13096b0xe5cca1b87c13096b

C74890F4277BA1CF0xc74890f4277ba1cf

479A68284C9D01BC0x479a68284c9d01bc

除了接受六词和十六进制的64bit一次口令编码之外,服务应该(SHOULD)接受在附录B中描述的可替换的字典编码。在这个编码中的六个词一定(MUST)不能与在标准字典词的集合中重叠(overlap)。为了避免十六进制表示的含糊不清(ambiguity),在可替换字典中的词必须(MUST)不能仅由字母A-F构成。这样编码的解码词不需要任何可替换字典使用的知识,所以任何可选字典的可接受暗含着所有字典的可接受。在可替换字典中的词是大小写敏感的。产生器和服务必须(MUST)在处理这些词的过程中保护大小写。

总的来说,所有兼容的服务必须(MUST)接受使用标准字典(RFC1760和附录D)的六词输入,必须(MUST)接受十六进制编码,和应该(SHOULD)接受使用可替代字典技术(AlternativeDictionarytechnique)(附录B)的六词输入。一次口令的十六进制编码看上去像一个有效的六词标准字典编码是有很小的可能性的,所有工具(implementations)必须(MUST)使用下列模式(scheme),假如一个六词编码的一次口令是有效的,它被接受。否则假如一次口令可以作为十六进制被解释,和编码是有效的,那么它被接受。

7.0一次口令的验证

正如上文描述的一个期望OTP验证需求的服务系统的应用发送一个OTP挑战。从这个挑战和安全通行短语给定参数,发起者能计算(或者查找)通过服务被验证的一次口令。

服务系统有一个数据库,包含每一个用户,从最后成功验证的一次口令或者新近初始化的第一个OTP序列。为了验证用户,服务解码从发起者接受到的一次口令为64-bit密钥并且然后这个密钥通过安全哈希函数一次。假如这个操作的结果匹配存储的先前OTP,验证是成功的和接受的一次口令被存储为将来使用。

8.0一次口令更改

由于哈希函数应用的数目通过产生器每次减少1执行,在一些点上用户必须重新初始化系统,否则不能够进行验证。

尽管一些计算站(installations)可能不答应用户初始化远端,应用工具必须(MUST)提供一种方法去做,而不泄露用户的安全通行短语。一种方法是通过明确指定第一个一次口令的方式提供一个重新初始化的序列。

当一次口令序列被重新初始化的时候,工具必须(MUST)验证种子或者通行短语被更换。计算站应该(SHOULD)不鼓励任何以明文的方式在网络上发送安全通行短语的操作,因为这样的行为失去了一次口令的概念。

工具可以(MAY)为[重新]初始化使用下列的技术:

o用户选择一个新的种子和哈希计数(count)(默认的值可以被提供)。用户提供这些,然后相应产生一次口令,对于主机系统。

o用户也可以(MAY)作为错误检查对count-1次产生相应的一次口令。

o用户应该(SHOULD)针对原有的种子和原有的哈希计数产生一次口令为了保护空闲终端(idleterminal)或者工作站(这个暗含着当计数是1的时候,用户能够登陆但是不能修改种子或者计数)。

将来明确指定的协议可以被定义,对于所有的主机和产生器将能够答应平滑的和也许自动的互操作的重新初始化。

9.0避免竞争攻击

所有一致服务工具必须(MUST)在避免本部分中描述的竞争状况的危害。抵御这个攻击的防护是概括的;工具可以(MAY)使用这个方法(approach)或者可以(MAY)选择一个可选择的防御。

对于一个攻击者去监听大多数的一次口令,猜测剩余的,然后迅速传递合法用户完成授权是可能的。多数针对六词格式的最后一个词进行猜测更可能成功。

一个可能的防御是防止用户同时开始多个认证会话。这个意味着一次合法用户已经初始化的认证,攻击者将被阻塞直到第一次认证处理完成。在这个方法(approach)中,为防止拒绝服务攻击(denialofserviceattack)超时时间是必须的。

10.0安全考虑

这篇文档讨论针对简单口令系统[4]的通过限定已经使用的监听/重放攻击的危险改善安全的认证系统。

OTP系统的使用仅提供避免被动监听/重放攻击危害的保护。它没有提供对于传输数据的保密,以及它没有提供避免例如在当前Internet[9]上已知存在的会话拦劫(sessionhijacking)的主动攻击的危害保护。IPSecurity(IPsec)的使用,参见[10],[11],和[12]针对TCP会话拦劫的保护被推荐。

OTP系统对主机系统的成功保护依靠于使用的安全哈希函数不可逆性(non-invertability)。据我们所知,没有哈希算法已经被攻破,但是通常认为MD4没有MD5安全强度高。假如服务支持多种哈希算法,它(系统的安全)仅同最弱算法的安全强度。

11.0确认

在OTP的认证观念(idea)由LeslieLamport[1]第一次提出建议。Bellcore(贝尔通讯研究所)的S/KEY系统,其是OTP的起源,由PhilKarn提出建议,其也发表了大部分的Bellcore参考实现(implementation)。

12.0参考文献

[1]LeslieLamport,"PasswordAuthenticationwithInsecure

Communication",CommunicationsoftheACM24.11(November

1981),770-772

[2]Rivest,R.,"TheMD4Message-DigestAlgorithm",RFC1320,

April1992.

[3]NeilHaller,"TheS/KEYOne-TimePasswordSystem",Proceedings

oftheISOCSymposiumonNetworkandDistributedSystem

Security,February1994,SanDiego,CA

[4]Haller,N.,andR.Atkinson,"OnInternetAuthentication",

RFC1704,October1994.

[5]Haller,N.,"TheS/KEYOne-TimePasswordSystem",

RFC1760,February1995.

[6]Rivest,R.,"TheMD5Message-DigestAlgorithm",RFC1321,

April1992.

[7]NationalInstituteofStandardsandTechnology(NIST),

"AnnouncingtheSecureHashStandard",FIPS180-1,U.S.

DepartmentofCommerce,April1995.

[8]InternationalStandard-InformationProcessing--ISO7-bit

codedcharactersetforinformationinterchange(InvariantCode

Set),ISO-646,InternationalStandardsOrganization,Geneva,

Switzerland,1983

[9]ComputerEmergencyResponseTeam(CERT),"IPSpoofingand

HijackedTerminalConnections",CA-95:01,January1995.

AvailableviaanonymousFTPfrominfo.cert.orgin

/pub/cert_advisories.

[10]Atkinson,R.,"SecurityArchitecturefortheInternetProtocol",

RFC1825,August1995.

[11]Atkinson,R.,"IPAuthenticationHeader",RFC1826,August

1995.

[12]Atkinson,R.,"IPEncapsulatingSecurityPayload(ESP)",RFC

1827,August1995.

13.0作者的地址

NeilHaller

Bellcore

MCC1C-265B

445SouthStreet

Morristown,NJ,07960-6438,USA

Phone:+1201829-4478

Fax:+1201829-2504

EMail:nmh@bellcore.com

CraigMetz

KamanSciencesCorporation

ForNRLCode5544

4555OverlookAvenue,S.W.

Washington,DC,20375-5337,USA

Phone:+1202404-7122

Fax:+1202404-7942

EMail:cmetz@cs.nrl.navy.mil

PhilipJ.NesserII

Nesser&NesserConsulting

13501100thAveNE

Suite5202

Kirkland,WA98034,USA

Phone:+12064814303

EMail:pjnesser@martigny.ai.mit.edu

MikeStraw

Bellcore

RRC1A-225

445HoesLane

Piscataway,NJ08854-4182

Phone:+1908699-5212

EMail:mess@bellcore.com

附录A-安全哈希算法界面

原始互操作测试提供了有效的察看当转换协议规范到运行编码时的细微的问题。非凡是,数据比特顺序的操作依靠于硬件结构,计算机存储多字节数据的具体方式。这种方法典型的称为大或者小头("endian")。大头机器存储数据最高有效位在前,而小头机器存储数据最低有效位在前。这样,在大头机器上数据存储从左到右,而小头机器存储数据从右到左。

例如,四字节值0x11AABBCC存储在大头机器是按照下列四字节序列"0x11","0xAA","0xBB",和"0xCC",而在小头机器上存储序列将是"0xCC","0xBB","0xAA",和"0x11"。

由于历史的原因,和为了促进已存在设备的互操作性,决定所有哈希合并到OTP协议必须(MUST)存储哈希函数的输出以小头格式,这在输出比特流折叠为64比特(bits)之前发生。这个在MD4和MD5执行中被做(参见参考[2]和[6]),然而对于SHA1(参见参考[7])的执行必须明确被做。

任何未来应用到OTP协议的哈希函数应该(SHOULD)提供答应独立应用操作成功的相似的代码参考片断。

MD4消息文摘(参见参考[2])

MD4_CTXmd;

unsignedcharresult[16];

strcpy(buf,seed);/*seedmustbeinlowercase*/

strcat(buf,passwd);

MD4Init(&md);

MD4Update(&md,(unsignedchar*)buf,strlen(buf));

MD4Final(result,&md);

/*Foldthe128bitresultto64bits*/

for(i=0;i<8;i++)

result[i]^=result[i+8];

MD5消息文摘(参见参考[6])

MD5_CTXmd;

unsignedcharresult[16];

strcpy(buf,seed);/*seedmustbeinlowercase*/

strcat(buf,passwd);

MD5Init(&md);

MD5Update(&md,(unsignedchar*)buf,strlen(buf));

MD5Final(result,&md);

/*Foldthe128bitresultto64bits*/

for(i=0;i<8;i++)

result[i]^=result[i+8];

SHA安全哈希算法(参见参考[7])

SHA_INFOsha;

unsignedcharresult[16];

strcpy(buf,seed);/*seedmustbeinlowercase*/

strcat(buf,passwd);

sha_init(&sha);

sha_update(&sha,(unsignedchar*)buf,strlen(buf));

sha_final(&sha);/*NOTE:noresultbuffer*/

/*Foldthe160bitresultto64bits*/

sha.digest[0]^=sha.digest[2];

sha.digest[1]^=sha.digest[3];

sha.digest[0]^=sha.digest[4];

/*

*copytheresulting64bitstotheresultbufferinlittleendian

*fashion(analogoustothewayMD4Final()andMD5Final()do).

*/

for(i=0,j=0;j<8;i++,j+=4)

{

result[j]=(unsignedchar)(sha.digest[i]&0xff);

result[j+1]=(unsignedchar)((sha.digest[i]>>8)&0xff);

result[j+2]=(unsignedchar)((sha.digest[i]>>16)&0xff);

result[j+3]=(unsignedchar)((sha.digest[i]>>24)&0xff);

}

附录B-可替换字典算法

OTP一次口令可替换字典编码的目的是答应特指语言或者友好词句的使用。大小写转换总没有很好的定义,所以可替换字典编码是大小写敏感的。服务应该(SHOULD)接受除了标准六词和十六进制编码以外的这种编码。

使用可替换字典的编码生成程序

标准六词编码使用在字典中词的布局表示11-bit数字的编码。那么64-bit一次口令能够通过六个词表示。

一个2048词的可替换字典可以这样创造,每个词W和词在字典中的位置顺序N的关系如下:

alg(W)%2048==N

其中

alg是使用的哈希算法(例如MD4,MD5,SHA1)。

此外,在标准字典中没有词可以被选择。

产生器通过计算标准六词编码的奇偶校验扩展64-bit一次口令到66bits。六个11-bit数字然后通过使用例如上面关系创造的字典转换为词。

可替换字典一次口令的服务解码

使用上面的编码服务接受可替换字典编码转换每一个词到11-bit数字。这些数字然后使用同样的方式解码标准字典词来形成66-bit一次口令。

服务不需要已经存取了其要被验证的一次口令创建使用的可替换字典。这是因为从词到11-bit数字的解码不必使用任何字典。作为字典独立的结果,服务可以接受一个可替换字典,就可以接受所有的可替换字典。

附录C-OTP认证例子

这个附录提供了三个定义的OTP密码哈希算法一系列的输入和正确的输出——MD4、MD5和SHA1。这篇文档目的是当创建产生器和服务时为了开发者互操作检查使用。输出在文档附录D中以十六进制计数法和六词编码提供。

普通检查

注重给定这些检查的输出不是为了逐字地去做,但是动作类型的描述应该给出。

PassPhraseLength(通行短语长度)

Input:(输入)

PassPhrase:Too_short(通行短语)

Seed:iamvalid(种子)

Count:99(计数)

Hash:ANY(哈希算法)

Output:(输出)

ERROR:PassPhrasetooshort(通行短语太短)

Input:

PassPhrase:

1234567890123456789012345678901234567890123456789012345678901234

Seed:iamvalid

Count:99

Hash:ANY

Output:

WARNING:PassPhraselongerthantherecommendedmaximumlengthof63(通行短语的长度大于推荐的最长长度63)

SeedValues(种子值)

Input:

PassPhrase:A_Valid_Pass_Phrase

Seed:Length_Okay

Count:99

Hash:ANY

Output:

ERROR:Seedmustbepurelyalphanumeric(种子必须完全是字母数字)

Input:

PassPhrase:A_Valid_Pass_Phrase

Seed:LengthOfSeventeen

Count:99

Hash:ANY

Output:

ERROR:Seedmustbebetween1and16charactersinlength(种子必须在1到16个字母长度之间)

Input:

PassPhrase:A_Valid_Pass_Phrase

Seed:ASeed

Count:99

Hash:ANY

Output:

ERROR:Seedmustnotcontainanyspaces(种子必须不能包括任何空格)

ParityCalculations(奇偶校验计算)

Input:

PassPhrase:A_Valid_Pass_Phrase

Seed:AValidSeed

Count:99

Hash:MD5

Output:

Hex:85c43ee03857765b

SixWord(CORRECT):FOWLKIDMASHDEADDUALOAF

SixWord(INCORRECTPARITY):FOWLKIDMASHDEADDUALNUT

SixWord(INCORRECTPARITY):FOWLKIDMASHDEADDUALO

SixWord(INCORRECTPARITY):FOWLKIDMASHDEADDUALOAK

MD4ENCODINGS(MD4编码)

PassPhraseSeedCntHexSixWordFormat

========================================================================

Thisisatest.TeSt0D1854218EBBB0B51

ROMEMUGFREDSCANLIVELACE

Thisisatest.TeSt163473EF01CD0B444

CARDSADMINIRYECOLKIN

Thisisatest.TeSt99C5E612776E6C237A

NOTEOUTIBISSINKNAVEMODE

AbCdEfGhIjKalpha1050076F47EB1ADE4E

AWAYSENROOKSALTLICEMAP

AbCdEfGhIjKalpha1165D20D1949B5F7AB

CHEWGRIMWUHANGBUCKSAID

AbCdEfGhIjKalpha199D150C82CCE6F62D1

ROILFREECOGHUNKWAITCOCA

OTP'saregoodcorrect0849C79D4F6F55388

FOOLSTEMDONETOOLBECKNILE

OTP'saregoodcorrect18C0992FB250847B1

GISTAMOSMOOTAIDSFOODSEEM

OTP'saregoodcorrect993F3BF4B4145FD74B

TAGSLOWNOVMINWOOLKENO

MD5ENCODINGS(MD5编码)

PassPhraseSeedCntHexSixWordFormat

========================================================================

Thisisatest.TeSt09E876134D90499DD

INCHSEAANNELONGAHEMTOUR

Thisisatest.TeSt17965E05436F5029F

EASEOILFUMCUREAWRYAVIS

Thisisatest.TeSt9950FE1962C4965880

BAILTUFTBITSGANGCHEFTHY

AbCdEfGhIjKalpha1087066DD9644BF206

FULLPEWDOWNONCEMORTARC

AbCdEfGhIjKalpha117CD34C1040ADD14B

FACTHOOFATFISTSITEKENT

AbCdEfGhIjKalpha1995AA37A81F212146C

BODEHOPJAKESTOWJUTRAP

OTP'saregoodcorrect0F205753943DE4CF9

ULANNEWARMYFUSESUITEYED

OTP'saregoodcorrect1DDCDAC956F234937

SKIMCULTLOBSLAMPOEHOWL

OTP'saregoodcorrect99B203E28FA525BE47

LONGIVYJULYAJARBONDLEE

SHA1ENCODINGS(SHA1编码)

PassPhraseSeedCntHexSixWordFormat

========================================================================

Thisisatest.TeSt0BB9E6AE1979D8FF4

MILTVARYMASTOKSEESWENT

Thisisatest.TeSt163D936639734385B

CARTOTTOHIVEODEVATNUT

Thisisatest.TeSt9987FEC7768B73CCF9

GAFFWAITSKIDGIGSKYEYED

AbCdEfGhIjKalpha10AD85F658EBE383C9

LESTORHEELSCOTROBSUIT

AbCdEfGhIjKalpha11D07CE229B5CF119B

RITETAKEGELDCOSTTUNERECK

AbCdEfGhIjKalpha19927BC71035AAF3DC6

MAYSTARTINLYONVEDASTAN

OTP'saregoodcorrect0D51F3E99BF8E6F0B

RUSTWELTKICKFELLTAILFRAU

OTP'saregoodcorrect182AEB52D943774E4

FLITDOSEALSOMEWDRUMDEFY

OTP'saregoodcorrect994F296A74FE1567EC

AURAALOEHURLWINGBERGWAIT

附录D-六词和二进制格式之间转换的字典

这个字典来自于原始Bellcore(贝尔通讯研究所)参考发行的模块put.c(文件)。

{"A","ABE","ACE","ACT","AD","ADA","ADD",

"AGO","AID","AIM","AIR","ALL","ALP","AM","AMY",

"AN","ANA","AND","ANN","ANT","ANY","APE","APS",

"APT","ARC","ARE","ARK","ARM","ART","AS","ASH",

"ASK","AT","ATE","AUG","AUK","AVE","AWE","AWK",

"AWL","AWN","AX","AYE","BAD","BAG","BAH","BAM",

"BAN","BAR","BAT","BAY","BE","BED","BEE","BEG",

"BEN","BET","BEY","BIB","BID","BIG","BIN","BIT",

"BOB","BOG","BON","BOO","BOP","BOW","BOY","BUB",

"BUD","BUG","BUM","BUN","BUS","BUT","BUY","BY",

"BYE","CAB","CAL","CAM","CAN","CAP","CAR","CAT",

"CAW","COD","COG","COL","CON","COO","COP","COT",

"COW","COY","CRY","CUB","CUE","CUP","CUR","CUT",

"DAB","DAD","DAM","DAN","DAR","DAY","DEE","DEL",

"DEN","DES","DEW","DID","DIE","DIG","DIN","DIP",

"DO","DOE","DOG","DON","DOT","DOW","DRY","DUB",

"DUD","DUE","DUG","DUN","EAR","EAT","ED","EEL",

"EGG","EGO","ELI","ELK","ELM","ELY","EM","END",

"EST","ETC","EVA","EVE","EWE","EYE","FAD","FAN",

"FAR","FAT","FAY","FED","FEE","FEW","FIB","FIG",

"FIN","FIR","FIT","FLO","FLY","FOE","FOG","FOR",

"FRY","FUM","FUN","FUR","GAB","GAD","GAG","GAL",

"GAM","GAP","GAS","GAY","GEE","GEL","GEM","GET",

"GIG","GIL","GIN","GO","GOT","GUM","GUN","GUS",

"GUT","GUY","GYM","GYP","HA","HAD","HAL","HAM",

"HAN","HAP","HAS","HAT","HAW","HAY","HE","HEM",

"HEN","HER","HEW","HEY","HI","HID","HIM","HIP",

"HIS","HIT","HO","HOB","HOC","HOE","HOG","HOP",

"HOT","HOW","HUB","HUE","HUG","HUH","HUM","HUT",

"I","ICY","IDA","IF","IKE","ILL","INK","INN",

"IO","ION","IQ","IRA","IRE","IRK","IS","IT",

"ITS","IVY","JAB","JAG","JAM","JAN","JAR","JAW",

"JAY","JET","JIG","JIM","JO","JOB","JOE","JOG",

"JOT","JOY","JUG","JUT","KAY","KEG","KEN","KEY",

"KID","KIM","KIN","KIT","LA","LAB","LAC","LAD",

"LAG","LAM","LAP","LAW","LAY","LEA","LED","LEE",

"LEG","LEN","LEO","LET","LEW","LID","LIE","LIN",

"LIP","LIT","LO","LOB","LOG","LOP","LOS","LOT",

"LOU","LOW","LOY","LUG","LYE","MA","MAC","MAD",

"MAE","MAN","MAO","MAP","MAT","MAW","MAY","ME",

"MEG","MEL","MEN","MET","MEW","MID","MIN","MIT",

"MOB","MOD","MOE","MOO","MOP","MOS","MOT","MOW",

"MUD","MUG","MUM","MY","NAB","NAG","NAN","NAP",

"NAT","NAY","NE","NED","NEE","NET","NEW","NIB",

"NIL","NIP","NIT","NO","NOB","NOD","NON","NOR",

"NOT","NOV","NOW","NU","NUN","NUT","O","OAF",

"OAK","OAR","OAT","ODD","ODE","OF","OFF","OFT",

"OH","OIL","OK","OLD","ON","ONE","OR","ORB",

"ORE","ORR","OS","OTT","OUR","OUT","OVA","OW",

"OWE","OWL","OWN","OX","PA","PAD","PAL","PAM",

"PAN","PAP","PAR","PAT","PAW","PAY","PEA","PEG",

"PEN","PEP","PER","PET","PEW","PHI","PI","PIE",

"PIN","PIT","PLY","PO","POD","POE","POP","POT",

"POW","PRO","PRY","PUB","PUG","PUN","PUP","PUT",

"QUO","RAG","RAM","RAN","RAP","RAT","RAW","RAY",

"REB","RED","REP","RET","RIB","RID","RIG","RIM",

"RIO","RIP","ROB","ROD","ROE","RON","ROT","ROW",

"ROY","RUB","RUE","RUG","RUM","RUN","RYE","SAC",

"SAD","SAG","SAL","SAM","SAN","SAP","SAT","SAW",

"SAY","SEA","SEC","SEE","SEN","SET","SEW","SHE",

"SHY","SIN","SIP","SIR","SIS","SIT","SKI","SKY",

"SLY","SO","SOB","SOD","SON","SOP","SOW","SOY",

"SPA","SPY","SUB","SUD","SUE","SUM","SUN","SUP",

"TAB","TAD","TAG","TAN","TAP","TAR","TEA","TED",

"TEE","TEN","THE","THY","TIC","TIE","TIM","TIN",

"TIP","TO","TOE","TOG","TOM","TON","TOO","TOP",

"TOW","TOY","TRY","TUB","TUG","TUM","TUN","TWO",

"UN","UP","US","USE","VAN","VAT","VET","VIE",

"WAD","WAG","WAR","WAS","WAY","WE","WEB","WED",

"WEE","WET","WHO","WHY","WIN","WIT","WOK","WON",

"WOO","WOW","WRY","WU","YAM","YAP","YAW","YE",

"YEA","YES","YET","YOU","ABED","ABEL","ABET","ABLE",

"ABUT","ACHE","ACID","ACME","ACRE","ACTA","ACTS","ADAM",

"ADDS","ADEN","AFAR","AFRO","AGEE","AHEM","AHOY","AIDA",

"AIDE","AIDS","AIRY","AJAR","AKIN","ALAN","ALEC","ALGA",

"ALIA","ALLY","ALMA","ALOE","ALSO","ALTO","ALUM","ALVA",

"AMEN","AMES","AMID","AMMO","AMOK","AMOS","AMRA","ANDY",

"ANEW","ANNA","ANNE","ANTE","ANTI","AQUA","ARAB","ARCH",

"AREA","ARGO","ARID","ARMY","ARTS","ARTY","ASIA","ASKS",

"ATOM","AUNT","AURA","AUTO","AVER","AVID","AVIS","AVON",

"AVOW","AWAY","AWRY","BABE","BABY","BACH","BACK","BADE",

"BAIL","BAIT","BAKE","BALD","BALE","BALI","BALK","BALL",

"BALM","BAND","BANE","BANG","BANK","BARB","BARD","BARE",

"BARK","BARN","BARR","BASE","BASH","BASK","BASS","BATE",

"BATH","BAWD","BAWL","BEAD","BEAK","BEAM","BEAN","BEAR",

"BEAT","BEAU","BECK","BEEF","BEEN","BEER","BEET","BELA",

"BELL","BELT","BEND","BENT","BERG","BERN","BERT","BESS",

"BEST","BETA","BETH","BHOY","BIAS","BIDE","BIEN","BILE",

"BILK","BILL","BIND","BING","BIRD","BITE","BITS","BLAB",

"BLAT","BLED","BLEW","BLOB","BLOC","BLOT","BLOW","BLUE",

"BLUM","BLUR","BOAR","BOAT","BOCA","BOCK","BODE","BODY",

"BOGY","BOHR","BOIL","BOLD","BOLO","BOLT","BOMB","BONA",

"BOND","BONE","BONG","BONN","BONY","BOOK","BOOM","BOON",

"BOOT","BORE","BORG","BORN","BOSE","BOSS","BOTH","BOUT",

"BOWL","BOYD","BRAD","BRAE","BRAG","BRAN","BRAY","BRED",

"BREW","BRIG","BRIM","BROW","BUCK","BUDD","BUFF","BULB",

"BULK","BULL","BUNK","BUNT","BUOY","BURG","BURL","BURN",

"BURR","BURT","BURY","BUSH","BUSS","BUST","BUSY","BYTE",

"CADY","CAFE","CAGE","CAIN","CAKE","CALF","CALL","CALM",

"CAME","CANE","CANT","CARD","CARE","CARL","CARR","CART",

"CASE","CASH","CASK","CAST","CAVE","CEIL","CELL","CENT",

"CERN","CHAD","CHAR","CHAT","CHAW","CHEF","CHEN","CHEW",

"CHIC","CHIN","CHOU","CHOW","CHUB","CHUG","CHUM","CITE",

"CITY","CLAD","CLAM","CLAN","CLAW","CLAY","CLOD","CLOG",

"CLOT","CLUB","CLUE","COAL","COAT","COCA","COCK","COCO",

"CODA","CODE","CODY","COED","COIL","COIN","COKE","COLA",

"COLD","COLT","COMA","COMB","COME","COOK","COOL","COON",

"COOT","CORD","CORE","CORK","CORN","COST","COVE","COWL",

"CRAB","CRAG","CRAM","CRAY","CREW","CRIB","CROW","CRUD",

"CUBA","CUBE","CUFF","CULL","CULT","CUNY","CURB","CURD",

"CURE","CURL","CURT","CUTS","DADE","DALE","DAME","DANA",

"DANE","DANG","DANK","DARE","DARK","DARN","DART","DASH",

"DATA","DATE","DAVE","DAVY","DAWN","DAYS","DEAD","DEAF",

"DEAL","DEAN","DEAR","DEBT","DECK","DEED","DEEM","DEER",

"DEFT","DEFY","DELL","DENT","DENY","DESK","DIAL","DICE",

"DIED","DIET","DIME","DINE","DING","DINT","DIRE","DIRT",

"DISC","DISH","DISK","DIVE","DOCK","DOES","DOLE","DOLL",

"DOLT","DOME","DONE","DOOM","DOOR","DORA","DOSE","DOTE",

"DOUG","DOUR","DOVE","DOWN","DRAB","DRAG","DRAM","DRAW",

"DREW","DRUB","DRUG","DRUM","DUAL","DUCK","DUCT","DUEL",

"DUET","DUKE","DULL","DUMB","DUNE","DUNK","DUSK","DUST",

"DUTY","EACH","EARL","EARN","EASE","EAST","EASY","EBEN",

"ECHO","EDDY","EDEN","EDGE","EDGY","EDIT","EDNA","EGAN",

"ELAN","ELBA","ELLA","ELSE","EMIL","EMIT","EMMA","ENDS",

"ERIC","EROS","EVEN","EVER","EVIL","EYED","FACE","FACT",

"FADE","FAIL","FAIN","FAIR","FAKE","FALL","FAME","FANG",

"FARM","FAST","FATE","FAWN","FEAR","FEAT","FEED","FEEL",

"FEET","FELL","FELT","FEND","FERN","FEST","FEUD","FIEF",

"FIGS","FILE","FILL","FILM","FIND","FINE","FINK","FIRE",

"FIRM","FISH","FISK","FIST","FITS","FIVE","FLAG","FLAK",

"FLAM","FLAT","FLAW","FLEA","FLED","FLEW","FLIT","FLOC",

"FLOG","FLOW","FLUB","FLUE","FOAL","FOAM","FOGY","FOIL",

"FOLD","FOLK","FOND","FONT","FOOD","FOOL","FOOT","FORD",

"FORE","FORK","FORM","FORT","FOSS","FOUL","FOUR","FOWL",

"FRAU","FRAY","FRED","FREE","FRET","FREY","FROG","FROM",

"FUEL","FULL","FUME","FUND","FUNK","FURY","FUSE","FUSS",

"GAFF","GAGE","GAIL","GAIN","GAIT","GALA","GALE","GALL",

"GALT","GAME","GANG","GARB","GARY","GASH","GATE","GAUL",

"GAUR","GAVE","GAWK","GEAR","GELD","GENE","GENT","GERM",

"GETS","GIBE","GIFT","GILD","GILL","GILT","GINA","GIRD",

"GIRL","GIST","GIVE","GLAD","GLEE","GLEN","GLIB","GLOB",

"GLOM","GLOW","GLUE","GLUM","GLUT","GOAD","GOAL","GOAT",

"GOER","GOES","GOLD","GOLF","GONE","GONG","GOOD","GOOF",

"GORE","GORY","GOSH","GOUT","GOWN","GRAB","GRAD","GRAY",

"GREG","GREW","GREY","GRID","GRIM","GRIN","GRIT","GROW",

"GRUB","GULF","GULL","GUNK","GURU","GUSH","GUST","GWEN",

"GWYN","HAAG","HAAS","HACK","HAIL","HAIR","HALE","HALF",

"HALL","HALO","HALT","HAND","HANG","HANK","HANS","HARD",

"HARK","HARM","HART","HASH","HAST","HATE","HATH","HAUL",

"HAVE","HAWK","HAYS","HEAD","HEAL","HEAR","HEAT","HEBE",

"HECK","HEED","HEEL","HEFT","HELD","HELL","HELM","HERB",

"HERD","HERE","HERO","HERS","HESS","HEWN","HICK","HIDE",

"HIGH","HIKE","HILL","HILT","HIND","HINT","HIRE","HISS",

"HIVE","HOBO","HOCK","HOFF","HOLD","HOLE","HOLM","HOLT",

"HOME","HONE","HONK","HOOD","HOOF","HOOK","HOOT","HORN",

"HOSE","HOST","HOUR","HOVE","HOWE","HOWL","HOYT","HUCK",

"HUED","HUFF","HUGE","HUGH","HUGO","HULK","HULL","HUNK",

"HUNT","HURD","HURL","HURT","HUSH","HYDE","HYMN","IBIS",

"ICON","IDEA","IDLE","IFFY","INCA","INCH","INTO","IONS",

"IOTA","IOWA","IRIS","IRMA","IRON","ISLE","ITCH","ITEM",

"IVAN","JACK","JADE","JAIL","JAKE","JANE","Java","JEAN",

"JEFF","JERK","JESS","JEST","JIBE","JILL","JILT","JIVE",

"JOAN","JOBS","JOCK","JOEL","JOEY","JOHN","JOIN","JOKE",

"JOLT","JOVE","JUDD","JUDE","JUDO","JUDY","JUJU","JUKE",

"JULY","JUNE","JUNK","JUNO","JURY","JUST","JUTE","KAHN",

"KALE","KANE","KANT","KARL","KATE","KEEL","KEEN","KENO",

"KENT","KERN","KERR","KEYS","KICK","KILL","KIND","KING",

"KIRK","KISS","KITE","KLAN","KNEE","KNEW","KNIT","KNOB",

"KNOT","KNOW","KOCH","KONG","KUDO","KURD","KURT","KYLE",

"LACE","LACK","LACY","LADY","LAID","LAIN","LAIR","LAKE",

"LAMB","LAME","LAND","LANE","LANG","LARD","LARK","LASS",

"LAST","LATE","LAUD","LAVA","LAWN","LAWS","LAYS","LEAD",

"LEAF","LEAK","LEAN","LEAR","LEEK","LEER","LEFT","LEND",

"LENS","LENT","LEON","LESK","LESS","LEST","LETS","LIAR",

"LICE","LICK","LIED","LIEN","LIES","LIEU","LIFE","LIFT",

"LIKE","LILA","LILT","LILY","LIMA","LIMB","LIME","LIND",

"LINE","LINK","LINT","LION","LISA","LIST","LIVE","LOAD",

"LOAF","LOAM","LOAN","LOCK","LOFT","LOGE","LOIS","LOLA",

"LONE","LONG","LOOK","LOON","LOOT","LORD","LORE","LOSE",

"LOSS","LOST","LOUD","LOVE","LOWE","LUCK","LUCY","LUGE",

"LUKE","LULU","LUND","LUNG","LURA","LURE","LURK","LUSH",

"LUST","LYLE","LYNN","LYON","LYRA","MACE","MADE","MAGI",

"MAID","MAIL","MAIN","MAKE","MALE","MALI","MALL","MALT",

"MANA","MANN","MANY","MARC","MARE","MARK","MARS","MART",

"MARY","MASH","MASK","MASS","MAST","MATE","MATH","MAUL",

"MAYO","MEAD","MEAL","MEAN","MEAT","MEEK","MEET","MELD",

"MELT","MEMO","MEND","MENU","MERT","MESH","MESS","MICE",

"MIKE","MILD","MILE","MILK","MILL","MILT","MIMI","MIND",

"MINE","MINI","MINK","MINT","MIRE","MISS","MIST","MITE",

"MITT","MOAN","MOAT","MOCK","MODE","MOLD","MOLE","MOLL",

"MOLT","MONA","MONK","MONT","MOOD","MOON","MOOR","MOOT",

"MORE","MORN","MORT","MOSS","MOST","MOTH","MOVE","MUCH",

"MUCK","MUDD","MUFF","MULE","MULL","MURK","MUSH","MUST",

"MUTE","MUTT","MYRA","MYTH","NAGY","NAIL","NAIR","NAME",

"NARY","NASH","NAVE","NAVY","NEAL","NEAR","NEAT","NECK",

"NEED","NEIL","NELL","NEON","Nero","NESS","NEST","NEWS",

"NEWT","NIBS","NICE","NICK","NILE","NINA","NINE","NOAH",

"NODE","NOEL","NOLL","NONE","NOOK","NOON","NORM","NOSE",

"NOTE","NOUN","NOVA","NUDE","NULL","NUMB","OATH","OBEY",

"OBOE","ODIN","OHIO","OILY","OINT","OKAY","OLAF","OLDY",

"OLGA","OLIN","OMAN","OMEN","OMIT","ONCE","ONES","ONLY",

"ONTO","ONUS","ORAL","ORGY","OSLO","OTIS","OTTO","OUCH",

"OUST","OUTS","OVAL","OVEN","OVER","OWLY","OWNS","QUAD",

"QUIT","QUOD","RACE","RACK","RACY","RAFT","RAGE","RAID",

"RAIL","RAIN","RAKE","RANK","RANT","RARE","RASH","RATE",

"RAVE","RAYS","READ","REAL","REAM","REAR","RECK","REED",

"REEF","REEK","REEL","REID","REIN","RENA","REND","RENT",

"REST","RICE","RICH","RICK","RIDE","RIFT","RILL","RIME",

"RING","RINK","RISE","RISK","RITE","ROAD","ROAM","ROAR",

"ROBE","ROCK","RODE","ROIL","ROLL","ROME","ROOD","ROOF",

"ROOK","ROOM","ROOT","ROSA","ROSE","ROSS","ROSY","ROTH",

"ROUT","ROVE","ROWE","ROWS","RUBE","RUBY","RUDE","RUDY",

"RUIN","RULE","RUNG","RUNS","RUNT","RUSE","RUSH","RUSK",

"RUSS","RUST","RUTH","SACK","SAFE","SAGE","SAID","SAIL",

"SALE","SALK","SALT","SAME","SAND","SANE","SANG","SANK",

"SARA","SAUL","SAVE","SAYS","SCAN","SCAR","SCAT","SCOT",

"SEAL","SEAM","SEAR","SEAT","SEED","SEEK","SEEM","SEEN",

"SEES","SELF","SELL","SEND","SENT","SETS","SEWN","SHAG",

"SHAM","SHAW","SHAY","SHED","SHIM","SHIN","SHOD","SHOE",

"SHOT","SHOW","SHUN","SHUT","SICK","SIDE","SIFT","SIGH",

"SIGN","SILK","SILL","SILO","SILT","SINE","SING","SINK",

"SIRE","SITE","SITS","SITU","SKAT","SKEW","SKID","SKIM",

"SKIN","SKIT","SLAB","SLAM","SLAT","SLAY","SLED","SLEW",

"SLID","SLIM","SLIT","SLOB","SLOG","SLOT","SLOW","SLUG",

"SLUM","SLUR","SMOG","SMUG","SNAG","SNOB","SNOW","SNUB",

"SNUG","SOAK","SOAR","SOCK","SODA","SOFA","SOFT","SOIL",

"SOLD","SOME","SONG","SOON","SOOT","SORE","SORT","SOUL",

"SOUR","SOWN","STAB","STAG","STAN","STAR","STAY","STEM",

"STEW","STIR","STOW","STUB","STUN","SUCH","SUDS","SUIT",

"SULK","SUMS","SUNG","SUNK","SURE","SURF","SWAB","SWAG",

"SWAM","SWAN","SWAT","SWAY","SWIM","SWUM","TACK","TACT",

"TAIL","TAKE","TALE","TALK","TALL","TANK","TASK","TATE",

"TAUT","TEAL","TEAM","TEAR","TECH","TEEM","TEEN","TEET",

"TELL","TEND","TENT","TERM","TERN","TESS","TEST","THAN",

"THAT","THEE","THEM","THEN","THEY","THIN","THIS","THUD",

"THUG","TICK","TIDE","TIDY","TIED","TIER","TILE","TILL",

"TILT","TIME","TINA","TINE","TINT","TINY","TIRE","TOAD",

"TOGO","TOIL","TOLD","TOLL","TONE","TONG","TONY","TOOK",

"TOOL","TOOT","TORE","TORN","TOTE","TOUR","TOUT","TOWN",

"TRAG","TRAM","TRAY","TREE","TREK","TRIG","TRIM","TRIO",

"TROD","TROT","TROY","TRUE","TUBA","TUBE","TUCK","TUFT",

"TUNA","TUNE","TUNG","TURF","TURN","TUSK","TWIG","TWIN",

"TWIT","ULAN","UNIT","URGE","USED","USER","USES","UTAH",

"VAIL","VAIN","VALE","VARY","VASE","VAST","VEAL","VEDA",

"VEIL","VEIN","VEND","VENT","VERB","VERY","VETO","VICE",

"VIEW","VINE","VISE","VOID","VOLT","VOTE","WACK","WADE",

"WAGE","WAIL","WAIT","WAKE","WALE","WALK","WALL","WALT",

"WAND","WANE","WANG","WANT","WARD","WARM","WARN","WART",

"WASH","WAST","WATS","WATT","WAVE","WAVY","WAYS","WEAK",

"WEAL","WEAN","WEAR","WEED","WEEK","WEIR","WELD","WELL",

"WELT","WENT","WERE","WERT","WEST","WHAM","WHAT","WHEE",

"WHEN","WHET","WHOA","WHOM","WICK","WIFE","WILD","WILL",

"WIND","WINE","WING","WINK","WINO","WIRE","WISE","WISH",

"WITH","WOLF","WONT","WOOD","WOOL","WORD","WORE","WORK",

"WORM","WORN","WOVE","WRIT","WYNN","YALE","YANG","YANK",

"YARD","YARN","YAWL","YAWN","YEAH","YEAR","YELL","YOGA",

"YOKE"};

完整版权声明

版权(C)因特网协会(1998)。版权所有。

这个文档和它的翻译可以拷贝和分配给其他人,以及有关评论或者别样的解释或者其应用的帮助等派生工作可以被预备、拷贝、发表和发布,其整体或者部分没有受到任何限制,提供上述版权通知以及本段落应被包含在所有这样的拷贝和派生工作中。然而,这个文档本身不可以以任何方式修改,例如移走版权通知或者Internet协会或其他Internet组织的参考,除非为了发展Internet标准(其版权程序定义在InternetStandards进程如下),或者需要翻译成除英语以外的其他语言。

上述限制答应授权是持久的并且将不被Internet协会或者它的继续人隐藏或者转让。

译者注:对于本文档的完整版权声明原文如下:

FullCopyrightStatement

Copyright(C)TheInternetSociety(1998).AllRightsReserved.

Thisdocumentandtranslationsofitmaybecopiedandfurnishedto

others,andderivativeworksthatcommentonorotherwiseeXPlainit

orassistinitsimplementationmaybeprepared,copied,published

anddistributed,inwholeorinpart,withoutrestrictionofany

kind,providedthattheabovecopyrightnoticeandthisparagraphare

includedonallsuchcopiesandderivativeworks.However,this

documentitselfmaynotbemodifiedinanyway,suchasbyremoving

thecopyrightnoticeorreferencestotheInternetSocietyorother

Internetorganizations,exceptasneededforthepurposeof

developingInternetstandardsinwhichcasetheproceduresfor

copyrightsdefinedintheInternetStandardsprocessmustbe

followed,orasrequiredtotranslateitintolanguagesotherthan

English.

Thelimitedpermissionsgrantedaboveareperpetualandwillnotbe

revokedbytheInternetSocietyoritssuccessorsorassigns.

Thisdocumentandtheinformationcontainedhereinisprovidedonan

"ASIS"basisandTHEINTERNETSOCIETYANDTHEINTERNETENGINEERING

TASKFORCEDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,INCLUDING

BUTNOTLIMITEDTOANYWARRANTYTHATTHEUSEOFTHEINFORMATION

HEREINWILLNOTINFRINGEANYRIGHTSORANYIMPLIEDWARRANTIESOF

MERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有