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

View file

@ -24,8 +24,7 @@ add_library (usbhost
cobs.c cobs.c
noise.c noise.c
packet_interface.c packet_interface.c
adjectives.c words.c
nouns.c
hid_keycodes.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" */ if (strncasecmp(p, "and", plen)) { /* ignore "and" */
int num = -1; int num = -1;
for (int i=0; i<256; i++) { for (int i=0; i<256; i++) {
if ((!strncasecmp(p, adjectives[i], plen) && plen == strlen(adjectives[i])) if ((!strncasecmp(p, even[i], plen) && plen == strlen(even[i]))
|| (!strncasecmp(p, nouns[i], plen) && plen == strlen(nouns[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); //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; num = i;
break; 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__ #ifndef __ADJECTIVES_H__
#define __ADJECTIVES_H__ #define __ADJECTIVES_H__
extern const char * const adjectives[256]; extern const char * const even[256];
extern const char * const nouns[256]; extern const char * const odd[256];
#endif #endif