Skip to content

Instantly share code, notes, and snippets.

@atoponce
Last active June 2, 2021 22:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save atoponce/97d7d3d9c9b352e2db57ac6e5cf36c3a to your computer and use it in GitHub Desktop.
Save atoponce/97d7d3d9c9b352e2db57ac6e5cf36c3a to your computer and use it in GitHub Desktop.
Simple proposal using BIPS-0039 to encode plus code character pairs into readable English words
#!/usr/bin/env python3
# https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt
with open('/tmp/english.txt', 'r') as f:
bips = f.readlines()
short_bips = []
# 442 unique words (all 4-character words)
for n in range(2048):
if len(bips[n].strip()) == 4:
short_bips.append(bips[n].strip())
# 401 unique words
for n, word in enumerate(short_bips):
if n % 11 == 0:
short_bips.pop(n)
# 400 unique words
short_bips.pop(200)
alphabet = "23456789CFGHJMPQRVWX"
wordlist = {}
for x in range(20):
for y in range(20):
wordlist["{}{}".format(alphabet[x], alphabet[y])] = short_bips[20 * x + y]
with open('/tmp/wordlist.txt', 'w') as f:
for idx in wordlist:
f.write("{} {}\n".format(idx, wordlist[idx]))
22 acid
23 also
24 arch
25 area
26 army
27 atom
28 aunt
29 auto
2C away
2F axis
2G baby
2H base
2J bean
2M beef
2P belt
2Q best
2R bike
2V bind
2W bird
2X blue
32 blur
33 boat
34 boil
35 bomb
36 bone
37 book
38 boss
39 bulb
3C bulk
3F busy
3G buzz
3H cage
3J cake
3M calm
3P camp
3Q card
3R cart
3V case
3W cash
3X cave
42 chat
43 chef
44 city
45 clap
46 clay
47 clip
48 clog
49 club
4C code
4F coil
4G coin
4H come
4J cook
4M cool
4P copy
4Q corn
4R cost
4V cram
4W crew
4X crop
52 cube
53 cute
54 damp
55 dash
56 dawn
57 deal
58 defy
59 deny
5C desk
5F dial
5G dice
5H diet
5J dirt
5M dish
5P doll
5Q door
5R dose
5V draw
5W drip
5X drop
62 drum
63 duck
64 dumb
65 dune
66 dust
67 duty
68 earn
69 east
6C echo
6F edge
6G edit
6H else
6J evil
6M exit
6P face
6Q fade
6R fall
6V fame
6W farm
6X feel
72 file
73 film
74 find
75 fine
76 fire
77 firm
78 fish
79 flag
7C flat
7F flee
7G foam
7H foil
7J fold
7M food
7P foot
7Q fork
7R frog
7V fuel
7W fury
7X gain
82 game
83 gate
84 gaze
85 gift
86 girl
87 give
88 glad
89 glow
8C glue
8F goat
8G gold
8H good
8J grab
8M grid
8P grit
8Q grow
8R hair
8V half
8W hand
8X hard
92 have
93 hawk
94 head
95 hero
96 high
97 hill
98 hint
99 hire
9C hold
9F hole
9G home
9H hood
9J hope
9M horn
9P hour
9Q huge
9R hunt
9V hurt
9W icon
9X idea
C2 idle
C3 inch
C4 into
C5 iron
C6 item
C7 join
C8 joke
C9 jump
CC junk
CF just
CG keen
CH keep
CJ kick
CM kind
CP kiss
CQ kite
CR knee
CV know
CW lady
CX lake
F2 lamp
F3 lava
F4 lawn
F5 lazy
F6 leaf
F7 left
F8 lend
F9 liar
FC life
FF lift
FG like
FH limb
FJ link
FM lion
FP list
FQ live
FR load
FV loan
FW long
FX loop
G2 love
G3 maid
G4 mail
G5 main
G6 make
G7 mask
G8 mass
G9 math
GC mean
GF meat
GG melt
GH menu
GJ mesh
GM milk
GP mind
GQ miss
GR moon
GV more
GW move
GX mule
H2 must
H3 myth
H4 name
H5 near
H6 neck
H7 need
H8 nest
H9 news
HC next
HF nice
HG note
HH obey
HJ odor
HM okay
HP omit
HQ once
HR only
HV open
HW oval
HX oven
J2 over
J3 page
J4 pair
J5 palm
J6 park
J7 pass
J8 path
J9 pave
JC pear
JF pill
JG pink
JH pipe
JJ plug
JM poem
JP poet
JQ pole
JR pond
JV pony
JW pool
JX post
M2 pull
M3 pulp
M4 push
M5 quiz
M6 race
M7 rack
M8 rail
M9 rain
MC ramp
MF rare
MG rate
MH real
MJ rely
MM rent
MP rich
MQ ride
MR ring
MV riot
MW risk
MX road
P2 roof
P3 room
P4 rose
P5 rude
P6 rule
P7 sail
P8 salt
P9 same
PC sand
PF save
PG scan
PH seat
PJ seed
PM seek
PP sell
PQ shed
PR shoe
PV shop
PW sick
PX side
Q2 sign
Q3 silk
Q4 sing
Q5 size
Q6 skin
Q7 slab
Q8 slam
Q9 slot
QC slow
QF snap
QG snow
QH soap
QJ sock
QM soda
QP soft
QQ song
QR soon
QV sort
QW soup
QX spin
R2 spot
R3 stay
R4 stem
R5 step
R6 such
R7 suit
R8 sure
R9 swap
RC swim
RF talk
RG tank
RH tape
RJ task
RM taxi
RP team
RQ tell
RR tent
RV term
RW test
RX text
V2 then
V3 they
V4 this
V5 tide
V6 tilt
V7 time
V8 tiny
V9 tone
VC tool
VF toss
VG town
VH tray
VJ tree
VM trim
VP trip
VQ true
VR tube
VV tuna
VW turn
VX twin
W2 type
W3 ugly
W4 unit
W5 upon
W6 urge
W7 used
W8 vast
W9 verb
WC very
WF view
WG visa
WH void
WJ vote
WM wait
WP walk
WQ wall
WR want
WV warm
WW wash
WX wasp
X2 wave
X3 wear
X4 west
X5 what
X6 whip
X7 wide
X8 wife
X9 wild
XC will
XF wine
XG wing
XH wink
XJ wire
XM wise
XP wish
XQ wood
XR wool
XV word
XW work
XX wrap
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment