Use beads to generate random letters and numbers by hand
by Stephen Hewitt, 22 September 2017
Truly random selections can be important for information security, and, for some people, choosing from a restaurant menu..
Here is a practical and convenient method for easily generating a random letter or number by hand, without using a computer. Such randomness can be useful for generating passwords, cryptographic keys and one-time-pads for secure communications, as further articles will explore.
One advantage of this method over dice is that it is simple to generate random numbers evenly distributed over any (small) defined range, for example 0-7.
Buy an alphabet of letter beads. There are different kinds available and the photograph shows some currently on sale in a Cambridge shop. Put one bead of each letter into a container, shake them thoroughly and then take one out before looking at it, like a raffle. For randomness, it is important to shake and mix them thoroughly.
Put the bead back in the container shake thoroughly and repeat for as many random letters as you need.
If you need a random number rather than a random letter then it is also possible to buy number beads.
But an alternative to number beads is to simply decide that Z=0, A=1, B=2, C=3,...X=24, Y=25 and pick out one of your letters. If the letter represents a number above the range of numbers for your current task, then it is disallowed, so just ignore it and take out another one.
And if you are going to generate many random numbers in the same range then leave each disallowed letter out of the container while you continue, simply to avoid pulling out the same disallowed letter more than once. (Of course each allowed bead you pull out must go back in before you pull out the next random bead.) From a statistical perspective the disallowed letters that you ignore in this way will make no difference to the randomness of your selection.
So for example if we wanted random numbers in the range 0-15 we could use letters Z (for 0) and ABCDEFGHIJKLMNO (for 1-15). Or a software engineer might prefer to use digits 0-9 and letters A-F to directly yield the familiar hexadecimal, if you have managed to buy beads with both letters and numbers.
The ideal beads are smooth so that you do not consciously or unconsciously feel a difference between the beads. You want to avoid beads with the letter sunken or embossed. (The ones in the photograph are not quite ideal but I have bought ideal beads from the web in the past.) Ideally also there are both letters and numbers in otherwise identical beads. Do not mix number and letter beads of different styles. For example, if the number beads are oval and the letters are circular then that is not going to allow you to make a true random choice. Another point to consider when choosing a bead is whether the letters are easy to distinguish. For example can M be confused with W because bottom and top of the letter are not clearly distinguished?
As mentioned, this technique has serious applications in security to be explored in further articles, but it can also be used in a more light-hearted way.
Around 2011, after reading the 1970s novel The Diceman by Luke Rhinehart , a friend of mine carried a die around with him which was used in making certain decisions. From memory, it may even have been a special die with more than 6 sides. But in any case, choosing from the restaurant menu was problematic if there were more items on the menu than sides on the die.
Rolling twice and adding the results would not give the even spread of chance across the menu that a true gastronome naturally desires, but instead a disproportionate clustering around the middle of the range of the die. (Because for example in the case of a 6-sided die there are many dice combinations that add up to 6 or 7 but only one that adds up to 12, namely double six.)
The letter beads can now solve this problem. You label the menu items A-Z and draw a bead from your bag. If the letter is beyond the end of the menu, you ignore it and draw another one until you get one that is in range. So it works for any size menu, at least up to 26. And if you managed to buy number beads too, then label the menu A-Z followed by 0-9 and it works up to 36.
©Copyright Stephen Hewitt 2017
- How to remember a provably strong password: a new way using ‘constrained choice’ July 2018, Stephen Hewitt. The 2nd Clarion data privacy article
- How to remember a 128-bit key using ‘constrained choice’ August 2018, Stephen Hewitt. The 3rd Clarion data privacy article
- Manual encryption with a one-time pad revisited March 2019, Stephen Hewitt. The 4th Clarion data privacy article
- Lepron, a project to develop pronounceable pseudowords for representing binary strings - Part 1: introduction and goals May 2021 An empirical investigation by Stephen Hewitt
- An idea for public key authentication from a name without certificates or central authority May 2021 Stephen Hewitt
- Lepron project part 2: towards public key authentication without central authority using names made of pseudowords August 2021 An open source project by Stephen Hewitt