分享
 
 
 

RFC1760 - The S/KEY One-Time Password System

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

Network Working Group N. Haller

Request for Comments: 1760 Bellcore

Category: Informational February 1995

The S/KEY One-Time PassWord System

Status of this Memo

This memo provides information for the Internet community. This memo

does not specify an Internet standard of any kind. Distribution of

this memo is unlimited.

Abstract

This document describes the S/KEY* One-Time Password system as

released for public use by Bellcore and as described in reference

[3]. A reference implementation and documentation are available by

anonymous FTP from ftp.bellcore.com in the Directories pub/nmh/...

Overview

One form of attack on computing system connected to the Internet is

eavesdropping on network connections to oBTain login id's and

passwords of legitimate users. The captured login id and password

are, at a later time, used gain Access to the system. The S/KEY

One-Time Password system is designed to counter this type of attack,

called a replay attack.

With the S/KEY system, only a single use password ever crosses the

network. The user's secret pass-phrase never crosses the network at

any time, including during login or when executing other commands

requiring authentication sUCh as the UNIX commands passwd or su.

Thus, it is not vulnerable to eavesdropping/replay attacks. Added

security is provided by the property that no secret information need

be stored on any system, including the host being protected.

The S/KEY 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 "inside jobs" or against active attacks

where the potential intruder as able to intercept and modify the

packet stream.

Introduction

There are two sides to the operation of the S/KEY one-time password

system. On the client side, the appropriate one-time password must

be generated. On the host side, the server must verify the one-time

password and permit the secure changing of the user's secret pass-

phrase.

An S/KEY system client passes the user's secret pass-phrase through

multiple applications of a secure hash function to produce a one-time

password. On each use, the number of applications is reduced by one.

Thus a unique sequence of passwords is generated. The S/KEY system

host verifies the one-time password by making one pass though the

secure hash function and comparing the result with the previous one-

time password. This technique was first suggested by Leslie Lamport

[1].

Secure Hash Function

A secure hash function is a function that is easy to compute in the

forward direction, but computationally infeasible to invert. The

S/KEY system is based on the MD4 Message Digest algorithm designed by

Ronald Rivest [2]. Since the S/KEY authentication system went into

use, the MD5 Message Digest was released. We have chosen to continue

to use MD4 due the large number of client programs that have been

distributed. Some sites have generated functionally similar systems

based on MD5. Clearly clients and hosts must use the same secure

hash function to interoperate.

The S/KEY system one-time passwords are 64 bits in length. This is

believed to be long enough to be secure and short enough to be

manually entered (see below, Form of Passwords) when necessary.

The S/KEY system applies the secure hash function multiple times,

producing a 64 bit final output. MD4 accepts an arbitrary number of

bits as input and produces a 128 bit output. The S/KEY secure hash

function consists of applying MD4 to a 64 bit input and folding the

output of MD4 with exclusive or to produce a 64 bit output.

Generation of One-Time Passwords

This section describes the computation of the S/KEY one-time

passwords. It consists of a preparatory step in which all inputs are

combined, a generation step where the secure hash function is applied

multiple times, and an output function where the 64 bit one-time

password is displayed in readable form.

The client's secret pass phrase may be of any length and should be

more than eight characters. As the S/KEY secure hash function

described above accepts a 64 bit input, a preparatory step is needed.

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 a client to use the same secret pass phrase on multiple

machines (using different seeds) and to safely recycle secret

passwords by changing the seed. (For ease in parsing, the seed may

not contain any blanks, and should consist of strictly alphanumeric

characters.) The result of the concatenation is passed through MD4,

and then reduced to 64 bits by exclusive-OR of the two 8-byte halves.

The following code fragment uses the MD4 implementation defined in

RFC1320 [2] and defines the preparatory step:

strcpy(buf,seed);

strcat(buf,passwd);

MDbegin(&md)

MDupdate(&md,(unsigned char *)buf,8*buflen);

/* Fold result to 64 bits */

md.buffer[0] ^= md.buffer[2];

md.buffer[1] ^= md.buffer[3];

A sequence of one-time passwords is produced by applying the secure

hash function multiple times to the output of the preparatory step

(called S). That is, the first one-time password is produced by

passing S through the secure hash function a number of times (N)

specified by the user. The next one-time password 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 any succeeding password because doing so would

require inverting the hash function.

Form of Passwords

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 S/KEY system one-time password calculator programs

insert this password into the input stream, others make it available

for system cut and paste. Some arrangements require the one-time

password to be entered manually. The S/KEY system is designed to

facilitate this manual entry without impeding automatic methods. The

one-time password is therefore converted to, and accepted as, a

sequence of six short (1 to 4 letter) English words. Each word is

chosen from a dictionary of 2048 words; at 11 bits per word, all

one-time passwords may be encoded. Interoperability requires at all

S/KEY system hosts and calculators use the same dictionary. The

standard dictionary is attached to this RFC.

Verification of One-Time Passwords

A function on the host system that requires S/KEY authentication is

eXPected to issue an S/KEY challenge. This challenge give the client

the current S/KEY parameters - the sequence number and seed. It is

important that the S/KEY challenge be in a standard format so that

automated clients (see below) can recognize the challenge and extract

the parameters. The format of the challenge is:

s/key sequence_integer seed

The three tokens are separated by single space characters. The

challenge is terminated by a blank or a newline.

Given the parameters and the secret pass phrase, the client can

compute (or lookup) the one time password. It then passes it to the

host system where it can be verified.

The host system has a file (on the UNIX reference implementation it

is /etc/skeykeys) containing, for each user, the one-time password

from the last successful login, or it may be initialized with the

first one-time password of the sequence using the keyinit command

(this command name may be implementation dependent). To verify an

authentication attempt, it passes the transmitted one-time password

through the secure hash function one time. If the result of this

operation matches the stored previous one-time password, the

authentication is successful and the accepted one-time password is

stored for future use.

Because the number of hash function applications executed by the

client decreases by one each time, at some point the user must

reinitialize the system of be unable to login again. This is done by

using the keyinit command which allows the changing of the secret

pass phrase, the iteration count, and the seed. A frequent technique

is to increment a trailing digit(s) of the seed and to reset the

iteration count (to something in range of 500-1000).

Clients

Several programs are available to calculate S/KEY one time passwords.

Included in the reference implementation are command line interfaces

for UNIX and PC systems (key), TSR interfaces for PCs (ctkey,

termkey, and popkey), and GUI interfaces for Macintosh and Windows

(keyapp and un-named Macintosh interface).

The most basic calculator is the key command whose format is:

key [-n count] sequence seed

The optional count is used to display more than a single one time

password. This is useful to create a paper list of one time

passwords.

The most automated calculator is the termkey program that runs as a

Terminate and Stay Resident (TSR) program on a PC. It scans the

screen to find the S/KEY parameters, prompts for the secret pass

phrase, and stuffs the one time password into the keyboard buffer.

Acknowledgements

The idea behind S/KEY authentication was first proposed by Leslie

Lamport [1]. The specific system described was proposed by Phil

Karn, who also wrote most of the reference implementation.

References

[1] Lamport, L., "Password Authentication with Insecure

Communication", Communications of the ACM 24.11, November 1981,

770-772.

[2] Rivest, R., "The MD4 Message-Digest Algorithm", RFC1320, MIT and

RSA Data Security, Inc., April 1992

[3] Haller, N., "The S/KEY One-Time Password System", Proceedings of

the ISOC Symposium on Network and Distributed System Security,

February 1994, San Diego, CA

[4] Haller, N., and R. Atkinson, "On Internet Authentication", RFC

1704, Bell Communications Research and Naval Research Laboratory,

October 1994

Security Considerations

This entire document is about Security Considerations.

Author's Address

Neil Haller

Bellcore

MRE 2Q-280

445 South Street

Morristown, NJ, 07960-6438, USA

Phone: +1 201 829-4478

Fax: +1 201 829-2504

EMail: nmh@bellcore.com

Dictionary for Converting Between S/KEY 6-Word and Binary Formats

This dictionary is from the module put.c. The code for this module,

and an implementation of the entire S/KEY One Time Password System is

available by anonymous ftp from ftp.bellcore.com in the directory

pub/nmh/skey.

{ "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" };

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