# bonewords

Bonewords are passwords created using a 6 sided dice and a password generation system designed by me. It was first discussed in the blog post "Using Dice to Generate Human Readable Passwords".

Using Dice to Generate Human Readable Passwords

## Name Origin

"Bones" is a slang word for "Dice" and "words" comes from "passwords", therefore "bonewords" are passwords that were generated by dice.

## Generating Bonewords

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.

### N-3 Characters

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.

- 1: abcdef
- 2: ghikmn
- 3: oprswz
- 4: AEFHLY
- 5: 234678
- 6: +,-/?^

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.

### Last 3 Characters

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.

- 1 or 4: AEFHLY (Uppercase Letters)
- 2 or 5: 234678 (Numbers)
- 3 or 6: +,-/?^ (Special Characters)

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.

## Cheat Sheet

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 | +,-/?^

## Software

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.

Bonewords Source Code [HTTP]

## Incoming Wiki Links

{index}