Network Working Group N. Haller Request for Comments: 2289 Bellcore Obsoletes: 1938 C. Metz Category: Standards Track Kaman Sciences Corporation P. Nesser Nesser & Nesser Consulting M. Straw Bellcore February 1998
Network Working Group N. Haller Request for Comments: 2289 Bellcore Obsoletes: 1938 C. Metz Category: Standards Track Kaman Sciences Corporation P. Nesser Nesser & Nesser Consulting M. Straw Bellcore February 1998
A One-Time Password System
一次性口令系统
Status of this Memo
本备忘录的状况
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。
Copyright Notice
版权公告
Copyright (C) The Internet Society (1998). All Rights Reserved.
版权所有(C)互联网协会(1998年)。版权所有。
This document describes a one-time password authentication system (OTP). The system provides authentication for system access (login) and other applications requiring authentication that is secure against passive attacks based on replaying captured reusable passwords. OTP evolved from the S/KEY (S/KEY is a trademark of Bellcore) One-Time Password System that was released by Bellcore and is described in references [3] and [5].
本文档描述了一次性密码认证系统(OTP)。系统为系统访问(登录)和其他需要身份验证的应用程序提供身份验证,该身份验证可防止基于重放捕获的可重用密码的被动攻击。OTP由Bellcore发布的S/KEY(S/KEY是Bellcore的商标)一次性密码系统演变而来,参考文献[3]和[5]对此进行了描述。
One form of attack on networked computing systems is eavesdropping on network connections to obtain authentication information such as the login IDs and passwords of legitimate users. Once this information is captured, it can be used at a later time to gain access to the system. One-time password systems are designed to counter this type of attack, called a "replay attack" [4].
对网络计算系统的一种攻击形式是窃听网络连接以获取身份验证信息,如合法用户的登录ID和密码。一旦捕获到该信息,就可以在以后使用它来访问系统。一次性密码系统旨在对抗这种类型的攻击,称为“重放攻击”[4]。
The authentication system described in this document uses a secret pass-phrase to generate a sequence of one-time (single use) passwords. With this system, the user's secret pass-phrase never needs to cross the network at any time such as during authentication
本文档中描述的身份验证系统使用密码短语生成一次性(一次性)密码序列。有了这个系统,用户的密码短语在任何时候都不需要穿越网络,比如在身份验证期间
or during pass-phrase changes. Thus, it is not vulnerable to replay attacks. Added security is provided by the property that no secret information need be stored on any system, including the server being protected.
或在通行证短语更改期间。因此,它不易受到重播攻击。该属性提供了额外的安全性,即不需要在任何系统(包括受保护的服务器)上存储任何机密信息。
The OTP system protects against external passive attacks against the authentication subsystem. It does not prevent a network eavesdropper from gaining access to private information and does not provide protection against either "social engineering" or active attacks [9].
OTP系统可防止针对认证子系统的外部被动攻击。它不阻止网络窃听者访问私人信息,也不提供针对“社会工程”或主动攻击的保护[9]。
There are two entities in the operation of the OTP one-time password system. The generator must produce the appropriate one-time password from the user's secret pass-phrase and from information provided in the challenge from the server. The server must send a challenge that includes the appropriate generation parameters to the generator, must verify the one-time password received, must store the last valid one-time password it received, and must store the corresponding one-time password sequence number. The server must also facilitate the changing of the user's secret pass-phrase in a secure manner.
OTP一次性密码系统的操作有两个实体。生成器必须根据用户的密码短语和服务器质询中提供的信息生成适当的一次性密码。服务器必须向生成器发送包含适当生成参数的质询,必须验证收到的一次性密码,必须存储收到的最后一个有效一次性密码,并且必须存储相应的一次性密码序列号。服务器还必须以安全的方式方便更改用户的密码短语。
The OTP system generator passes the user's secret pass-phrase, along with a seed received from the server as part of the challenge, through multiple iterations of a secure hash function to produce a one-time password. After each successful authentication, the number of secure hash function iterations is reduced by one. Thus, a unique sequence of passwords is generated. The server verifies the one-time password received from the generator by computing the secure hash function once and comparing the result with the previously accepted one-time password. This technique was first suggested by Leslie Lamport [1].
OTP系统生成器通过安全哈希函数的多次迭代传递用户的密码短语,以及作为质询的一部分从服务器接收的种子,以生成一次性密码。在每次成功的身份验证之后,安全哈希函数的迭代次数将减少一次。因此,将生成唯一的密码序列。服务器通过计算一次安全哈希函数并将结果与以前接受的一次性密码进行比较,来验证从生成器接收的一次性密码。这项技术最早由Leslie Lamport提出[1]。
In this document, the words that are used to define the significance of each particular requirement are usually capitalized. These words are:
在本文件中,用于定义每个特定要求重要性的词语通常大写。这些词是:
- MUST
- 必须
This word or the adjective "REQUIRED" means that the item is an absolute requirement of the specification.
该词或形容词“REQUIRED”表示该项目是本规范的绝对要求。
- SHOULD
- 应该
This word or the adjective "RECOMMENDED" means that there might exist valid reasons in particular circumstances to ignore this item, but the full implications should be understood and the case carefully weighed before taking a different course.
这个词或形容词“推荐”意味着在特定情况下可能存在忽略该项目的正当理由,但在采取不同的课程之前,应理解其全部含义并仔细权衡案例。
- MAY
- 也许
This word or the adjective "OPTIONAL" means that this item is truly optional. One vendor might choose to include the item because a particular marketplace requires it or because it enhances the product, for example; another vendor may omit the same item.
这个词或形容词“可选”意味着这个项目是真正可选的。一个供应商可能会选择包含该项目,因为特定的市场需要它,或者因为它增强了产品,例如;另一个供应商可以省略相同的项目。
The security of the OTP system is based on the non-invertability of a secure hash function. Such a function must be tractable to compute in the forward direction, but computationally infeasible to invert.
OTP系统的安全性基于安全哈希函数的不可逆性。这样的函数必须能够在正向上进行计算,但在反向上计算是不可行的。
The interfaces are currently defined for three such hash algorithms, MD4 [2] and MD5 [6] by Ronald Rivest, and SHA [7] by NIST. All conforming implementations of both server and generators MUST support MD5. They SHOULD support SHA and MAY also support MD4. Clearly, the generator and server must use the same algorithm in order to interoperate. Other hash algorithms may be specified for use with this system by publishing the appropriate interfaces.
这些接口目前为三种此类散列算法定义,Ronald Rivest的MD4[2]和MD5[6],NIST的SHA[7]。服务器和生成器的所有一致性实现都必须支持MD5。他们应该支持SHA,也可能支持MD4。显然,生成器和服务器必须使用相同的算法才能进行互操作。通过发布适当的接口,可以指定用于此系统的其他哈希算法。
The secure hash algorithms listed above have the property that they accept an input that is arbitrarily long and produce a fixed size output. The OTP system folds this output to 64 bits using the algorithms in the Appendix A. 64 bits is also the length of the one-time passwords. This is believed to be long enough to be secure and short enough to be entered manually (see below, Form of Output) when necessary.
上面列出的安全哈希算法具有这样的特性:它们接受任意长度的输入,并生成固定大小的输出。OTP系统使用附录A中的算法将该输出折叠为64位。64位也是一次性密码的长度。这被认为是足够长以确保安全,足够短以在必要时手动输入(见下文,输出形式)。
This section describes the generation of the one-time passwords. This process consists of an initial step in which all inputs are combined, a computation step where the secure hash function is applied a specified number of times, and an output function where the 64 bit one-time password is converted to a human readable form.
本节介绍一次性密码的生成。该过程包括一个初始步骤,其中组合了所有输入,一个计算步骤,其中应用了指定次数的安全哈希函数,以及一个输出函数,其中64位一次性密码转换为人类可读形式。
Appendix C contains examples of the outputs given a collection of inputs. It provides implementors with a means of verification the use of these algorithms.
附录C包含给定输入集合的输出示例。它为实现者提供了一种验证这些算法使用情况的方法。
Initial Step
初始步骤
In principle, the user's secret pass-phrase may be of any length. To reduce the risk from techniques such as exhaustive search or dictionary attacks, character string pass-phrases MUST contain at least 10 characters (see Form of Inputs below). All implementations MUST support a pass-phrases of at least 63 characters. The secret pass-phrase is frequently, but is not required to be, textual information provided by a user.
原则上,用户的密码短语可以是任意长度。为了降低穷举搜索或字典攻击等技术带来的风险,字符串密码短语必须至少包含10个字符(请参见下面的输入格式)。所有实现必须支持至少63个字符的pass短语。密码短语通常是用户提供的文本信息,但不是必需的。
In this step, the pass phrase is concatenated with a seed that is transmitted from the server in clear text. This non-secret seed allows clients to use the same secret pass-phrase on multiple machines (using different seeds) and to safely recycle their secret pass-phrases by changing the seed.
在此步骤中,密码短语与以明文形式从服务器传输的种子连接。此非机密种子允许客户端在多台机器上使用相同的密码短语(使用不同的种子),并通过更改种子安全地回收其密码短语。
The result of the concatenation is passed through the secure hash function and then is reduced to 64 bits using one of the function dependent algorithms shown in Appendix A.
级联的结果通过安全哈希函数传递,然后使用附录A中所示的函数相关算法之一将其缩减为64位。
Computation Step
计算步骤
A sequence of one-time passwords is produced by applying the secure hash function multiple times to the output of the initial step (called S). That is, the first one-time password to be used is produced by passing S through the secure hash function a number of times (N) specified by the user. The next one-time password to be used is generated by passing S though the secure hash function N-1 times. An eavesdropper who has monitored the transmission of a one-time password would not be able to generate the next required password because doing so would mean inverting the hash function.
通过将安全哈希函数多次应用于初始步骤(称为S)的输出,生成一次性密码序列。也就是说,要使用的第一个一次性密码是通过将S通过安全散列函数传递用户指定的次数(N)来产生的。下一个要使用的一次性密码是通过将S通过安全哈希函数N-1次生成的。监视一次性密码传输的窃听者将无法生成下一个所需密码,因为这样做将意味着反转哈希函数。
Form of Inputs
投入形式
The secret pass-phrase is seen only by the OTP generator. To allow interchangeability of generators, all generators MUST support a secret pass-phrase of 10 to 63 characters. Implementations MAY support a longer pass-phrase, but such implementations risk the loss of interchangeability with implementations supporting only the minimum.
密码短语仅由OTP生成器查看。为了允许生成器的互换性,所有生成器必须支持10到63个字符的密码短语。实现可能支持更长的通行短语,但这种实现有可能失去与只支持最小通行短语的实现的互换性。
The seed MUST consist of purely alphanumeric characters and MUST be of one to 16 characters in length. The seed is a string of characters that MUST not contain any blanks and SHOULD consist of strictly alphanumeric characters from the ISO-646 Invariant Code Set. The seed MUST be case insensitive and MUST be internally converted to lower case before it is processed.
种子必须由纯字母数字字符组成,长度必须为1到16个字符。种子是一个字符串,不得包含任何空格,并且应严格由ISO-646不变代码集中的字母数字字符组成。种子必须不区分大小写,并且在处理之前必须在内部转换为小写。
The sequence number and seed together constitute a larger unit of data called the challenge. The challenge gives the generator the parameters it needs to calculate the correct one-time password from the secret pass-phrase. The challenge MUST be in a standard syntax so that automated generators can recognize the challenge in context and extract these parameters. The syntax of the challenge is:
序列号和种子一起构成一个更大的数据单元,称为挑战。质询为生成器提供了根据密码短语计算正确一次性密码所需的参数。质询必须采用标准语法,以便自动生成器能够在上下文中识别质询并提取这些参数。挑战的语法是:
otp-<algorithm identifier> <sequence integer> <seed>
otp-<algorithm identifier> <sequence integer> <seed>
The three tokens MUST be separated by a white space (defined as any number of spaces and/or tabs) and the entire challenge string MUST be terminated with either a space or a new line. The string "otp-" MUST be in lower case. The algorithm identifier is case sensitive (the existing identifiers are all lower case), and the seed is case insensitive and converted before use to lower case. If additional algorithms are defined, appropriate identifiers (short, but not limited to three or four characters) must be defined. The currently defined algorithm identifiers are:
这三个令牌必须用空格分隔(定义为任意数量的空格和/或制表符),整个质询字符串必须以空格或新行终止。字符串“otp-”必须为小写。算法标识符区分大小写(现有标识符均为小写),种子不区分大小写并在使用前转换为小写。如果定义了其他算法,则必须定义适当的标识符(短,但不限于三个或四个字符)。当前定义的算法标识符为:
md4 MD4 Message Digest md5 MD5 Message Digest sha1 NIST Secure Hash Algorithm Revision 1
md4 md4消息摘要md5 md5消息摘要sha1 NIST安全哈希算法修订版1
An example of an OTP challenge is: otp-md5 487 dog2
OTP挑战的一个例子是:OTP-md5 487 dog2
Form of Output
输出形式
The one-time password generated by the above procedure is 64 bits in length. Entering a 64 bit number is a difficult and error prone process. Some generators insert this password into the input stream and some others make it available for system "cut and paste." Still other arrangements require the one-time password to be entered manually. The OTP system is designed to facilitate this manual entry without impeding automatic methods. The one-time password therefore MAY be converted to, and all servers MUST be capable of accepting it as, a sequence of six short (1 to 4 letter) easily typed words that only use characters from ISO-646 IVCS. Each word is chosen from a dictionary of 2048 words; at 11 bits per word, all one-time passwords may be encoded.
上述过程生成的一次性密码长度为64位。输入64位数字是一个困难且容易出错的过程。一些生成器将此密码插入输入流,而另一些生成器将其用于系统“剪切和粘贴”。还有一些安排要求手动输入一次性密码。OTP系统的设计目的是在不妨碍自动方法的情况下方便手动输入。因此,一次性密码可以转换为六个简短(1到4个字母)的易于键入的单词序列,并且所有服务器都必须能够接受,这些单词只使用ISO-646 IVCS中的字符。每个单词从2048个单词的字典中选择;每个字11位,所有一次性密码都可以进行编码。
The two extra bits in this encoding are used to store a checksum. The 64 bits of key are broken down into pairs of bits, then these pairs are summed together. The two least significant bits of this sum are encoded in the last two bits of the six word sequence with the least significant bit of the sum as the last bit encoded. All OTP generators MUST calculate this checksum and all OTP servers MUST verify this checksum explicitly as part of the operation of decoding this representation of the one-time password.
此编码中的两个额外位用于存储校验和。密钥的64位被分解成成对的位,然后将这些对相加。该总和的两个最低有效位在六字序列的最后两位中编码,总和的最低有效位作为编码的最后一位。所有OTP生成器必须计算此校验和,所有OTP服务器必须明确验证此校验和,作为解码此一次性密码表示的操作的一部分。
Generators that produce the six-word format MUST present the words in upper case with single spaces used as separators. All servers MUST accept six-word format without regard to case and white space used as a separator. The two lines below represent the same one-time password. The first is valid as output from a generator and as input a server, the second is valid only as human input to a server.
生成六字格式的生成器必须以大写形式显示字,并使用单个空格作为分隔符。所有服务器必须接受六字格式,不考虑大小写和用作分隔符的空白。下面的两行代表相同的一次性密码。第一个作为生成器的输出和服务器的输入有效,第二个仅作为服务器的人工输入有效。
OUST COAT FOAL MUG BEAK TOTE oust coat foal mug beak tote
小马驹杯嘴手提包小马驹杯嘴手提包
Interoperability requires that all OTP servers and generators use the same dictionary. The standard dictionary was originally specified in the "S/KEY One Time Password System" that is described in RFC 1760 [5]. This dictionary is included in this document as Appendix D.
互操作性要求所有OTP服务器和生成器使用相同的字典。标准字典最初是在RFC 1760[5]中描述的“S/KEY一次性密码系统”中指定的。本词典作为附录D包含在本文件中。
To facilitate the implementation of smaller generators, hexadecimal output is an acceptable alternative for the presentation of the one-time password. All implementations of the server software MUST accept case-insensitive hexadecimal as well as six-word format. The hexadecimal digits may be separated by white space so servers are REQUIRED to ignore all white space. If the representation is partitioned by white space, leading zeros must be retained. Examples of hexadecimal format are:
为了便于实现较小的生成器,十六进制输出是表示一次性密码的可接受的替代方法。服务器软件的所有实现都必须接受不区分大小写的十六进制以及六字格式。十六进制数字可以用空格分隔,因此要求服务器忽略所有空格。如果表示被空格分割,则必须保留前导零。十六进制格式的示例包括:
Representation Value
表示值
3503785b369cda8b 0x3503785b369cda8b e5cc a1b8 7c13 096b 0xe5cca1b87c13096b C7 48 90 F4 27 7B A1 CF 0xc74890f4277ba1cf 47 9 A68 28 4C 9D 0 1BC 0x479a68284c9d01bc
3503785b369cda8b 0x3503785b369cda8b e5cc a1b8 7c13 096b 0xe5cca1b87c13096b C7 48 90 F4 27 7B A1 CF 0xc74890f4277ba1cf 47 9 A68 28 4C 9D 0 1BC 0x479a68284c9d01bc
In addition to accepting six-word and hexadecimal encodings of the 64 bit one-time password, servers SHOULD accept the alternate dictionary encoding described in Appendix B. The six words in this encoding MUST not overlap the set of words in the standard dictionary. To avoid ambiguity with the hexadecimal representation, words in the alternate dictionary MUST not be comprised solely of the letters A-F. Decoding words thus encoded does not require any knowledge of the alternative dictionary used so the acceptance of any alternate dictionary implies the acceptance of all alternate dictionaries. Words in the alternative dictionaries are case sensitive. Generators and servers MUST preserve the case in the processing of these words.
除了接受64位一次性密码的六字和十六进制编码外,服务器还应接受附录B中所述的备用字典编码。此编码中的六个字不得与标准字典中的一组字重叠。为避免十六进制表示法的歧义,备用字典中的单词不得仅由字母A-F组成。解码这样编码的单词不需要了解所使用的备用字典,因此接受任何备用字典意味着接受所有备用字典。备选词典中的单词区分大小写。生成器和服务器在处理这些单词时必须保留大小写。
In summary, all conforming servers MUST accept six-word input that uses the Standard Dictionary (RFC 1760 and Appendix D), MUST accept hexadecimal encoding, and SHOULD accept six-word input that uses the
总之,所有符合要求的服务器必须接受使用标准词典(RFC 1760和附录D)的六字输入,必须接受十六进制编码,并且应该接受使用标准词典(RFC 1760和附录D)的六字输入
Alternative Dictionary technique (Appendix B). As there is a remote possibility that a hexadecimal encoding of a one-time password will look like a valid six-word standard dictionary encoding, all implementations MUST use the following scheme. If a six-word encoded one-time password is valid, it is accepted. Otherwise, if the one-time password can be interpreted as hexadecimal, and with that decoding it is valid, then it is accepted.
替代字典技术(附录B)。由于一次性密码的十六进制编码看起来像有效的六字标准字典编码的可能性很小,因此所有实现都必须使用以下方案。如果六字编码的一次性密码有效,则接受该密码。否则,如果一次性密码可以解释为十六进制,并且解码有效,则接受该密码。
An application on the server system that requires OTP authentication is expected to issue an OTP challenge as described above. Given the parameters from this challenge and the secret pass-phrase, the generator can compute (or lookup) the one-time password that is passed to the server to be verified.
服务器系统上需要OTP身份验证的应用程序将发出如上所述的OTP质询。给定此质询的参数和密码短语,生成器可以计算(或查找)传递给要验证的服务器的一次性密码。
The server system has a database containing, for each user, the one-time password from the last successful authentication or the first OTP of a newly initialized sequence. To authenticate the user, the server decodes the one-time password received from the generator into a 64-bit key and then runs this key through the secure hash function once. If the result of this operation matches the stored previous OTP, the authentication is successful and the accepted one-time password is stored for future use.
服务器系统有一个数据库,为每个用户包含上次成功身份验证的一次性密码或新初始化序列的第一个OTP。为了对用户进行身份验证,服务器将从生成器接收的一次性密码解码为64位密钥,然后通过安全哈希函数运行该密钥一次。如果此操作的结果与存储的先前OTP匹配,则验证成功,并存储接受的一次性密码以供将来使用。
Because the number of hash function applications executed by the generator decreases by one each time, at some point the user must reinitialize the system or be unable to authenticate.
由于生成器执行的哈希函数应用程序的数量每次减少一个,因此在某个时候,用户必须重新初始化系统或无法进行身份验证。
Although some installations may not permit users to initialize remotely, implementations MUST provide a means to do so that does not reveal the user's secret pass-phrase. One way is to provide a means to reinitialize the sequence through explicit specification of the first one-time password.
尽管某些安装可能不允许用户远程初始化,但实现必须提供一种不泄露用户密码的方法。一种方法是通过明确指定第一个一次性密码来提供重新初始化序列的方法。
When the sequence of one-time passwords is reinitialized, implementations MUST verify that the seed or the pass-phrase is changed. Installations SHOULD discourage any operation that sends the secret pass-phrase over a network in clear-text as such practice defeats the concept of a one-time password.
重新初始化一次性密码序列时,实现必须验证种子或密码短语是否已更改。安装应阻止任何以明文形式通过网络发送密码短语的操作,因为这种做法违背了一次性密码的概念。
Implementations MAY use the following technique for [re]initialization:
实现可使用以下技术进行[重新]初始化:
o The user picks a new seed and hash count (default values may be offered). The user provides these, along with the corresponding generated one-time password, to the host system.
o 用户选择一个新的种子和散列计数(可以提供默认值)。用户向主机系统提供这些密码以及相应生成的一次性密码。
o The user MAY also provide the corresponding generated one time password for count-1 as an error check.
o 用户还可以为count-1提供相应生成的一次性密码作为错误检查。
o The user SHOULD provide the generated one-time password for the old seed and old hash count to protect an idle terminal or workstation (this implies that when the count is 1, the user can login but cannot then change the seed or count).
o 用户应为旧种子和旧哈希计数提供生成的一次性密码,以保护空闲终端或工作站(这意味着当计数为1时,用户可以登录,但不能更改种子或计数)。
In the future a specific protocol may be defined for reinitialization that will permit smooth and possibly automated interoperation of all hosts and generators.
将来可能会为重新初始化定义一个特定的协议,该协议将允许所有主机和生成器顺利且可能自动地进行互操作。
All conforming server implementations MUST protect against the race condition described in this section. A defense against this attack is outlined; implementations MAY use this approach or MAY select an alternative defense.
所有符合要求的服务器实现必须针对本节中描述的竞争条件进行保护。概述了针对这一攻击的防御措施;实施可以使用这种方法,也可以选择替代防御。
It is possible for an attacker to listen to most of a one-time password, guess the remainder, and then race the legitimate user to complete the authentication. Multiple guesses against the last word of the six-word format are likely to succeed.
攻击者可以监听大部分一次性密码,猜测其余密码,然后与合法用户竞争以完成身份验证。对六字格式的最后一个字的多次猜测可能会成功。
One possible defense is to prevent a user from starting multiple simultaneous authentication sessions. This means that once the legitimate user has initiated authentication, an attacker would be blocked until the first authentication process has completed. In this approach, a timeout is necessary to thwart a denial of service attack.
一种可能的防御措施是防止用户同时启动多个身份验证会话。这意味着,一旦合法用户启动了身份验证,攻击者将被阻止,直到第一个身份验证过程完成。在这种方法中,需要超时来阻止拒绝服务攻击。
This entire document discusses an authentication system that improves security by limiting the danger of eavesdropping/replay attacks that have been used against simple password systems [4].
整个文档讨论了一种身份验证系统,该系统通过限制针对简单密码系统的窃听/重放攻击的危险来提高安全性[4]。
The use of the OTP system only provides protections against passive eavesdropping/replay attacks. It does not provide for the privacy of transmitted data, and it does not provide protection against active attacks such as session hijacking that are known to be present in the current Internet [9]. The use of IP Security (IPsec), see [10], [11], and [12] is recommended to protect against TCP session hijacking.
OTP系统的使用仅为被动窃听/重放攻击提供保护。它不提供传输数据的隐私,也不提供针对主动攻击的保护,如已知存在于当前互联网中的会话劫持[9]。建议使用IP安全性(IPsec),参见[10]、[11]和[12],以防止TCP会话劫持。
The success of the OTP system to protect host systems is dependent on the non-invertability of the secure hash functions used. To our knowledge, none of the hash algorithms have been broken, but it is generally believed [6] that MD4 is not as strong as MD5. If a server supports multiple hash algorithms, it is only as secure as the weakest algorithm.
OTP系统能否成功保护主机系统取决于所使用的安全哈希函数的不可逆性。据我们所知,没有一种哈希算法被破坏,但人们普遍认为[6]MD4不如MD5强大。如果一台服务器支持多个散列算法,那么它的安全性仅与最弱的算法相同。
The idea behind OTP authentication was first proposed by Leslie Lamport [1]. Bellcore's S/KEY system, from which OTP is derived, was proposed by Phil Karn, who also wrote most of the Bellcore reference implementation.
OTP认证背后的想法首先由Leslie Lamport提出[1]。Bellcore的s/KEY系统是OTP的来源,由Phil Karn提出,他也编写了Bellcore的大部分参考实现。
[1] Leslie Lamport, "Password Authentication with Insecure Communication", Communications of the ACM 24.11 (November 1981), 770-772
[1] Leslie Lamport,“不安全通信的密码认证”,ACM通信24.11(1981年11月),770-772
[2] Rivest, R., "The MD4 Message-Digest Algorithm", RFC 1320, April 1992.
[2] Rivest,R.,“MD4消息摘要算法”,RFC1320,1992年4月。
[3] Neil Haller, "The S/KEY One-Time Password System", Proceedings of the ISOC Symposium on Network and Distributed System Security, February 1994, San Diego, CA
[3] Neil Haller,“S/KEY一次性密码系统”,ISOC网络和分布式系统安全研讨会论文集,1994年2月,加利福尼亚州圣地亚哥
[4] Haller, N., and R. Atkinson, "On Internet Authentication", RFC 1704, October 1994.
[4] N.Haller和R.Atkinson,“互联网认证”,RFC 17041994年10月。
[5] Haller, N., "The S/KEY One-Time Password System", RFC 1760, February 1995.
[5] Haller,N.,“S/KEY一次性密码系统”,RFC1760,1995年2月。
[6] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April 1992.
[6] Rivest,R.,“MD5消息摘要算法”,RFC1321,1992年4月。
[7] National Institute of Standards and Technology (NIST), "Announcing the Secure Hash Standard", FIPS 180-1, U.S. Department of Commerce, April 1995.
[7] 国家标准与技术研究所(NIST),“宣布安全哈希标准”,FIPS 180-1,美国商务部,1995年4月。
[8] International Standard - Information Processing -- ISO 7-bit coded character set for information interchange (Invariant Code Set), ISO-646, International Standards Organization, Geneva, Switzerland, 1983
[8] 国际标准.信息处理.信息交换用ISO 7位编码字符集(不变码集),ISO-646,国际标准组织,日内瓦,瑞士,1983
[9] Computer Emergency Response Team (CERT), "IP Spoofing and Hijacked Terminal Connections", CA-95:01, January 1995. Available via anonymous ftp from info.cert.org in /pub/cert_advisories.
[9] 计算机应急响应小组(CERT),“IP欺骗和被劫持的终端连接”,CA-95:01,1995年1月。可通过匿名ftp从info.cert.org的/pub/cert\u advisories获得。
[10] Atkinson, R., "Security Architecture for the Internet Protocol", RFC 1825, August 1995.
[10] 阿特金森,R.,“互联网协议的安全架构”,RFC 18251995年8月。
[11] Atkinson, R., "IP Authentication Header", RFC 1826, August 1995.
[11] 阿特金森,R.,“IP认证头”,RFC 1826,1995年8月。
[12] Atkinson, R., "IP Encapsulating Security Payload (ESP)", RFC 1827, August 1995.
[12] 阿特金森,R.,“IP封装安全有效载荷(ESP)”,RFC 1827,1995年8月。
Neil Haller Bellcore MCC 1C-265B 445 South Street Morristown, NJ, 07960-6438, USA
Neil Haller Bellcore MCC 1C-265B美国新泽西州莫里斯镇南街445号,07960-6438
Phone: +1 201 829-4478 Fax: +1 201 829-2504 EMail: nmh@bellcore.com
Phone: +1 201 829-4478 Fax: +1 201 829-2504 EMail: nmh@bellcore.com
Craig Metz Kaman Sciences Corporation For NRL Code 5544 4555 Overlook Avenue, S.W. Washington, DC, 20375-5337, USA
克雷格·梅茨·卡曼科学公司,美国华盛顿特区西南部俯瞰大道,NRL代码5544 4555,邮编20375-5337
Phone: +1 202 404-7122 Fax: +1 202 404-7942 EMail: cmetz@cs.nrl.navy.mil
Phone: +1 202 404-7122 Fax: +1 202 404-7942 EMail: cmetz@cs.nrl.navy.mil
Philip J. Nesser II Nesser & Nesser Consulting 13501 100th Ave NE Suite 5202 Kirkland, WA 98034, USA
Philip J.Nesser II Nesser&Nesser Consulting美国华盛顿州柯克兰市第100大道13501号第5202室,邮编:98034
Phone: +1 206 481 4303 EMail: pjnesser@martigny.ai.mit.edu
Phone: +1 206 481 4303 EMail: pjnesser@martigny.ai.mit.edu
Mike Straw Bellcore RRC 1A-225 445 Hoes Lane Piscataway, NJ 08854-4182
Mike Straw Bellcore RRC 1A-225 445 Hoes Lane Piscataway,NJ 08854-4182
Phone: +1 908 699-5212 EMail: mess@bellcore.com
Phone: +1 908 699-5212 EMail: mess@bellcore.com
Appendix A - Interfaces to Secure Hash Algorithms
附录A-安全哈希算法的接口
Original interoperability tests provided valuable insights into the subtle problems which occur when converting protocol specifications into running code. In particular, the manipulation of bit ordered data is dependent on the architecture of the hardware, specifically the way in which a computer stores multi-byte data. The method is typically called big or little "endian." A big endian machine stores data with the most significant byte first, while a little endian machine stores the least significant byte first. Thus, on a big endian machine data is stored left to right, while little endian machines store data right to left.
最初的互操作性测试为将协议规范转换为运行代码时出现的微妙问题提供了有价值的见解。具体而言,位序数据的操作取决于硬件的体系结构,特别是计算机存储多字节数据的方式。这种方法通常被称为大或小“endian”。大端机首先存储最高有效字节的数据,而小端机首先存储最低有效字节的数据。因此,在大端机器上,数据从左到右存储,而小端机器从右到左存储数据。
For example, the four byte value 0x11AABBCC is stored in a big endian machine as the following series of four bytes, "0x11", "0xAA", "0xBB", and "0xCC", while on a little endian machine the value would be stored as "0xCC", "0xBB", "0xAA", and "0x11".
例如,四字节值0x11AABBCC在大端机器中存储为以下四个字节的序列,“0x11”、“0xAA”、“0xBB”和“0xCC”,而在小端机器上,该值将存储为“0xCC”、“0xBB”、“0xAA”和“0x11”。
For historical reasons, and to promote interoperability with existing implementations, it was decided that ALL hashes incorporated into the OTP protocol MUST store the output of their hash function in LITTLE ENDIAN format BEFORE the bit folding to 64 bits occurs. This is done in the implementations of MD4 and MD5 (see references [2] and [6]), while it must be explicitly done for the implementation of SHA1 (see reference [7]).
出于历史原因,并为了促进与现有实现的互操作性,决定纳入OTP协议的所有哈希必须在位折叠到64位之前以小端格式存储其哈希函数的输出。这是在MD4和MD5的实现中完成的(参见参考文献[2]和[6]),而在SHA1的实现中必须明确完成(参见参考文献[7])。
Any future hash functions implemented into the OTP protocol SHOULD provide a similar reference fragment of code to allow independent implementations to operate successfully.
在OTP协议中实现的任何未来哈希函数都应该提供类似的参考代码片段,以允许独立实现成功运行。
MD4 Message Digest (see reference [2])
MD4消息摘要(参见参考文献[2])
MD4_CTX md; unsigned char result[16];
MD4_CTX md; unsigned char result[16];
strcpy(buf, seed); /* seed must be in lower case */ strcat(buf, passwd); MD4Init(&md); MD4Update(&md, (unsigned char *)buf, strlen(buf)); MD4Final(result, &md);
strcpy(buf, seed); /* seed must be in lower case */ strcat(buf, passwd); MD4Init(&md); MD4Update(&md, (unsigned char *)buf, strlen(buf)); MD4Final(result, &md);
/* Fold the 128 bit result to 64 bits */ for (i = 0; i < 8; i++) result[i] ^= result[i+8];
/* Fold the 128 bit result to 64 bits */ for (i = 0; i < 8; i++) result[i] ^= result[i+8];
MD5 Message Digest (see reference [6])
MD5消息摘要(参见参考文献[6])
MD5_CTX md; unsigned char result[16]; strcpy(buf, seed); /* seed must be in lower case */ strcat(buf, passwd); MD5Init(&md); MD5Update(&md, (unsigned char *)buf, strlen(buf)); MD5Final(result, &md);
MD5_CTX md; unsigned char result[16]; strcpy(buf, seed); /* seed must be in lower case */ strcat(buf, passwd); MD5Init(&md); MD5Update(&md, (unsigned char *)buf, strlen(buf)); MD5Final(result, &md);
/* Fold the 128 bit result to 64 bits */ for (i = 0; i < 8; i++) result[i] ^= result[i+8];
/* Fold the 128 bit result to 64 bits */ for (i = 0; i < 8; i++) result[i] ^= result[i+8];
SHA Secure Hash Algorithm (see reference [7])
SHA安全哈希算法(见参考文献[7])
SHA_INFO sha; unsigned char result[16]; strcpy(buf, seed); /* seed must be in lower case */ strcat(buf, passwd); sha_init(&sha); sha_update(&sha, (unsigned char *)buf, strlen(buf)); sha_final(&sha); /* NOTE: no result buffer */
SHA_INFO sha; unsigned char result[16]; strcpy(buf, seed); /* seed must be in lower case */ strcat(buf, passwd); sha_init(&sha); sha_update(&sha, (unsigned char *)buf, strlen(buf)); sha_final(&sha); /* NOTE: no result buffer */
/* Fold the 160 bit result to 64 bits */ sha.digest[0] ^= sha.digest[2]; sha.digest[1] ^= sha.digest[3]; sha.digest[0] ^= sha.digest[4];
/* Fold the 160 bit result to 64 bits */ sha.digest[0] ^= sha.digest[2]; sha.digest[1] ^= sha.digest[3]; sha.digest[0] ^= sha.digest[4];
/* * copy the resulting 64 bits to the result buffer in little endian * fashion (analogous to the way MD4Final() and MD5Final() do). */ for (i = 0, j = 0; j < 8; i++, j += 4) { result[j] = (unsigned char)(sha.digest[i] & 0xff); result[j+1] = (unsigned char)((sha.digest[i] >> 8) & 0xff); result[j+2] = (unsigned char)((sha.digest[i] >> 16) & 0xff); result[j+3] = (unsigned char)((sha.digest[i] >> 24) & 0xff); }
/* * copy the resulting 64 bits to the result buffer in little endian * fashion (analogous to the way MD4Final() and MD5Final() do). */ for (i = 0, j = 0; j < 8; i++, j += 4) { result[j] = (unsigned char)(sha.digest[i] & 0xff); result[j+1] = (unsigned char)((sha.digest[i] >> 8) & 0xff); result[j+2] = (unsigned char)((sha.digest[i] >> 16) & 0xff); result[j+3] = (unsigned char)((sha.digest[i] >> 24) & 0xff); }
Appendix B - Alternative Dictionary Algorithm
附录B-可选字典算法
The purpose of alternative dictionary encoding of the OTP one-time password is to allow the use of language specific or friendly words. As case translation is not always well defined, the alternative dictionary encoding is case sensitive. Servers SHOULD accept this encoding in addition to the standard 6-word and hexadecimal encodings.
OTP一次性密码的替代字典编码的目的是允许使用特定语言或友好单词。由于大小写转换并不总是定义得很好,所以可选的字典编码是区分大小写的。除了标准的6字和十六进制编码之外,服务器还应该接受这种编码。
GENERATOR ENCODING USING AN ALTERNATE DICTIONARY
使用备用字典的生成器编码
The standard 6-word encoding uses the placement of a word in the dictionary to represent an 11-bit number. The 64-bit one-time password can then be represented by six words.
标准的6字编码使用字典中单词的位置来表示11位数字。然后,64位一次性密码可以用六个字表示。
An alternative dictionary of 2048 words may be created such that each word W and position of the word in the dictionary N obey the relationship:
可创建2048个单词的替代词典,以使每个单词W和单词在词典N中的位置符合以下关系:
alg( W ) % 2048 == N where alg is the hash algorithm used (e.g. MD4, MD5, SHA1).
alg(W)%2048==N,其中alg是所使用的哈希算法(例如MD4、MD5、SHA1)。
In addition, no words in the standard dictionary may be chosen.
此外,不得选择标准词典中的任何单词。
The generator expands the 64-bit one-time password to 66 bits by computing parity as with the standard 6-word encoding. The six 11- bit numbers are then converted to words using the dictionary that was created such that the above relationship holds.
生成器通过与标准6字编码一样计算奇偶校验,将64位一次性密码扩展为66位。然后,使用创建的字典将六个11位数字转换为单词,以保持上述关系。
SERVER DECODING OF ALTERNATE DICTIONARY ONE-TIME PASSWORDS
备用字典一次性密码的服务器解码
The server accepting alternative dictionary encoding converts each word to an 11-bit number using the above encoding. These numbers are then used in the same way as the decoded standard dictionary words to form the 66-bit one-time password.
接受替代字典编码的服务器使用上述编码将每个单词转换为11位数字。然后,这些数字以与解码的标准字典单词相同的方式使用,形成66位一次性密码。
The server does not need to have access to the alternate dictionary that was used to create the one-time password it is authenticating. This is because the decoding from word to 11-bit number does not make any use of the dictionary. As a result of the independence of the dictionary, a server accepting one alternate dictionary accept all alternate dictionaries.
服务器不需要访问用于创建其正在验证的一次性密码的备用字典。这是因为从单词到11位数字的解码没有使用字典。由于字典的独立性,接受一个备用字典的服务器接受所有备用字典。
Appendix C - OTP Verification Examples
附录C-OTP验证示例
This appendix provides a series of inputs and correct outputs for all three of the defined OTP cryptographic hashes, specifically MD4, MD5, and SHA1. This document is intended to be used by developers for interoperability checks when creating generators or servers. Output is provided in both hexadecimal notation and the six word encoding documented in Appendix D.
本附录为所有三个已定义的OTP加密散列,特别是MD4、MD5和SHA1,提供了一系列输入和正确输出。本文档旨在供开发人员在创建生成器或服务器时用于互操作性检查。输出采用十六进制表示法和附录D中记录的六字编码。
GENERAL CHECKS
一般支票
Note that the output given for these checks is not intended to be taken literally, but describes the type of action that should be taken.
请注意,为这些检查提供的输出不是字面意义上的,而是描述了应采取的操作类型。
Pass Phrase Length
通行短语长度
Input: Pass Phrase: Too_short Seed: iamvalid Count: 99 Hash: ANY Output: ERROR: Pass Phrase too short
输入:密码短语:太短种子:IAM有效计数:99哈希:任何输出:错误:密码短语太短
Input: Pass Phrase: 1234567890123456789012345678901234567890123456789012345678901234 Seed: iamvalid Count: 99 Hash: ANY Output: WARNING: Pass Phrase longer than the recommended maximum length of 63
输入:密码短语:123456789001234567890123456789012345678901234567890123456789012345678901234种子:IAM有效计数:99哈希:任何输出:警告:密码短语长度超过建议的最大长度63
Seed Values
种子价值
Input: Pass Phrase: A_Valid_Pass_Phrase Seed: Length_Okay Count: 99 Hash: ANY Output: ERROR: Seed must be purely alphanumeric
输入:密码短语:A\u有效\u密码短语种子:长度\u好的计数:99哈希:任何输出:错误:种子必须是纯字母数字
Input: Pass Phrase: A_Valid_Pass_Phrase Seed: LengthOfSeventeen
输入:密码短语:有效密码短语种子:LengthofsEventen
Count: 99 Hash: ANY
计数:99哈希:任何
Output: ERROR: Seed must be between 1 and 16 characters in length
输出:错误:种子长度必须介于1到16个字符之间
Input: Pass Phrase: A_Valid_Pass_Phrase Seed: A Seed Count: 99 Hash: ANY Output: ERROR: Seed must not contain any spaces
输入:密码短语:有效密码短语种子:种子计数:99哈希:任何输出:错误:种子不能包含任何空格
Parity Calculations
奇偶性计算
Input: Pass Phrase: A_Valid_Pass_Phrase Seed: AValidSeed Count: 99 Hash: MD5 Output: Hex: 85c43ee03857765b Six Word(CORRECT): FOWL KID MASH DEAD DUAL OAF Six Word(INCORRECT PARITY): FOWL KID MASH DEAD DUAL NUT Six Word(INCORRECT PARITY): FOWL KID MASH DEAD DUAL O Six Word(INCORRECT PARITY): FOWL KID MASH DEAD DUAL OAK
Input: Pass Phrase: A_Valid_Pass_Phrase Seed: AValidSeed Count: 99 Hash: MD5 Output: Hex: 85c43ee03857765b Six Word(CORRECT): FOWL KID MASH DEAD DUAL OAF Six Word(INCORRECT PARITY): FOWL KID MASH DEAD DUAL NUT Six Word(INCORRECT PARITY): FOWL KID MASH DEAD DUAL O Six Word(INCORRECT PARITY): FOWL KID MASH DEAD DUAL OAK
MD4 ENCODINGS
MD4编码
Pass Phrase Seed Cnt Hex Six Word Format ======================================================================== This is a test. TeSt 0 D185 4218 EBBB 0B51 ROME MUG FRED SCAN LIVE LACE This is a test. TeSt 1 6347 3EF0 1CD0 B444 CARD SAD MINI RYE COL KIN This is a test. TeSt 99 C5E6 1277 6E6C 237A NOTE OUT IBIS SINK NAVE MODE AbCdEfGhIjK alpha1 0 5007 6F47 EB1A DE4E AWAY SEN ROOK SALT LICE MAP AbCdEfGhIjK alpha1 1 65D2 0D19 49B5 F7AB CHEW GRIM WU HANG BUCK SAID AbCdEfGhIjK alpha1 99 D150 C82C CE6F 62D1 ROIL FREE COG HUNK WAIT COCA OTP's are good correct 0 849C 79D4 F6F5 5388 FOOL STEM DONE TOOL BECK NILE OTP's are good correct 1 8C09 92FB 2508 47B1 GIST AMOS MOOT AIDS FOOD SEEM OTP's are good correct 99 3F3B F4B4 145F D74B TAG SLOW NOV MIN WOOL KENO
Pass Phrase Seed Cnt Hex Six Word Format ======================================================================== This is a test. TeSt 0 D185 4218 EBBB 0B51 ROME MUG FRED SCAN LIVE LACE This is a test. TeSt 1 6347 3EF0 1CD0 B444 CARD SAD MINI RYE COL KIN This is a test. TeSt 99 C5E6 1277 6E6C 237A NOTE OUT IBIS SINK NAVE MODE AbCdEfGhIjK alpha1 0 5007 6F47 EB1A DE4E AWAY SEN ROOK SALT LICE MAP AbCdEfGhIjK alpha1 1 65D2 0D19 49B5 F7AB CHEW GRIM WU HANG BUCK SAID AbCdEfGhIjK alpha1 99 D150 C82C CE6F 62D1 ROIL FREE COG HUNK WAIT COCA OTP's are good correct 0 849C 79D4 F6F5 5388 FOOL STEM DONE TOOL BECK NILE OTP's are good correct 1 8C09 92FB 2508 47B1 GIST AMOS MOOT AIDS FOOD SEEM OTP's are good correct 99 3F3B F4B4 145F D74B TAG SLOW NOV MIN WOOL KENO
MD5 ENCODINGS
MD5编码
Pass Phrase Seed Cnt Hex Six Word Format ======================================================================== This is a test. TeSt 0 9E87 6134 D904 99DD INCH SEA ANNE LONG AHEM TOUR This is a test. TeSt 1 7965 E054 36F5 029F EASE OIL FUM CURE AWRY AVIS This is a test. TeSt 99 50FE 1962 C496 5880 BAIL TUFT BITS GANG CHEF THY AbCdEfGhIjK alpha1 0 8706 6DD9 644B F206 FULL PEW DOWN ONCE MORT ARC AbCdEfGhIjK alpha1 1 7CD3 4C10 40AD D14B FACT HOOF AT FIST SITE KENT AbCdEfGhIjK alpha1 99 5AA3 7A81 F212 146C BODE HOP JAKE STOW JUT RAP OTP's are good correct 0 F205 7539 43DE 4CF9 ULAN NEW ARMY FUSE SUIT EYED OTP's are good correct 1 DDCD AC95 6F23 4937 SKIM CULT LOB SLAM POE HOWL OTP's are good correct 99 B203 E28F A525 BE47 LONG IVY JULY AJAR BOND LEE
Pass Phrase Seed Cnt Hex Six Word Format ======================================================================== This is a test. TeSt 0 9E87 6134 D904 99DD INCH SEA ANNE LONG AHEM TOUR This is a test. TeSt 1 7965 E054 36F5 029F EASE OIL FUM CURE AWRY AVIS This is a test. TeSt 99 50FE 1962 C496 5880 BAIL TUFT BITS GANG CHEF THY AbCdEfGhIjK alpha1 0 8706 6DD9 644B F206 FULL PEW DOWN ONCE MORT ARC AbCdEfGhIjK alpha1 1 7CD3 4C10 40AD D14B FACT HOOF AT FIST SITE KENT AbCdEfGhIjK alpha1 99 5AA3 7A81 F212 146C BODE HOP JAKE STOW JUT RAP OTP's are good correct 0 F205 7539 43DE 4CF9 ULAN NEW ARMY FUSE SUIT EYED OTP's are good correct 1 DDCD AC95 6F23 4937 SKIM CULT LOB SLAM POE HOWL OTP's are good correct 99 B203 E28F A525 BE47 LONG IVY JULY AJAR BOND LEE
SHA1 ENCODINGS
SHA1编码
Pass Phrase Seed Cnt Hex Six Word Format ======================================================================== This is a test. TeSt 0 BB9E 6AE1 979D 8FF4 MILT VARY MAST OK SEES WENT This is a test. TeSt 1 63D9 3663 9734 385B CART OTTO HIVE ODE VAT NUT This is a test. TeSt 99 87FE C776 8B73 CCF9 GAFF WAIT SKID GIG SKY EYED AbCdEfGhIjK alpha1 0 AD85 F658 EBE3 83C9 LEST OR HEEL SCOT ROB SUIT AbCdEfGhIjK alpha1 1 D07C E229 B5CF 119B RITE TAKE GELD COST TUNE RECK AbCdEfGhIjK alpha1 99 27BC 7103 5AAF 3DC6 MAY STAR TIN LYON VEDA STAN OTP's are good correct 0 D51F 3E99 BF8E 6F0B RUST WELT KICK FELL TAIL FRAU OTP's are good correct 1 82AE B52D 9437 74E4 FLIT DOSE ALSO MEW DRUM DEFY OTP's are good correct 99 4F29 6A74 FE15 67EC AURA ALOE HURL WING BERG WAIT
Pass Phrase Seed Cnt Hex Six Word Format ======================================================================== This is a test. TeSt 0 BB9E 6AE1 979D 8FF4 MILT VARY MAST OK SEES WENT This is a test. TeSt 1 63D9 3663 9734 385B CART OTTO HIVE ODE VAT NUT This is a test. TeSt 99 87FE C776 8B73 CCF9 GAFF WAIT SKID GIG SKY EYED AbCdEfGhIjK alpha1 0 AD85 F658 EBE3 83C9 LEST OR HEEL SCOT ROB SUIT AbCdEfGhIjK alpha1 1 D07C E229 B5CF 119B RITE TAKE GELD COST TUNE RECK AbCdEfGhIjK alpha1 99 27BC 7103 5AAF 3DC6 MAY STAR TIN LYON VEDA STAN OTP's are good correct 0 D51F 3E99 BF8E 6F0B RUST WELT KICK FELL TAIL FRAU OTP's are good correct 1 82AE B52D 9437 74E4 FLIT DOSE ALSO MEW DRUM DEFY OTP's are good correct 99 4F29 6A74 FE15 67EC AURA ALOE HURL WING BERG WAIT
Appendix D - Dictionary for Converting Between 6-Word and Binary Formats
附录D-用于在6字和二进制格式之间转换的词典
This dictionary is from the module put.c in the original Bellcore reference distribution.
此词典来自原始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",
{“A”、“ABE”、“ACE”、“ACT”、“AD”、“ADA”、“ADD”、“AGO”、“AID”、“AIM”、“AIR”、“ALL”、“ALP”、“AM”、“AMY”、“AN”、“AND”、“ANN”、“ANT”、“ANY”、“APE”、“APS”、“APT”、“ARC”、“ARE”、“ARK”、“ARM”、“ART”、“AS”、“ASK”、“AT”、“ATE”、“AUG”、“AUK”、“AVE”、“AWK”、“AWK”、“AWL”、“AWN”、“AX”、“AYE”、“BAD”、“BAG”、“BAH”、“BAM”、“BAN”、“BAR”、“BAT”、“BAY”、“BAY”“BEE”、“BED”、“BEE”、“BEG”、“BEN”、“BET”、“BEY”、“BIB”、“BID”、“BIG”、“BIN”、“BIT”、“BOB”、“BOG”、“BON”、“BOO”、“BOP”、“BOW”、“BOY”、“BUB”、“bad”、“BUG”、“BUM”、“BUN”、“BUS”、“BUT”、“BUY”、“BUY”、“BY”、“BYE”、“CAB”、“CAL”、“CAM”、“CAN”、“CAP”、“CAR”、“CAT”、“CAW”、“COD”、“COG”、“COL”、“CON”、“COO”、“COP”、“COT”、“COT”、“COY”、“COY”、“CRY”、“CUB”、“CUB”、“BUY”、“BUY”、“BUY”、“BUY”、“BUY”、“BUT”、“BUY”、““CUR”、“CUT”、“DAB”、“DAD”、“DAM”、“DAN”、“DAR”、“DAY”、“DEE”、“DEL”、“DEN”、“DES”、“DEW”、“DIE”、“DIG”、“DIN”、“DIP”、“DO”、“DOE”、“DOE”、“DOG”、“DON”、“DOT”、“DOW”、“DRY”、“DUB”、“DUD”、“DUE”、“DUG”、“DUN”、“EAR”、“EAT”、“ED”、“EEL”、“EGO”、“ELK”、“ELM”、“ELM”、“END”、“EST”、“ETC”、“EVA”、“EVE”、“ew”、“EYE”、“FAD”、“FAD”、“FAN”,“FAR”、“FAT”、“FAY”、“FED”、“FEE”、“now”、“FIB”、“FIG”、“FIN”、“FIR”、“FIT”、“FLO”、“FLY”、“FOE”、“FOG”、“FOR”、“FRY”、“FUM”、“FUM”、“FUM”、“FUN”、“FUR”、“GAB”、“GAG”、“GAL”、“GAM”、“GAP”、“GAM”、“GAM”、“GAY”、“GEE”、“GEL”、“GEM”、“GET”、“GIG”、“GIL”、“GIN”、“GO”、“GOT”、“GUM”、“GUS”、“GUT”、“GUT”、“GUY”、“GYP”、“HA”、“HAD”、“HAL”、“HAM”、“HAN”、“HAN”、“HAN”、“HAP”、“HAP”、“HAP”、“HAP”、“HAP”、“GAP有“HAT”、“HAW”、“HAY”、“HE”、“哼哼”、“HEN”、“HER”、“HEW”、“HEY”、“HI”、“HID”、“HIM”、“HIT”、“HO”、“HOB”、“HOG”、“HOT”、“HOW”、“HUB”、“HUB”、“HUE”、“HUG”、“HUM”、“HUM”、“HUT”、“I”、“ice”、“IDA”、“IF”、“IKE”、“ILL”、“INK”、“INN”、“IO”、“ION”、“IQ”、“IRA”、“IRK”、“IS”、“IT”、“ITS”、“ITS”、“IVY”、“JAG”、“JAM”等JAN、JAR、JAW、JAY、JET、JIG、JIM、JO、JOB、JOE、JOT、JOY、JUT、KAY、KEG、KEN、KEY、KID、KIM、KIN、KIT、LA、LAB、LAC、LAD、LAG、LAM、LAP、LAY、LEA、LEE、LEG、LEO、LEW、LIE、LIE、LIP、LIP、LIP、LIP、LIP、LET、LO、LO、LOB、LOG、LOP、LOP、LOP、LOP、LOP、LOSLOT、LOU、LOY、LUG、LYE、MA、MAC、MAD、MAE、MAN、MAO、MAP、MAT、MAW、MAY、MEL、MET、MET、MET、MET、MEW、MID、MIN、MIT、MOB、MOD、MOE、MOO、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",
“NAT”、“NAY”、“NE”、“NED”、“NEE”、“NET”、“NEW”、“NIB”、“NIP”、“NIT”、“NO”、“NOB”、“NOD”、“NON”、“NOT”、“NOW”、“NOW”、“NU”、“NUN”、“NUT”、“NU”、“NUT”、“NUT”、“NUT”、“NUT”、“NUT”、“NUT”、“NUT”、“NUT”、“NUT”、“NUT”、“NU”、“NUT”、“NOT”、“OAF”、“OAF”、“OAR”、“OAT”、“ODD”、“ODD”、“ODE”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF”、“OF,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“帕”,“佩格”,“佩格”,“佩格”,“皮尤”,“披”,“皮”,“皮”,“皮”,“皮”,“皮”,“皮”,“皮”,“皮”,“皮”,“皮”,“皮”,“皮”,“皮”,“肉”,“皮”,“肉”,“皮”,“皮”,“肉”,“皮”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉”,“肉,“RIG”、“RIM”、“RIO”、“RIP”、“ROB”、“ROD”、“ROE”、“RON”、“ROT”、“ROW”、“ROY”、“RUB”、“RUE”、“RUG”、“RUM”、“RUN”、“SAC”、“SAG”、“SAL”、“SAM”、“SAN”、“SAP”、“SAW”、“SEA”、“SEC”、“SEE”、“SEW”、“SHE”、“SHY”、“SIN”、“SIP”、“SIR”、“SIS”、“SIT”、“SKI”、“SKY”、“SLY”、“SO”、“SOB”、“SOB”、“SOW”、“SOW”、“SOW”、“SOW”、“SOY”、“SOW”、“SOW”、“SOW”、“SOW”、“SOW”、“SOW”、“SOW”、“SOW”、“SOWSPA、SPY、SUB、SUD、su、SUM、SUN、SUP、TAB、TAD、TAG、TAN、TAP、TAR、TEA、TEE、TEN、THE、THY、TIC、TIE、TIM、TIN、TIP、TO、TOE、TOG、TOG、TOG、TOM、TON、TOO、TOP、TOW、TOY、TRY、TUM、TUM、TWO、UN、UP、UP、US、USE、USE、VAN、VAT、VET、VIE、WAD、WAG、WAR“是”、“是”、“方式”、“我们”、“网络”、“WED”、“WEE”、“WET”、“WET”、“WET”、“WET”、“WET”、“WET”、“WHO”、“WHY”、“WIN”、“WIT”、“WOK”、“WON”、“WOO”、“WOW”、“WRY”、“WU”、“YAM”、“YAP”、“YAP”、“YAW”、“YE”、“YES”、“YET”、“YOU”、“ABED”、“ABED”、“ABEL”、“ABET”、“ABUT”、“ACHE”、“ACME”、“ACRE”、“ACTA”、“ACTA”、“ADAM”、“ADDS”、“ADDS”、“ADEN”、“AFAR”、“AFRO”、“AGEE”、“AHEM”、“AHEM”、“AHOY”、“AIDA”、“AIDA”、“AIDS”,“艾里”、“艾尔”、“艾尔嘉”、“阿兰”、“亚历克”、“阿尔加”、“阿利亚”、“艾莉”、“阿尔玛”、“芦荟”、“阿尔瓦”、“阿尔托”、“阿门”、“艾姆斯”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿门”、“阿,“AVID”、“AVIS”、“AVON”、“AVOW”、“awy”、“awy”、“BABE”、“BACH”、“BACK”、“BADE”、“BAIL”、“BAIT”、“BAKE”、“BALL”、“BALL”、“BALL”、“BALL”、“BALL”、“BALL”、“BALM”、“BAND”、“BANK”、“BARB”、“BARD”、“BARD”、“BARR”、“BASE”、“BASH”、“BASK”、“BASH”、“BASH”、“BAWD”、“BAWL”、“BEAD”、“BEAR”、“BEAM”、“BEAM”、“BEAM”、“BEAR”、“BEAR”、“BEAR”、“BEAR”、“BEAR”、“BEAR”、“BEAR”、“BEAT”、“BEAR”、“BEAT”、“BEAT”、“BEAT”、“BEAR”、“BEAT”、“BEAT”、“be“beat”、“BEAU”、“BECK”、“BEEF”、“BEER”、“BEET”、“BEET”、“BELA”、“BELL”、“BELT”、“BEND”、“BENT”、“BERG”、“BERN”、“BERT”、“BESS”、“BEST”、“BETA”、“BETA”、“BETH”、“BHOY”、“BIAS”、“BIDE”、“BIDE”、“BIND”、“BING”、“BIRD”、“BITE”、“BITS”、“BLAB”、“BLAT”、“blod”、“BLOB”、“BLOC”、“BLOT”、“BLOW”、“BLUE”、“BLUM”、“BLUM”、“BOAR”、“BOAT”,“博卡”、“博克”、“博德”、“身体”,
"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",
“BOGY”、“BOHR”、“BOIL”、“BOLD”、“BOLO”、“BOLT”、“BOMB”、“BONE”、“BONG”、“BONN”、“BONY”、“BOOK”、“BOOM”、“BOOT”、“BORG”、“BORN”、“BOSE”、“BOSS”、“Bost”、“Bost”、“Bost”、“Board”、“BRAD”、“BRAE”、“BRAG”、“BRAG”、“BRAN”、“BRAY”、“BREW”、“BRIG”、“BRIG”、“BRIM”、“BRIM”、“BROW”、“BUCK”、“BUFF”、“BUFF”、“Bump”、“BULL”、“BULK”、“BUNK”、“BUNT”“,”浮标“,”伯格“,”布尔“,”伯恩“,”布尔“,”布尔“,”布什“,”巴斯“,”半身“,”忙碌“,”字节“,”凯蒂“,”咖啡“,”凯奇“,”凯恩“,”蛋糕“,”小牛“,”呼叫“,”冷静“,”来了“,”甘蔗“,”罐头“,”卡“,”关怀“,”卡尔“,”卡尔“,”卡尔“,”卡尔“,”卡尔“,”卡夫“,”现金“,”木桶“,”铸造“,”洞穴“,”凯尔“,“CHEW”、“CHIC”、“CHIN”、“CHOU”、“CHOW”、“CHUB”、“CHUG”、“CHUM”、“CITE”、“CITY”、“COLD”、“CLAM”、“CLAM”、“clud”、“CLOG”、“CLUB”、“CLUE”、“CLUE”、“COAL”、“COAT”、“COCA”、“COCK”、“COCO”、“CODE”、“CODY”、“COED”、“COED”、“COIL”、“COIN”、“COKE”、“COLD”、“COLT”、“COMA”、“coom”、“COME”、“COOK”、“COOL”、“coom”、“COOL”、“COON”、“CORE”、“CORE”“,”科克“,”玉米“,”成本“,”海湾“,”风帽“,”螃蟹“,”峭壁“,”克拉姆“,”克雷“,”船员“,”婴儿床“,”乌鸦“,”积垢“,”古巴“,”立方体“,”袖口“,”CULL“,”邪教“,”城市大学“,”路缘“,”凝乳“,”治疗“,”卷曲“,”短切“,”达德“,”戴尔“,”达纳“,”丹恩“,”丹克“,”达克“,”黑暗“,”达恩“,”达恩“,”达恩“,”达,“死亡”、“失聪”、“交易”、“迪安”、“亲爱的”、“债务”、“甲板”、“契约”、“相信”、“鹿”、“灵巧”、“反抗”、“戴尔”、“凹痕”、“否认”、“桌子”、“拨号”、“骰子”、“死亡”、“节食”、“一角”、“吃饭”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮”、“叮“德鲁”、“德鲁”、“德鲁”、“德鲁”、“德鲁”、“德鲁”、“德鲁”、“毒品”、“鼓”、“双”、“鸭”、“风管”、“决斗”、“二重奏”、“杜克”、“沉闷”、“哑巴”、“沙丘”、“灌篮”、“黄昏”、“灰尘”、“职责”、“每个”、“伯爵”、“挣”、“轻松”、“东方”、“轻松”、“埃本”、“回声”、“埃迪”、“伊甸”、“边缘”、“边缘”、“边缘”、“编辑”、“埃德娜”、“伊根”、“伊兰”、“厄尔巴”、“埃拉”、“埃米尔”,“发射”,“爱玛”,“结束”,“埃里克”,“厄洛斯”,“甚至”,“曾经”,“邪恶”,“眼睛”,“脸”,“事实”,“褪色”,“失败”,“FAIN”,“公平”,“假”,“堕落”,“名誉”,“芳”,“农场”,“快速”,“命运”,“小鹿”,“恐惧”,“专长”,“饲料”,“感觉”,“脚”,“跌倒”,“感觉”,“感觉”,“FEND”,“FEND”,“蕨类”,“FEST”,“封地”,“无花果”,“文件”,“填充”,“胶片”,“发现”,“罚款”,“芬克”,“火”,“坚定”“,”鱼“,”菲斯克“,”拳“,”飞“,”五“,”旗“,”高射“,”火焰“,”扁“,”缺陷“,”跳蚤“,”逃走“,”飞“,”飞“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛“,”弗洛,“弗雷”、“弗雷”、“青蛙”、“从”、“燃料”、“满”、“烟”、“基金”、“芬克”、“愤怒”、“导火索”、“大惊小怪”、“GAFF”、“GAGE”、“GAIL”、“增益”、“步态”、“GALA”、“GALE”、“GALL”、“GALL”、“GALT”、“游戏”、“帮派”、“GARB”、“GARY”、“GASH”、“GATE”、“GAUL”、“GAUR”、“Give”、“GAWK”、“GELD”、“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",
“GETS”、“GIBE”、“GEFT”、“GILD”、“GILL”、“GILT”、“GINA”、“GIRD”、“GIST”、“GIST”、“GIST”、“GEAD”、“GLEE”、“GLOB”、“GLOM”、“GLOW”、“GLUE”、“GLUE”、“GLUM”、“GLUM”、“GLUT”、“GLUE”、“GLUM”、“GLUT”、“GOAD”、“GOER”、“GOES”、“GOOD”、“GOLD”、“GOOG”、“GOOG”、“GOURE”、“GOURE”、“GOURE”、“GORY”、“GOUT”、“GOUT”、“GOUT”、“GRAM”、“GRAD”、“GRAD”、“GRED”、“GRED”、“GRED”、“GRED”、“GREED”、“GRED”、“GRED”、““格里姆”、“露齿而笑”、“砂砾”、“成长”、“蛴螬”、“海湾”、“海鸥”、“冈克”、“古鲁”、“古斯特”、“格温”、“格温”、“哈格”、“哈格”、“哈克”、“冰雹”、“头发”、“黑尔”、“半”、“霍尔”、“光晕”、“停止”、“手”、“挂”、“汉克”、“汉斯”、“硬”、“哈克”、“伤害”、“哈特”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“哈奇”、“,“HEBE”、“HECK”、“HEED”、“HEED”、“HEEL”、“HEFT”、“HOLD”、“HELL”、“HELM”、“HERB”、“HERD”、“HERS”、“HESS”、“HEWN”、“HICK”、“HIGH”、“HIGH”、“HILL”、“HILL”、“HILT”、“HIND”、“HIND”、“HINT”、“HIRE”、“HISS”、“HISS”、“HIVE”、“Hove”、“HOBO”、“HOFF”、“HOLD”、“HOLM”、“HOLT”、“HOME”、“HONE”、“HONK”、“HOOK”、“HOOD”、“HOOD”、“HOOT”、“HOOT”、“HOOT”、“HOUR”、“HOUR”、“HOUR”、“HOUR”、“HOUR”、“HOUR”、“HOUR”、“HOUR”、“HOUR”、“HOUR“,”霍夫“,”豪“,”豪尔“,”霍伊特“,”哈克“,”霍伊特“,”哈夫“,”巨大“,”休“,”雨果“,”绿巨人“,”赫尔“,”亨特“,”赫德“,”赫尔“,”赫特“,”赫德“,”赫德“,”赫德“,”赫德“,”赫德“,”赫德“,”海姆“,”海姆“,”朱鹭“,”图标“,”意念“,”闲散“,”伊菲“,”印加“,”英寸“,”英“,”离子“,”IOTA,“JAVA”、“JEAN”、“JEFF”、“JERK”、“JESS”、“JEST”、“JIBE”、“JILL”、“JILT”、“JIVE”、“JOAN”、“JOBS”、“JOCK”、“JOEL”、“JOEY”、“JOHN”、“JOIN”、“JOIN”、“JOKE”、“JOLT”、“JOVE”、“JOVE”、“JUDD”、“Judu”、“JUKE”、“JUKE”、“JUNE”、“JUNK”、“JUNO”、“JUST”、“JUST”、“JUST”、“JUTE”、“KAHN”、“KALE”、“KANE”、“KANE”、“KANT”、“KANT”、“KATE”、“Keer”、“KEEN”、“KENO”、“KENO”、“KENT”、“KENT”、“KENT”、“KERN”“,”克尔“,”基斯“,”踢“,”杀“,”善良“,”国王“,”柯克“,”亲吻“,”风筝“,”三K党“,”膝盖“,”知道“,”针织“,”旋钮“,”结“,”知道“,”科赫“,”孔“,”工藤“,”库尔德“,”库尔德“,”库尔特“,”凯尔“,”蕾丝“,”蕾丝“,”女士“,”莱德“,”莱德“,”莱德“,”莱恩“,”莱尔“,”湖“,”羔羊“,”跛“,“法律”、“谎言”、“铅”、“叶”、“漏”、“瘦”、“李尔王”、“韭菜”、“韭菜”、“LEER”、“LEND”、“LEND”、“LENS”、“LEON”、“LESK”、“LESS”、“LEST”、“LETS”、“撒谎者”、“虱子”、“舔”、“谎言”、“谎言”、“LIU”、“LIFE”、“LILT”、“LILY”、“LIMA”、“LIMB”、“LIME”、“LIND”、“LINE”、“LINK”、“LINT”、“LION”、“LION”、“LISA”、“LIVE”、“LOAD”、“LOAF”、“LOAF”、“LIFE”、“LIFE”、“LIFT”、“LIFT”、“LIFT”、“LIL”、“LIL”、“LIL”、“LIMA”、“LIMA”、“LIMA”、“LIM“Loom”、“Loom”、“LOAN”、“LOCK”、“LOFT”、“LOGE”、“LOIS”、“LOLA”、“LONG”、“LOOK”、“LOON”、“LOOT”、“Lood”、“LOST”、“LOST”、“LOST”、“LOUD”、“LOUD”、“LOUD”、“LOWE”、“LUKE”、“LULU”、“LUND”、“LUNG”、“LURA”、“LURE”、“Lover”、“LUSH”、“LUST”、“LYLE”、“LYNN”、“LYON”、“Lyna”、“LYRA”、“MACE”、“MADE”、“MAGI”、“MAID”、“MAID”、“MAIL”、“MAIN”、“MAKE”,“男性”、“马里”、“商场”、“麦芽”、“玛娜”、“曼恩”、“许多”、“马克”、“玛尔”、“马克”、“火星”、“玛莉”、“玛斯”、“玛斯”、“玛斯”、“玛斯”、“玛斯”、“玛斯”、“玛斯”、“玛斯”、“玛特”、“玛斯”、“玛斯”、“玛特”、“玛斯”、“梅奥”、“米德”、“美赞臣”、“美赞臣”、“美赞臣”、“美赞臣”、“美赞臣”、“美赞臣”、“美赞臣”、“美赞臣”、“美赞誉”、“美赞誉”、“美赞誉”、“美赞誉”、“美赞誉”、“美赞誉”、“美赞誉”、“美,
"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",
“MIKE”、“MILE”、“MILK”、“MILL”、“MILT”、“MIMI”、“MIND”、“MINI”、“MINK”、“MINT”、“MINT”、“MINT”、“MIRE”、“MISS”、“MIST”、“MITE”、“MITT”、“MOAN”、“MOAT”、“MOAT”、“MOCK”、“MODE”、“MOLD”、“MOLL”、“MOLT”、“MONA”、“MONK”、“MONT”、“MOOD”、“MOOR”、“MORN”、“MORT”、“MOSS”、“MOST”、“MOST”、“MOST”、“MOST”、“MOST”、“MOVE”、“MUCK”、“MUFF”、“MULE”“MULL”、“MURK”、“MUSH”、“MUST”、“MUTE”、“MUTT”、“MUTT”、“MYRA”、“神话”、“NAGY”、“NAIL”、“NAIR”、“NAME”、“NARY”、“NASH”、“NAVE”、“NAIL”、“NEAR”、“NEAR”、“NEIL”、“NELL”、“NELL”、“NELL”、“NERO”、“NESS”、“NEWS”、“NIBS”、“NICE”、“NINA”、“NINE”、“NINE”、“NOAH”、“NODE”、“NOEL”、“NOLL”、“NONE”、“NOOK”、“NOON”、“NORM”,“鼻子”、“音符”、“名词”、“新星”、“裸体”、“空”、“麻木”、“誓言”、“服从”、“双簧管”、“奥丁”、“俄亥俄”、“油性”、“点”、“好”、“奥拉夫”、“老调”、“奥尔加”、“奥林”、“阿曼”、“预兆”、“省略”、“一次”、“一次”、“唯一”、“上”、“责任”、“口述”、“狂欢”、“奥斯陆”、“奥蒂斯”、“奥托”、“哎哟”、“驱逐”、“出局”、“椭圆形”、“烤箱”、“结束”、“猫头鹰”、“拥有”、“四人”、“退出”、“库德”、“种族”“RACK”,“RACY”,“RAFT”,“RAGE”,“RAID”,“RAIL”,“RAIN”,“RAKE”,“RANK”,“RANT”,“稀有”,“RASH”,“RATE”,“RAVE”,“RAYS”,“READ”,“REAL”,“REAM”,“REAM”,“RECK”,“REED”,“REEK”,“REEK”,“REEK”,“REED”,“REIN”,“REND”,“REND”,“RENT”,“REST”,“RICE”,“RIFT”,“RILL”,“RILL”,“RILL”,“RILL”,“RILL”,“RILL”,“RILL”,“RILL”,“RINK”,“RINK”,“RINK”,“RISK”,“RISK”,“RISK”,“RISE”,“RISK”,“RISK”,“,“漫游”、“咆哮”、“长袍”、“摇滚”、“骑马”、“旋转”、“摇滚”、“罗马”、“ROOD”、“屋顶”、“ROOK”、“房间”、“根”、“ROSA”、“ROSE”、“ROSS”、“ROSE”、“ROTH”、“ROUT”、“ROVE”、“ROWE”、“ROWE”、“ROWE”、“RUBE”、“RUBY”、“RUDE”、“RUNG”、“RUNT”、“RUSE”、“RUSK”、“RUSS”、“SACK”、“SACK”、“SAGE”、“SAGE”、“SAIL”、“SALE”、“SALK”、“SALE”、“Sake”、“Sake”、“Sake”、“Sake”、“Sake”、“Sake”、“SALE”、“SALE”、“SALK”、“Sake”、“Sake”、“Sake”、“SALK”、“Sake”、“Sake”、“Sa“SALT”、“SAME”、“SAND”、“SANE”、“sunk”、“SARA”、“SAUL”、“SAVE”、“say”、“SCAN”、“SCAR”、“SCAT”、“SCOT”、“SEAL”、“SEAM”、“SEEK”、“SEEK”、“see”、“see”、“see”、“SEND”、“SEND”、“SEND”、“set”、“SEWN”、“SHAG”、“SHAM”、“SHAW”、“SHAY”、“SHED”、“SHIM”、“SHIN”、“SHOD”、“SHOE”、“SHOT”、“SHOT”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW”、“SHOW,“SIDE”、“SIFT”、“SIFT”、“sight”、“SIGN”、“SILK”、“SILL”、“SILL”、“SIDE”、“SINE”、“SING”、“SINK”、“SIDE”、“SITE”、“SITE”、“SITE”、“SITE”、“SITE”、“SKAT”、“SKEW”、“SKEW”、“sk”、“sk”、“sk”、“sk”、“sk”、“sk”、“sk”、“sk”、“sk”、“slate”、“SLAY”、“SLAY”、“slib”、“slib”、“slib”、“slib”、“slib”、“slib”、“slib”、“slib”、“SLOB”、“SLOB”、“SLOB”、“SLOB”、“SLOB”、“slub”、“slub“浸泡”、“苏打”、“苏打”、“沙发”、“柔软”、“土壤”、“出售”、“一些”、“歌曲”、“很快”、“煤烟”、“酸痛”、“排序”、“灵魂”、“酸味”、“播种”、“刺”、“牡鹿”、“斯坦”、“星星”、“停留”、“干”、“炖”、“搅拌”、“斯托”、“存根”、“眩晕”、“诸如此类”、“肥皂水”、“西装”、“闷闷不乐”、“总数”、“歌曲”、“沉沦”、“肯定”、“冲浪”、“拭子”、“拭子”、“游泳”、“天鹅”、“斯瓦特”、“摇摆”,“游泳”、“游泳”、“TACK”、“TACK”、“TACK”、“TACK”、“TALK”、“TALK”、“TALL”、“TANK”、“TASK”、“TATE”、“TAUT”、“TEAL”、“TEAM”、“TEET”、“TECH”、“TEEM”、“TEEN”、“TEET”、“TELL”、“TENT”、“TENT”、“TERM”、“TERN”、“TERN”、“TESS”、“TEST”、“THAN”、“THAN”、“THEY”、“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" };
“暴徒”、“滴答声”、“潮水”、“整洁”、“捆绑”、“铁线”、“瓷砖”、“直到”、“倾斜”、“时间”、“蒂娜”、“蒂娜”、“蒂娜”、“蒂娜”、“蒂娜”、“轮胎”、“蟾蜍”、“多哥”、“辛劳”、“告诉”、“托尔”、“音调”、“通”、“托尼”、“带走”、“工具”、“嘟嘟”、“撕扯”、“撕扯”、“手提包”、“旅游”、“兜风”、“城镇”、“电车”、“电车”、“托盘”、“树”、“长途跋涉”、“三角”、“修剪”、“三重奏”、“小跑”、“小跑”、“特洛伊”、“真的”“TUBA”、“TUBE”、“TUCK”、“TUFT”、“TUCK”、“TUFT”、“TURN”、“TUNG”、“Turp”、“TUSK”、“TWIG”、“TWIT”、“ULAN”、“UNIT”、“Purce”、“USED”、“USED”、“UTAH”、“VAIL”、“VAIN”、“VALE”、“VARY”、“VAST”、“Vetal”、“VEDA”、“Veir”、“VEND”、“VEND”、“VENT”、“VERY”、“VERY”、“VERY”、“Vite”、“VOTE”、“VOTE”、“VOTE”、“VOTE”、“WACK”,“韦德”、“工资”、“哀号”、“等待”、“醒来”、“韦德”、“散步”、“墙”、“沃尔特”、“魔杖”、“旺德”、“旺德”、“沃德”、“温暖”、“警告”、“疣”、“洗”、“WAST”、“WATS”、“WATS”、“WATS”、“WATS”、“WATT”、“WAVE”、“WAVE”、“WAYS”、“WEAR”、“WEAR”、“WEAR”、“WEAR”、“weet”、“weet”、“weet”、“weet”、“weet”、“weet”、“weet”、“weet”、“WHAT”、“WHEE”、“whea”、“whea”、“WHOA”“,”谁“,”威克“,”妻子“,”野性“,”威尔“,”风“,”酒“,”翅膀“,”眨眼“,”维诺“,”丝“,”智“,”愿“,”与“,”狼“,”习惯“,”木“,”毛“,”字“,”穿“,”工作“,”虫“,”穿“,”编织“,”写“,”韦恩“,”耶鲁“,”杨“,”扬克“,”码“,”纱“,”哈欠“,”耶“,”年“;
Full Copyright Statement
完整版权声明
Copyright (C) The Internet Society (1998). All Rights Reserved.
版权所有(C)互联网协会(1998年)。版权所有。
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。