From a818c94fc4474afcdebdf6eea80608c130830db1 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sat, 1 Dec 2018 14:02:37 +0900 Subject: Replace word lists by PGP word lists from https://en.wikipedia.org/wiki/PGP_word_list --- hexnoise.py | 138 +++++++------- src/CMakeLists.txt | 3 +- src/adjectives.c | 262 --------------------------- src/demo.c | 4 +- src/nouns.c | 262 --------------------------- src/pgp_wordlist | 257 ++++++++++++++++++++++++++ src/words.c | 521 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/words.h | 4 +- 8 files changed, 852 insertions(+), 599 deletions(-) delete mode 100644 src/adjectives.c delete mode 100644 src/nouns.c create mode 100644 src/pgp_wordlist create mode 100644 src/words.c diff --git a/hexnoise.py b/hexnoise.py index 8ae6c4b..c7acd65 100755 --- a/hexnoise.py +++ b/hexnoise.py @@ -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() - - 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() + 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() + + 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): diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9084cbb..f2ae83f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -24,8 +24,7 @@ add_library (usbhost cobs.c noise.c packet_interface.c - adjectives.c - nouns.c + words.c hid_keycodes.c ) diff --git a/src/adjectives.c b/src/adjectives.c deleted file mode 100644 index e3bc3d0..0000000 --- a/src/adjectives.c +++ /dev/null @@ -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 */ -}; - diff --git a/src/demo.c b/src/demo.c index 8329c62..b47dc71 100644 --- a/src/demo.c +++ b/src/demo.c @@ -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; diff --git a/src/nouns.c b/src/nouns.c deleted file mode 100644 index 65cae90..0000000 --- a/src/nouns.c +++ /dev/null @@ -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 */ -}; - diff --git a/src/pgp_wordlist b/src/pgp_wordlist new file mode 100644 index 0000000..fcc3508 --- /dev/null +++ b/src/pgp_wordlist @@ -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 diff --git a/src/words.c b/src/words.c new file mode 100644 index 0000000..387d23b --- /dev/null +++ b/src/words.c @@ -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 */ +}; + diff --git a/src/words.h b/src/words.h index e8cb628..0bbd3c4 100644 --- a/src/words.h +++ b/src/words.h @@ -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 -- cgit