💾 Archived View for vigrey.com › wiki › bonewords captured on 2023-07-10 at 13:33:38. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Bonewords are passwords created using a 6 sided dice and a password generation system designed by Vi Grey. It was first discussed in the blog post "Using Dice to Generate Human Readable Passwords".
Using Dice to Generate Human Readable Passwords
"Bones" is a slang word for "Dice" and "words" comes from "passwords", therefore "bonewords" are passwords that were generated by dice.
All bonewords are a minimum of 3 characters long and consist of 2 parts, the "N-3" characters part and the "last 3" characters part. The N-3 characters part is every character except for the last 3 characters of the boneword. The last 3 characters part is the last 3 characters of the boneword.
For each character of the N-3 characters part, a dice is rolled to determine which of 6 groups of characters are used. The groups are listed below. After determining the group, the dice is rolled again to determine the character to select of the group.
For example, rolling a 4 sets the group to "AEFHLY" and then rolling a 2 selects the "E" character of that group.
Repeat this for every character of the boneword in the N-3 characters part.
For the last 3 characters, a related but different system is used compared the the N-3 characters. For the first of the last 3 characters, a dice roll (1st roll of last 3 characters) is used to determine which of the following 3 groups of characters are used. The dice is rolled again (2nd roll of last 3 characters) to determine the character to select of the group.
For example, rolling a 3 sets the group to Special Characters and then rolling a 1 selects the "+" character of that group.
The dice is rolled again (3rd roll of last 3 characters) to determine which of the remaining groups to use for the second of the last 3 characters. The top-most of the 2 remaining groups will be selected if the dice roll results in an odd number otherwise the bottom-most of the 2 remaining groups will be selected if the dice roll results in an even number. The dice is rolled again (4th roll of last 3 characters) to determine the character to select of the selected group.
For example, with the remaining groups Uppercase Letters and Numbers, rolling a 1 sets the group to Uppercase Letters and rolling a 4 selects the "H" character of that group.
The dice is rolled one last time (5th roll of last 3 characters) to select the character of the last remaining group.
For example, withe the last remaining group of Numbers, rolling a 5 selects the "7" character of that group.
The following "Cheat Sheet" shows the rules for generating bonewords.
First N-3 Characters 1 | 2 | 3 | 4 | 5 | 6 --------+--------+--------+--------+--------+-------- abcdef | ghikmn | oprswz | AEFHLY | 234678 | +,-/?^ Last 3 Characters 1 or 4 | 2 or 5 | 3 or 6 if 1 or 4: | odd | even if 2 or 5: odd | | even if 3 or 6: odd | even | -------------------+--------+-------- AEFHLY | 234678 | +,-/?^
A program written in the Go programming language also named "bonewords" was created to generate bonewords using a computer rather than needing to use dice. The source code for that software is found at the link below.