Replace word lists by PGP word lists

from https://en.wikipedia.org/wiki/PGP_word_list
This commit is contained in:
jaseg 2018-12-01 14:02:37 +09:00
parent e613f1b9a2
commit a818c94fc4
8 changed files with 851 additions and 598 deletions

View file

@ -126,75 +126,75 @@ class Magic:
nfirst = ", ".join(elems[:-1])
return f'{nfirst} and {elems[-1]}'
ADJECTIVES = '''
wrathful worthy weird warm volatile veiled vacuous useless
upset unsoiled unsightly unpronounceable unfriendly unfree unfit unfaithful
unchaste unbroken unbound unblessed unbefitting unaltered unabused unable
ugly tongued thorny thirsty thick terminal ten-sided teeming
tangerine taken substantial stupefying stringy strange stillborn sticky
stagnant spongy sour soul-destroying smoldering smitten slain six-sided
shifting shadowy severed seven-sided serene salty rust-red royal
rotten riddled resentful regrettable reeking rare rank rancid
quiescent putrid putrid putrescent prehistoric predatory predaceous porous
poisonous pierced phlegmatic petrifying pessimal pathetic odorless oddish
obsessed obscene numb nine-sided nasty mysterious mute musky
morose moribund moldy miasmic material many-lobed malodorous malign
maimed luminescent low-cut lousy live limp lifeless leering
leaky layered latent lackluster jagged irregular iridescent intangible
infinite inept incomprehensible in-between improper idle hunted hideous
heavy hairy guilty grotesque grey greedy gory gorgeous
gooey golden-brown golden ghastly frostbitten fresh-cut freakish frantic
fossilized formless formidable floccose five-lobed firstborn filthy fickle
fetid fertile fearful fatal familiar fallen fallacious faint
faceless extinct esoteric errant emergent elastic eight-sided eerie
ebon dysphoric dying dumb dull-purple dull dull dull
dormant doomed disfigured dirty defenseless deep-pink deep deconsecrated
deathlike deadly dead dark-blue dark curly curious cured
cunning crystalline cryptic crying crumbly crimson crested creepy
crazy corrupt corporeal contemptible contained concrete cloudy chopped
chained caustic catholic cathartic captive cancerous cabalistic burnt
buoyant bronze-red bronze broken bright-red breathless bound bound
bottomless bony bodiless blue-lilac blue bloody bloodthirsty bloodsucking
bloodstained bloodcurdling blonde blistered blank bitter bilgy bewitched
befouled beardless bastardly barbed baleful balding awkward awful
atrocious arcane appalling antic anonymous angry ample ambiguous
amber-green amber aghast activated acidic abused abstruse abject
'''.split()
EVEN = '''
aardvark absurd accrue acme adrift adult afflict ahead
aimless Algol allow alone ammo ancient apple artist
assume Athens atlas Aztec baboon backfield backward banjo
beaming bedlamp beehive beeswax befriend Belfast berserk billiard
bison blackjack blockade blowtorch bluebird bombast bookshelf brackish
breadline breakup brickyard briefcase Burbank button buzzard cement
chairlift chatter checkup chisel choking chopper Christmas clamshell
classic classroom cleanup clockwork cobra commence concert cowbell
crackdown cranky crowfoot crucial crumpled crusade cubic dashboard
deadbolt deckhand dogsled dragnet drainage dreadful drifter dropper
drumbeat drunken Dupont dwelling eating edict egghead eightball
endorse endow enlist erase escape exceed eyeglass eyetooth
facial fallout flagpole flatfoot flytrap fracture framework freedom
frighten gazelle Geiger glitter glucose goggles goldfish gremlin
guidance hamlet highchair hockey indoors indulge inverse involve
island jawbone keyboard kickoff kiwi klaxon locale lockup
merit minnow miser Mohawk mural music necklace Neptune
newborn nightbird Oakland obtuse offload optic orca payday
peachy pheasant physique playhouse Pluto preclude prefer preshrunk
printer prowler pupil puppy python quadrant quiver quota
ragtime ratchet rebirth reform regain reindeer rematch repay
retouch revenge reward rhythm ribcage ringbolt robust rocker
ruffled sailboat sawdust scallion scenic scorecard Scotland seabird
select sentence shadow shamrock showgirl skullcap skydive slingshot
slowdown snapline snapshot snowcap snowslide solo southward soybean
spaniel spearhead spellbind spheroid spigot spindle spyglass stagehand
stagnate stairway standard stapler steamship sterling stockman stopwatch
stormy sugar surmount suspense sweatband swelter tactics talon
tapeworm tempest tiger tissue tonic topmost tracker transit
trauma treadmill Trojan trouble tumor tunnel tycoon uncut
unearth unwind uproot upset upshot vapor village virus
Vulcan waffle wallet watchword wayside willow woodlark Zulu
'''.split()
NOUNS = '''
yolk writing wrath wound worm wings whistle watchdog
waste vomit vermin variation underachievement tusk troll trick
transplant transgression tooth tongue tickle tick thorn thistle
thing terror tentacle tease surrender surge sucker substance
storm stone stew stalk squid sprout sponge spill
spider sphere spectacle speck spawn soul solution snout
snake smell sloth slime slice sleeper slave sinew
shell shape seizure seed schism scam scale sainthood
root robe roach rinse remains relay rejuvenation realization
reaction ransom pupa pride prey predator potion pornography
polyp plum pleasure pitch pigeon phenomenon pest periwinkle
percolation parasite pair oyster orphan orgasm organism orchid
object nail mushroom murder mucus movement mother mold
mist mildew metal mesh meddling mayhem masterpiece masonry
mask manhood maggot lust loop living_thing liquor liquid
lining laceration knife kitten kiss jumper jest instrument
injustice injury influence indulgence incursion impulse imago hound
horn hook hoof heirloom heart hawk hare hair
gulp guardian grass goat gnat gluttony glowworm gasp
game fusion fungus frustration frog foul foot food
fog foal fluke fluff flower flicker flea flattery
flask flare firefly finger filtration female feeder feather
fart fang failure face fabrication extract exodus evil
envy enema embryo egress echo eater ear dwarf
dust drop draft domestication distortion dew depravity deity
death daughter dash dagger culture crutch crow critter
creeper creation crab corruption cocoon claw chip child
cell catch carving carrot carnival cancer butterfly burn
buildup brush brew bottle boot book bone blunder
blot blood blink bite bird benthos beak basket
bark ball baby axolotl ashes artifact arson armor
apparition antenna alms alienation advent adornment abomination abandonment
'''.split()
ODD = '''
adroitness adviser aftermath aggregate alkali almighty amulet amusement
antenna applicant Apollo armistice article asteroid Atlantic atmosphere
autopsy Babylon backwater barbecue belowground bifocals bodyguard bookseller
borderline bottomless Bradbury bravado Brazilian breakaway Burlington businessman
butterfat Camelot candidate cannonball Capricorn caravan caretaker celebrate
cellulose certify chambermaid Cherokee Chicago clergyman coherence combustion
commando company component concurrent confidence conformist congregate consensus
consulting corporate corrosion councilman crossover crucifix cumbersome customer
Dakota decadence December decimal designing detector detergent determine
dictator dinosaur direction disable disbelief disruptive distortion document
embezzle enchanting enrollment enterprise equation equipment escapade Eskimo
everyday examine existence exodus fascinate filament finicky forever
fortitude frequency gadgetry Galveston getaway glossary gossamer graduate
gravity guitarist hamburger Hamilton handiwork hazardous headwaters hemisphere
hesitate hideaway holiness hurricane hydraulic impartial impetus inception
indigo inertia infancy inferno informant insincere insurgent integrate
intention inventive Istanbul Jamaica Jupiter leprosy letterhead liberty
maritime matchmaker maverick Medusa megaton microscope microwave midsummer
millionaire miracle misnomer molasses molecule Montana monument mosquito
narrative nebula newsletter Norwegian October Ohio onlooker opulent
Orlando outfielder Pacific pandemic Pandora paperweight paragon paragraph
paramount passenger pedigree Pegasus penetrate perceptive performance pharmacy
phonetic photograph pioneer pocketful politeness positive potato processor
provincial proximate puberty publisher pyramid quantity racketeer rebellion
recipe recover repellent replica reproduce resistor responsive retraction
retrieval retrospect revenue revival revolver sandalwood sardonic Saturday
savagery scavenger sensation sociable souvenir specialist speculate stethoscope
stupendous supportive surrender suspicious sympathy tambourine telephone therapist
tobacco tolerance tomorrow torpedo tradition travesty trombonist truncated
typewriter ultimate undaunted underfoot unicorn unify universe unravel
upcoming vacancy vagabond vertigo Virginia visitor vocalist voyager
warranty Waterloo whimsical Wichita Wilmington Wyoming yesteryear Yucatan
'''.split()
class NoiseEngine:
def __init__(self, host_key, packetizer, debug=False):

View file

@ -24,8 +24,7 @@ add_library (usbhost
cobs.c
noise.c
packet_interface.c
adjectives.c
nouns.c
words.c
hid_keycodes.c
)

View file

@ -1,262 +0,0 @@
#include "words.h"
const char * const adjectives[256] = {
"wrathful", /* 0 */
"worthy", /* 1 */
"weird", /* 2 */
"warm", /* 3 */
"volatile", /* 4 */
"veiled", /* 5 */
"vacuous", /* 6 */
"useless", /* 7 */
"upset", /* 8 */
"unsoiled", /* 9 */
"unsightly", /* 10 */
"unpronounceable", /* 11 */
"unfriendly", /* 12 */
"unfree", /* 13 */
"unfit", /* 14 */
"unfaithful", /* 15 */
"unchaste", /* 16 */
"unbroken", /* 17 */
"unbound", /* 18 */
"unblessed", /* 19 */
"unbefitting", /* 20 */
"unaltered", /* 21 */
"unabused", /* 22 */
"unable", /* 23 */
"ugly", /* 24 */
"tongued", /* 25 */
"thorny", /* 26 */
"thirsty", /* 27 */
"thick", /* 28 */
"terminal", /* 29 */
"ten-sided", /* 30 */
"teeming", /* 31 */
"tangerine", /* 32 */
"taken", /* 33 */
"substantial", /* 34 */
"stupefying", /* 35 */
"stringy", /* 36 */
"strange", /* 37 */
"stillborn", /* 38 */
"sticky", /* 39 */
"stagnant", /* 40 */
"spongy", /* 41 */
"sour", /* 42 */
"soul-destroying", /* 43 */
"smoldering", /* 44 */
"smitten", /* 45 */
"slain", /* 46 */
"six-sided", /* 47 */
"shifting", /* 48 */
"shadowy", /* 49 */
"severed", /* 50 */
"seven-sided", /* 51 */
"serene", /* 52 */
"salty", /* 53 */
"rust-red", /* 54 */
"royal", /* 55 */
"rotten", /* 56 */
"riddled", /* 57 */
"resentful", /* 58 */
"regrettable", /* 59 */
"reeking", /* 60 */
"rare", /* 61 */
"rank", /* 62 */
"rancid", /* 63 */
"quiescent", /* 64 */
"putrid", /* 65 */
"putrid", /* 66 */
"putrescent", /* 67 */
"prehistoric", /* 68 */
"predatory", /* 69 */
"predaceous", /* 70 */
"porous", /* 71 */
"poisonous", /* 72 */
"pierced", /* 73 */
"phlegmatic", /* 74 */
"petrifying", /* 75 */
"pessimal", /* 76 */
"pathetic", /* 77 */
"odorless", /* 78 */
"oddish", /* 79 */
"obsessed", /* 80 */
"obscene", /* 81 */
"numb", /* 82 */
"nine-sided", /* 83 */
"nasty", /* 84 */
"mysterious", /* 85 */
"mute", /* 86 */
"musky", /* 87 */
"morose", /* 88 */
"moribund", /* 89 */
"moldy", /* 90 */
"miasmic", /* 91 */
"material", /* 92 */
"many-lobed", /* 93 */
"malodorous", /* 94 */
"malign", /* 95 */
"maimed", /* 96 */
"luminescent", /* 97 */
"low-cut", /* 98 */
"lousy", /* 99 */
"live", /* 100 */
"limp", /* 101 */
"lifeless", /* 102 */
"leering", /* 103 */
"leaky", /* 104 */
"layered", /* 105 */
"latent", /* 106 */
"lackluster", /* 107 */
"jagged", /* 108 */
"irregular", /* 109 */
"iridescent", /* 110 */
"intangible", /* 111 */
"infinite", /* 112 */
"inept", /* 113 */
"incomprehensible", /* 114 */
"in-between", /* 115 */
"improper", /* 116 */
"idle", /* 117 */
"hunted", /* 118 */
"hideous", /* 119 */
"heavy", /* 120 */
"hairy", /* 121 */
"guilty", /* 122 */
"grotesque", /* 123 */
"grey", /* 124 */
"greedy", /* 125 */
"gory", /* 126 */
"gorgeous", /* 127 */
"gooey", /* 128 */
"golden-brown", /* 129 */
"golden", /* 130 */
"ghastly", /* 131 */
"frostbitten", /* 132 */
"fresh-cut", /* 133 */
"freakish", /* 134 */
"frantic", /* 135 */
"fossilized", /* 136 */
"formless", /* 137 */
"formidable", /* 138 */
"floccose", /* 139 */
"five-lobed", /* 140 */
"firstborn", /* 141 */
"filthy", /* 142 */
"fickle", /* 143 */
"fetid", /* 144 */
"fertile", /* 145 */
"fearful", /* 146 */
"fatal", /* 147 */
"familiar", /* 148 */
"fallen", /* 149 */
"fallacious", /* 150 */
"faint", /* 151 */
"faceless", /* 152 */
"extinct", /* 153 */
"esoteric", /* 154 */
"errant", /* 155 */
"emergent", /* 156 */
"elastic", /* 157 */
"eight-sided", /* 158 */
"eerie", /* 159 */
"ebon", /* 160 */
"dysphoric", /* 161 */
"dying", /* 162 */
"dumb", /* 163 */
"dull-purple", /* 164 */
"dull", /* 165 */
"dull", /* 166 */
"dull", /* 167 */
"dormant", /* 168 */
"doomed", /* 169 */
"disfigured", /* 170 */
"dirty", /* 171 */
"defenseless", /* 172 */
"deep-pink", /* 173 */
"deep", /* 174 */
"deconsecrated", /* 175 */
"deathlike", /* 176 */
"deadly", /* 177 */
"dead", /* 178 */
"dark-blue", /* 179 */
"dark", /* 180 */
"curly", /* 181 */
"curious", /* 182 */
"cured", /* 183 */
"cunning", /* 184 */
"crystalline", /* 185 */
"cryptic", /* 186 */
"crying", /* 187 */
"crumbly", /* 188 */
"crimson", /* 189 */
"crested", /* 190 */
"creepy", /* 191 */
"crazy", /* 192 */
"corrupt", /* 193 */
"corporeal", /* 194 */
"contemptible", /* 195 */
"contained", /* 196 */
"concrete", /* 197 */
"cloudy", /* 198 */
"chopped", /* 199 */
"chained", /* 200 */
"caustic", /* 201 */
"catholic", /* 202 */
"cathartic", /* 203 */
"captive", /* 204 */
"cancerous", /* 205 */
"cabalistic", /* 206 */
"burnt", /* 207 */
"buoyant", /* 208 */
"bronze-red", /* 209 */
"bronze", /* 210 */
"broken", /* 211 */
"bright-red", /* 212 */
"breathless", /* 213 */
"bound", /* 214 */
"bound", /* 215 */
"bottomless", /* 216 */
"bony", /* 217 */
"bodiless", /* 218 */
"blue-lilac", /* 219 */
"blue", /* 220 */
"bloody", /* 221 */
"bloodthirsty", /* 222 */
"bloodsucking", /* 223 */
"bloodstained", /* 224 */
"bloodcurdling", /* 225 */
"blonde", /* 226 */
"blistered", /* 227 */
"blank", /* 228 */
"bitter", /* 229 */
"bilgy", /* 230 */
"bewitched", /* 231 */
"befouled", /* 232 */
"beardless", /* 233 */
"bastardly", /* 234 */
"barbed", /* 235 */
"baleful", /* 236 */
"balding", /* 237 */
"awkward", /* 238 */
"awful", /* 239 */
"atrocious", /* 240 */
"arcane", /* 241 */
"appalling", /* 242 */
"antic", /* 243 */
"anonymous", /* 244 */
"angry", /* 245 */
"ample", /* 246 */
"ambiguous", /* 247 */
"amber-green", /* 248 */
"amber", /* 249 */
"aghast", /* 250 */
"activated", /* 251 */
"acidic", /* 252 */
"abused", /* 253 */
"abstruse", /* 254 */
"abject", /* 255 */
};

View file

@ -243,8 +243,8 @@ int pairing_check(struct NoiseState *st, const char *buf) {
if (strncasecmp(p, "and", plen)) { /* ignore "and" */
int num = -1;
for (int i=0; i<256; i++) {
if ((!strncasecmp(p, adjectives[i], plen) && plen == strlen(adjectives[i]))
|| (!strncasecmp(p, nouns[i], plen) && plen == strlen(nouns[i] ))) {
if ((!strncasecmp(p, even[i], plen) && plen == strlen(even[i]))
|| (!strncasecmp(p, odd[i], plen) && plen == strlen(odd[i] ))) {
//LOG_PRINTF(" idx=%02d h=%02x i=%02x adj=%s n=%s plen=%d s=%s\n", idx, st->handshake_hash[idx], i, adjectives[i], nouns[i], plen, p);
num = i;
break;

View file

@ -1,262 +0,0 @@
#include "words.h"
const char * const nouns[256] = {
"yolk", /* 0 */
"writing", /* 1 */
"wrath", /* 2 */
"wound", /* 3 */
"worm", /* 4 */
"wings", /* 5 */
"whistle", /* 6 */
"watchdog", /* 7 */
"waste", /* 8 */
"vomit", /* 9 */
"vermin", /* 10 */
"variation", /* 11 */
"underachievement", /* 12 */
"tusk", /* 13 */
"troll", /* 14 */
"trick", /* 15 */
"transplant", /* 16 */
"transgression", /* 17 */
"tooth", /* 18 */
"tongue", /* 19 */
"tickle", /* 20 */
"tick", /* 21 */
"thorn", /* 22 */
"thistle", /* 23 */
"thing", /* 24 */
"terror", /* 25 */
"tentacle", /* 26 */
"tease", /* 27 */
"surrender", /* 28 */
"surge", /* 29 */
"sucker", /* 30 */
"substance", /* 31 */
"storm", /* 32 */
"stone", /* 33 */
"stew", /* 34 */
"stalk", /* 35 */
"squid", /* 36 */
"sprout", /* 37 */
"sponge", /* 38 */
"spill", /* 39 */
"spider", /* 40 */
"sphere", /* 41 */
"spectacle", /* 42 */
"speck", /* 43 */
"spawn", /* 44 */
"soul", /* 45 */
"solution", /* 46 */
"snout", /* 47 */
"snake", /* 48 */
"smell", /* 49 */
"sloth", /* 50 */
"slime", /* 51 */
"slice", /* 52 */
"sleeper", /* 53 */
"slave", /* 54 */
"sinew", /* 55 */
"shell", /* 56 */
"shape", /* 57 */
"seizure", /* 58 */
"seed", /* 59 */
"schism", /* 60 */
"scam", /* 61 */
"scale", /* 62 */
"sainthood", /* 63 */
"root", /* 64 */
"robe", /* 65 */
"roach", /* 66 */
"rinse", /* 67 */
"remains", /* 68 */
"relay", /* 69 */
"rejuvenation", /* 70 */
"realization", /* 71 */
"reaction", /* 72 */
"ransom", /* 73 */
"pupa", /* 74 */
"pride", /* 75 */
"prey", /* 76 */
"predator", /* 77 */
"potion", /* 78 */
"pornography", /* 79 */
"polyp", /* 80 */
"plum", /* 81 */
"pleasure", /* 82 */
"pitch", /* 83 */
"pigeon", /* 84 */
"phenomenon", /* 85 */
"pest", /* 86 */
"periwinkle", /* 87 */
"percolation", /* 88 */
"parasite", /* 89 */
"pair", /* 90 */
"oyster", /* 91 */
"orphan", /* 92 */
"orgasm", /* 93 */
"organism", /* 94 */
"orchid", /* 95 */
"object", /* 96 */
"nail", /* 97 */
"mushroom", /* 98 */
"murder", /* 99 */
"mucus", /* 100 */
"movement", /* 101 */
"mother", /* 102 */
"mold", /* 103 */
"mist", /* 104 */
"mildew", /* 105 */
"metal", /* 106 */
"mesh", /* 107 */
"meddling", /* 108 */
"mayhem", /* 109 */
"masterpiece", /* 110 */
"masonry", /* 111 */
"mask", /* 112 */
"manhood", /* 113 */
"maggot", /* 114 */
"lust", /* 115 */
"loop", /* 116 */
"living_thing", /* 117 */
"liquor", /* 118 */
"liquid", /* 119 */
"lining", /* 120 */
"laceration", /* 121 */
"knife", /* 122 */
"kitten", /* 123 */
"kiss", /* 124 */
"jumper", /* 125 */
"jest", /* 126 */
"instrument", /* 127 */
"injustice", /* 128 */
"injury", /* 129 */
"influence", /* 130 */
"indulgence", /* 131 */
"incursion", /* 132 */
"impulse", /* 133 */
"imago", /* 134 */
"hound", /* 135 */
"horn", /* 136 */
"hook", /* 137 */
"hoof", /* 138 */
"heirloom", /* 139 */
"heart", /* 140 */
"hawk", /* 141 */
"hare", /* 142 */
"hair", /* 143 */
"gulp", /* 144 */
"guardian", /* 145 */
"grass", /* 146 */
"goat", /* 147 */
"gnat", /* 148 */
"gluttony", /* 149 */
"glowworm", /* 150 */
"gasp", /* 151 */
"game", /* 152 */
"fusion", /* 153 */
"fungus", /* 154 */
"frustration", /* 155 */
"frog", /* 156 */
"foul", /* 157 */
"foot", /* 158 */
"food", /* 159 */
"fog", /* 160 */
"foal", /* 161 */
"fluke", /* 162 */
"fluff", /* 163 */
"flower", /* 164 */
"flicker", /* 165 */
"flea", /* 166 */
"flattery", /* 167 */
"flask", /* 168 */
"flare", /* 169 */
"firefly", /* 170 */
"finger", /* 171 */
"filtration", /* 172 */
"female", /* 173 */
"feeder", /* 174 */
"feather", /* 175 */
"fart", /* 176 */
"fang", /* 177 */
"failure", /* 178 */
"face", /* 179 */
"fabrication", /* 180 */
"extract", /* 181 */
"exodus", /* 182 */
"evil", /* 183 */
"envy", /* 184 */
"enema", /* 185 */
"embryo", /* 186 */
"egress", /* 187 */
"echo", /* 188 */
"eater", /* 189 */
"ear", /* 190 */
"dwarf", /* 191 */
"dust", /* 192 */
"drop", /* 193 */
"draft", /* 194 */
"domestication", /* 195 */
"distortion", /* 196 */
"dew", /* 197 */
"depravity", /* 198 */
"deity", /* 199 */
"death", /* 200 */
"daughter", /* 201 */
"dash", /* 202 */
"dagger", /* 203 */
"culture", /* 204 */
"crutch", /* 205 */
"crow", /* 206 */
"critter", /* 207 */
"creeper", /* 208 */
"creation", /* 209 */
"crab", /* 210 */
"corruption", /* 211 */
"cocoon", /* 212 */
"claw", /* 213 */
"chip", /* 214 */
"child", /* 215 */
"cell", /* 216 */
"catch", /* 217 */
"carving", /* 218 */
"carrot", /* 219 */
"carnival", /* 220 */
"cancer", /* 221 */
"butterfly", /* 222 */
"burn", /* 223 */
"buildup", /* 224 */
"brush", /* 225 */
"brew", /* 226 */
"bottle", /* 227 */
"boot", /* 228 */
"book", /* 229 */
"bone", /* 230 */
"blunder", /* 231 */
"blot", /* 232 */
"blood", /* 233 */
"blink", /* 234 */
"bite", /* 235 */
"bird", /* 236 */
"benthos", /* 237 */
"beak", /* 238 */
"basket", /* 239 */
"bark", /* 240 */
"ball", /* 241 */
"baby", /* 242 */
"axolotl", /* 243 */
"ashes", /* 244 */
"artifact", /* 245 */
"arson", /* 246 */
"armor", /* 247 */
"apparition", /* 248 */
"antenna", /* 249 */
"alms", /* 250 */
"alienation", /* 251 */
"advent", /* 252 */
"adornment", /* 253 */
"abomination", /* 254 */
"abandonment", /* 255 */
};

257
src/pgp_wordlist Normal file
View file

@ -0,0 +1,257 @@
Hex Even Word Odd Word
00 aardvark adroitness
01 absurd adviser
02 accrue aftermath
03 acme aggregate
04 adrift alkali
05 adult almighty
06 afflict amulet
07 ahead amusement
08 aimless antenna
09 Algol applicant
0A allow Apollo
0B alone armistice
0C ammo article
0D ancient asteroid
0E apple Atlantic
0F artist atmosphere
10 assume autopsy
11 Athens Babylon
12 atlas backwater
13 Aztec barbecue
14 baboon belowground
15 backfield bifocals
16 backward bodyguard
17 banjo bookseller
18 beaming borderline
19 bedlamp bottomless
1A beehive Bradbury
1B beeswax bravado
1C befriend Brazilian
1D Belfast breakaway
1E berserk Burlington
1F billiard businessman
20 bison butterfat
21 blackjack Camelot
22 blockade candidate
23 blowtorch cannonball
24 bluebird Capricorn
25 bombast caravan
26 bookshelf caretaker
27 brackish celebrate
28 breadline cellulose
29 breakup certify
2A brickyard chambermaid
2B briefcase Cherokee
2C Burbank Chicago
2D button clergyman
2E buzzard coherence
2F cement combustion
30 chairlift commando
31 chatter company
32 checkup component
33 chisel concurrent
34 choking confidence
35 chopper conformist
36 Christmas congregate
37 clamshell consensus
38 classic consulting
39 classroom corporate
3A cleanup corrosion
3B clockwork councilman
3C cobra crossover
3D commence crucifix
3E concert cumbersome
3F cowbell customer
40 crackdown Dakota
41 cranky decadence
42 crowfoot December
43 crucial decimal
44 crumpled designing
45 crusade detector
46 cubic detergent
47 dashboard determine
48 deadbolt dictator
49 deckhand dinosaur
4A dogsled direction
4B dragnet disable
4C drainage disbelief
4D dreadful disruptive
4E drifter distortion
4F dropper document
50 drumbeat embezzle
51 drunken enchanting
52 Dupont enrollment
53 dwelling enterprise
54 eating equation
55 edict equipment
56 egghead escapade
57 eightball Eskimo
58 endorse everyday
59 endow examine
5A enlist existence
5B erase exodus
5C escape fascinate
5D exceed filament
5E eyeglass finicky
5F eyetooth forever
60 facial fortitude
61 fallout frequency
62 flagpole gadgetry
63 flatfoot Galveston
64 flytrap getaway
65 fracture glossary
66 framework gossamer
67 freedom graduate
68 frighten gravity
69 gazelle guitarist
6A Geiger hamburger
6B glitter Hamilton
6C glucose handiwork
6D goggles hazardous
6E goldfish headwaters
6F gremlin hemisphere
70 guidance hesitate
71 hamlet hideaway
72 highchair holiness
73 hockey hurricane
74 indoors hydraulic
75 indulge impartial
76 inverse impetus
77 involve inception
78 island indigo
79 jawbone inertia
7A keyboard infancy
7B kickoff inferno
7C kiwi informant
7D klaxon insincere
7E locale insurgent
7F lockup integrate
80 merit intention
81 minnow inventive
82 miser Istanbul
83 Mohawk Jamaica
84 mural Jupiter
85 music leprosy
86 necklace letterhead
87 Neptune liberty
88 newborn maritime
89 nightbird matchmaker
8A Oakland maverick
8B obtuse Medusa
8C offload megaton
8D optic microscope
8E orca microwave
8F payday midsummer
90 peachy millionaire
91 pheasant miracle
92 physique misnomer
93 playhouse molasses
94 Pluto molecule
95 preclude Montana
96 prefer monument
97 preshrunk mosquito
98 printer narrative
99 prowler nebula
9A pupil newsletter
9B puppy Norwegian
9C python October
9D quadrant Ohio
9E quiver onlooker
9F quota opulent
A0 ragtime Orlando
A1 ratchet outfielder
A2 rebirth Pacific
A3 reform pandemic
A4 regain Pandora
A5 reindeer paperweight
A6 rematch paragon
A7 repay paragraph
A8 retouch paramount
A9 revenge passenger
AA reward pedigree
AB rhythm Pegasus
AC ribcage penetrate
AD ringbolt perceptive
AE robust performance
AF rocker pharmacy
B0 ruffled phonetic
B1 sailboat photograph
B2 sawdust pioneer
B3 scallion pocketful
B4 scenic politeness
B5 scorecard positive
B6 Scotland potato
B7 seabird processor
B8 select provincial
B9 sentence proximate
BA shadow puberty
BB shamrock publisher
BC showgirl pyramid
BD skullcap quantity
BE skydive racketeer
BF slingshot rebellion
C0 slowdown recipe
C1 snapline recover
C2 snapshot repellent
C3 snowcap replica
C4 snowslide reproduce
C5 solo resistor
C6 southward responsive
C7 soybean retraction
C8 spaniel retrieval
C9 spearhead retrospect
CA spellbind revenue
CB spheroid revival
CC spigot revolver
CD spindle sandalwood
CE spyglass sardonic
CF stagehand Saturday
D0 stagnate savagery
D1 stairway scavenger
D2 standard sensation
D3 stapler sociable
D4 steamship souvenir
D5 sterling specialist
D6 stockman speculate
D7 stopwatch stethoscope
D8 stormy stupendous
D9 sugar supportive
DA surmount surrender
DB suspense suspicious
DC sweatband sympathy
DD swelter tambourine
DE tactics telephone
DF talon therapist
E0 tapeworm tobacco
E1 tempest tolerance
E2 tiger tomorrow
E3 tissue torpedo
E4 tonic tradition
E5 topmost travesty
E6 tracker trombonist
E7 transit truncated
E8 trauma typewriter
E9 treadmill ultimate
EA Trojan undaunted
EB trouble underfoot
EC tumor unicorn
ED tunnel unify
EE tycoon universe
EF uncut unravel
F0 unearth upcoming
F1 unwind vacancy
F2 uproot vagabond
F3 upset vertigo
F4 upshot Virginia
F5 vapor visitor
F6 village vocalist
F7 virus voyager
F8 Vulcan warranty
F9 waffle Waterloo
FA wallet whimsical
FB watchword Wichita
FC wayside Wilmington
FD willow Wyoming
FE woodlark yesteryear
FF Zulu Yucatan

521
src/words.c Normal file
View file

@ -0,0 +1,521 @@
#include "words.h"
const char * const even[256] = {
"aardvark", /* 00 */
"absurd", /* 01 */
"accrue", /* 02 */
"acme", /* 03 */
"adrift", /* 04 */
"adult", /* 05 */
"afflict", /* 06 */
"ahead", /* 07 */
"aimless", /* 08 */
"Algol", /* 09 */
"allow", /* 0A */
"alone", /* 0B */
"ammo", /* 0C */
"ancient", /* 0D */
"apple", /* 0E */
"artist", /* 0F */
"assume", /* 10 */
"Athens", /* 11 */
"atlas", /* 12 */
"Aztec", /* 13 */
"baboon", /* 14 */
"backfield", /* 15 */
"backward", /* 16 */
"banjo", /* 17 */
"beaming", /* 18 */
"bedlamp", /* 19 */
"beehive", /* 1A */
"beeswax", /* 1B */
"befriend", /* 1C */
"Belfast", /* 1D */
"berserk", /* 1E */
"billiard", /* 1F */
"bison", /* 20 */
"blackjack", /* 21 */
"blockade", /* 22 */
"blowtorch", /* 23 */
"bluebird", /* 24 */
"bombast", /* 25 */
"bookshelf", /* 26 */
"brackish", /* 27 */
"breadline", /* 28 */
"breakup", /* 29 */
"brickyard", /* 2A */
"briefcase", /* 2B */
"Burbank", /* 2C */
"button", /* 2D */
"buzzard", /* 2E */
"cement", /* 2F */
"chairlift", /* 30 */
"chatter", /* 31 */
"checkup", /* 32 */
"chisel", /* 33 */
"choking", /* 34 */
"chopper", /* 35 */
"Christmas", /* 36 */
"clamshell", /* 37 */
"classic", /* 38 */
"classroom", /* 39 */
"cleanup", /* 3A */
"clockwork", /* 3B */
"cobra", /* 3C */
"commence", /* 3D */
"concert", /* 3E */
"cowbell", /* 3F */
"crackdown", /* 40 */
"cranky", /* 41 */
"crowfoot", /* 42 */
"crucial", /* 43 */
"crumpled", /* 44 */
"crusade", /* 45 */
"cubic", /* 46 */
"dashboard", /* 47 */
"deadbolt", /* 48 */
"deckhand", /* 49 */
"dogsled", /* 4A */
"dragnet", /* 4B */
"drainage", /* 4C */
"dreadful", /* 4D */
"drifter", /* 4E */
"dropper", /* 4F */
"drumbeat", /* 50 */
"drunken", /* 51 */
"Dupont", /* 52 */
"dwelling", /* 53 */
"eating", /* 54 */
"edict", /* 55 */
"egghead", /* 56 */
"eightball", /* 57 */
"endorse", /* 58 */
"endow", /* 59 */
"enlist", /* 5A */
"erase", /* 5B */
"escape", /* 5C */
"exceed", /* 5D */
"eyeglass", /* 5E */
"eyetooth", /* 5F */
"facial", /* 60 */
"fallout", /* 61 */
"flagpole", /* 62 */
"flatfoot", /* 63 */
"flytrap", /* 64 */
"fracture", /* 65 */
"framework", /* 66 */
"freedom", /* 67 */
"frighten", /* 68 */
"gazelle", /* 69 */
"Geiger", /* 6A */
"glitter", /* 6B */
"glucose", /* 6C */
"goggles", /* 6D */
"goldfish", /* 6E */
"gremlin", /* 6F */
"guidance", /* 70 */
"hamlet", /* 71 */
"highchair", /* 72 */
"hockey", /* 73 */
"indoors", /* 74 */
"indulge", /* 75 */
"inverse", /* 76 */
"involve", /* 77 */
"island", /* 78 */
"jawbone", /* 79 */
"keyboard", /* 7A */
"kickoff", /* 7B */
"kiwi", /* 7C */
"klaxon", /* 7D */
"locale", /* 7E */
"lockup", /* 7F */
"merit", /* 80 */
"minnow", /* 81 */
"miser", /* 82 */
"Mohawk", /* 83 */
"mural", /* 84 */
"music", /* 85 */
"necklace", /* 86 */
"Neptune", /* 87 */
"newborn", /* 88 */
"nightbird", /* 89 */
"Oakland", /* 8A */
"obtuse", /* 8B */
"offload", /* 8C */
"optic", /* 8D */
"orca", /* 8E */
"payday", /* 8F */
"peachy", /* 90 */
"pheasant", /* 91 */
"physique", /* 92 */
"playhouse", /* 93 */
"Pluto", /* 94 */
"preclude", /* 95 */
"prefer", /* 96 */
"preshrunk", /* 97 */
"printer", /* 98 */
"prowler", /* 99 */
"pupil", /* 9A */
"puppy", /* 9B */
"python", /* 9C */
"quadrant", /* 9D */
"quiver", /* 9E */
"quota", /* 9F */
"ragtime", /* A0 */
"ratchet", /* A1 */
"rebirth", /* A2 */
"reform", /* A3 */
"regain", /* A4 */
"reindeer", /* A5 */
"rematch", /* A6 */
"repay", /* A7 */
"retouch", /* A8 */
"revenge", /* A9 */
"reward", /* AA */
"rhythm", /* AB */
"ribcage", /* AC */
"ringbolt", /* AD */
"robust", /* AE */
"rocker", /* AF */
"ruffled", /* B0 */
"sailboat", /* B1 */
"sawdust", /* B2 */
"scallion", /* B3 */
"scenic", /* B4 */
"scorecard", /* B5 */
"Scotland", /* B6 */
"seabird", /* B7 */
"select", /* B8 */
"sentence", /* B9 */
"shadow", /* BA */
"shamrock", /* BB */
"showgirl", /* BC */
"skullcap", /* BD */
"skydive", /* BE */
"slingshot", /* BF */
"slowdown", /* C0 */
"snapline", /* C1 */
"snapshot", /* C2 */
"snowcap", /* C3 */
"snowslide", /* C4 */
"solo", /* C5 */
"southward", /* C6 */
"soybean", /* C7 */
"spaniel", /* C8 */
"spearhead", /* C9 */
"spellbind", /* CA */
"spheroid", /* CB */
"spigot", /* CC */
"spindle", /* CD */
"spyglass", /* CE */
"stagehand", /* CF */
"stagnate", /* D0 */
"stairway", /* D1 */
"standard", /* D2 */
"stapler", /* D3 */
"steamship", /* D4 */
"sterling", /* D5 */
"stockman", /* D6 */
"stopwatch", /* D7 */
"stormy", /* D8 */
"sugar", /* D9 */
"surmount", /* DA */
"suspense", /* DB */
"sweatband", /* DC */
"swelter", /* DD */
"tactics", /* DE */
"talon", /* DF */
"tapeworm", /* E0 */
"tempest", /* E1 */
"tiger", /* E2 */
"tissue", /* E3 */
"tonic", /* E4 */
"topmost", /* E5 */
"tracker", /* E6 */
"transit", /* E7 */
"trauma", /* E8 */
"treadmill", /* E9 */
"Trojan", /* EA */
"trouble", /* EB */
"tumor", /* EC */
"tunnel", /* ED */
"tycoon", /* EE */
"uncut", /* EF */
"unearth", /* F0 */
"unwind", /* F1 */
"uproot", /* F2 */
"upset", /* F3 */
"upshot", /* F4 */
"vapor", /* F5 */
"village", /* F6 */
"virus", /* F7 */
"Vulcan", /* F8 */
"waffle", /* F9 */
"wallet", /* FA */
"watchword", /* FB */
"wayside", /* FC */
"willow", /* FD */
"woodlark", /* FE */
"Zulu" /* FF */
};
const char * const odd[256] = {
"aardvark", /* 00 */
"absurd", /* 01 */
"accrue", /* 02 */
"acme", /* 03 */
"adrift", /* 04 */
"adult", /* 05 */
"afflict", /* 06 */
"ahead", /* 07 */
"aimless", /* 08 */
"Algol", /* 09 */
"allow", /* 0A */
"alone", /* 0B */
"ammo", /* 0C */
"ancient", /* 0D */
"apple", /* 0E */
"artist", /* 0F */
"assume", /* 10 */
"Athens", /* 11 */
"atlas", /* 12 */
"Aztec", /* 13 */
"baboon", /* 14 */
"backfield", /* 15 */
"backward", /* 16 */
"banjo", /* 17 */
"beaming", /* 18 */
"bedlamp", /* 19 */
"beehive", /* 1A */
"beeswax", /* 1B */
"befriend", /* 1C */
"Belfast", /* 1D */
"berserk", /* 1E */
"billiard", /* 1F */
"bison", /* 20 */
"blackjack", /* 21 */
"blockade", /* 22 */
"blowtorch", /* 23 */
"bluebird", /* 24 */
"bombast", /* 25 */
"bookshelf", /* 26 */
"brackish", /* 27 */
"breadline", /* 28 */
"breakup", /* 29 */
"brickyard", /* 2A */
"briefcase", /* 2B */
"Burbank", /* 2C */
"button", /* 2D */
"buzzard", /* 2E */
"cement", /* 2F */
"chairlift", /* 30 */
"chatter", /* 31 */
"checkup", /* 32 */
"chisel", /* 33 */
"choking", /* 34 */
"chopper", /* 35 */
"Christmas", /* 36 */
"clamshell", /* 37 */
"classic", /* 38 */
"classroom", /* 39 */
"cleanup", /* 3A */
"clockwork", /* 3B */
"cobra", /* 3C */
"commence", /* 3D */
"concert", /* 3E */
"cowbell", /* 3F */
"crackdown", /* 40 */
"cranky", /* 41 */
"crowfoot", /* 42 */
"crucial", /* 43 */
"crumpled", /* 44 */
"crusade", /* 45 */
"cubic", /* 46 */
"dashboard", /* 47 */
"deadbolt", /* 48 */
"deckhand", /* 49 */
"dogsled", /* 4A */
"dragnet", /* 4B */
"drainage", /* 4C */
"dreadful", /* 4D */
"drifter", /* 4E */
"dropper", /* 4F */
"drumbeat", /* 50 */
"drunken", /* 51 */
"Dupont", /* 52 */
"dwelling", /* 53 */
"eating", /* 54 */
"edict", /* 55 */
"egghead", /* 56 */
"eightball", /* 57 */
"endorse", /* 58 */
"endow", /* 59 */
"enlist", /* 5A */
"erase", /* 5B */
"escape", /* 5C */
"exceed", /* 5D */
"eyeglass", /* 5E */
"eyetooth", /* 5F */
"facial", /* 60 */
"fallout", /* 61 */
"flagpole", /* 62 */
"flatfoot", /* 63 */
"flytrap", /* 64 */
"fracture", /* 65 */
"framework", /* 66 */
"freedom", /* 67 */
"frighten", /* 68 */
"gazelle", /* 69 */
"Geiger", /* 6A */
"glitter", /* 6B */
"glucose", /* 6C */
"goggles", /* 6D */
"goldfish", /* 6E */
"gremlin", /* 6F */
"guidance", /* 70 */
"hamlet", /* 71 */
"highchair", /* 72 */
"hockey", /* 73 */
"indoors", /* 74 */
"indulge", /* 75 */
"inverse", /* 76 */
"involve", /* 77 */
"island", /* 78 */
"jawbone", /* 79 */
"keyboard", /* 7A */
"kickoff", /* 7B */
"kiwi", /* 7C */
"klaxon", /* 7D */
"locale", /* 7E */
"lockup", /* 7F */
"merit", /* 80 */
"minnow", /* 81 */
"miser", /* 82 */
"Mohawk", /* 83 */
"mural", /* 84 */
"music", /* 85 */
"necklace", /* 86 */
"Neptune", /* 87 */
"newborn", /* 88 */
"nightbird", /* 89 */
"Oakland", /* 8A */
"obtuse", /* 8B */
"offload", /* 8C */
"optic", /* 8D */
"orca", /* 8E */
"payday", /* 8F */
"peachy", /* 90 */
"pheasant", /* 91 */
"physique", /* 92 */
"playhouse", /* 93 */
"Pluto", /* 94 */
"preclude", /* 95 */
"prefer", /* 96 */
"preshrunk", /* 97 */
"printer", /* 98 */
"prowler", /* 99 */
"pupil", /* 9A */
"puppy", /* 9B */
"python", /* 9C */
"quadrant", /* 9D */
"quiver", /* 9E */
"quota", /* 9F */
"ragtime", /* A0 */
"ratchet", /* A1 */
"rebirth", /* A2 */
"reform", /* A3 */
"regain", /* A4 */
"reindeer", /* A5 */
"rematch", /* A6 */
"repay", /* A7 */
"retouch", /* A8 */
"revenge", /* A9 */
"reward", /* AA */
"rhythm", /* AB */
"ribcage", /* AC */
"ringbolt", /* AD */
"robust", /* AE */
"rocker", /* AF */
"ruffled", /* B0 */
"sailboat", /* B1 */
"sawdust", /* B2 */
"scallion", /* B3 */
"scenic", /* B4 */
"scorecard", /* B5 */
"Scotland", /* B6 */
"seabird", /* B7 */
"select", /* B8 */
"sentence", /* B9 */
"shadow", /* BA */
"shamrock", /* BB */
"showgirl", /* BC */
"skullcap", /* BD */
"skydive", /* BE */
"slingshot", /* BF */
"slowdown", /* C0 */
"snapline", /* C1 */
"snapshot", /* C2 */
"snowcap", /* C3 */
"snowslide", /* C4 */
"solo", /* C5 */
"southward", /* C6 */
"soybean", /* C7 */
"spaniel", /* C8 */
"spearhead", /* C9 */
"spellbind", /* CA */
"spheroid", /* CB */
"spigot", /* CC */
"spindle", /* CD */
"spyglass", /* CE */
"stagehand", /* CF */
"stagnate", /* D0 */
"stairway", /* D1 */
"standard", /* D2 */
"stapler", /* D3 */
"steamship", /* D4 */
"sterling", /* D5 */
"stockman", /* D6 */
"stopwatch", /* D7 */
"stormy", /* D8 */
"sugar", /* D9 */
"surmount", /* DA */
"suspense", /* DB */
"sweatband", /* DC */
"swelter", /* DD */
"tactics", /* DE */
"talon", /* DF */
"tapeworm", /* E0 */
"tempest", /* E1 */
"tiger", /* E2 */
"tissue", /* E3 */
"tonic", /* E4 */
"topmost", /* E5 */
"tracker", /* E6 */
"transit", /* E7 */
"trauma", /* E8 */
"treadmill", /* E9 */
"Trojan", /* EA */
"trouble", /* EB */
"tumor", /* EC */
"tunnel", /* ED */
"tycoon", /* EE */
"uncut", /* EF */
"unearth", /* F0 */
"unwind", /* F1 */
"uproot", /* F2 */
"upset", /* F3 */
"upshot", /* F4 */
"vapor", /* F5 */
"village", /* F6 */
"virus", /* F7 */
"Vulcan", /* F8 */
"waffle", /* F9 */
"wallet", /* FA */
"watchword", /* FB */
"wayside", /* FC */
"willow", /* FD */
"woodlark", /* FE */
"Zulu", /* FF */
};

View file

@ -1,7 +1,7 @@
#ifndef __ADJECTIVES_H__
#define __ADJECTIVES_H__
extern const char * const adjectives[256];
extern const char * const nouns[256];
extern const char * const even[256];
extern const char * const odd[256];
#endif