RR Enhanced Pattern – Begins with a digit [0-9] followed by a series of words with random capitalization separated by special characters (e.g. 9duDe.Seven7
). The number in the Minimum Characters field will cause a passphrase with at least that number of characters. It will often be more.
RR Classic Pattern – A series of words with random capitalization separated by special characters (e.g. duDe.Seven7
). The number in the Minimum Characters field will cause a passphrase with at least that number of characters. It will often be more.
Character String – A string consisting of random ASCII characters (e.g. d8l}]uZgu=kB
) with the exact number of characters in the Minimum Characters field.
Alphanumeric String – A string containing random alphabetical and numeric characters (e.g. jg24A8T88SNQ
) with the exact number of characters in the Minimum Characters field.
Decimal String – A string containing the exact number of random numerals (e.g. 672201932165
) defined in the Minimum Characters field.
Custom Pattern – Create a custom pattern using Random Roller’s special pattern scripting code.
Random Roller uses a special pattern scripting code to allow a user to create their own passphrase patterns. It uses the following commands:
a
= ASCII characterc
= special character or digitd
= digitl
= letters and numberss
= special charactersq
= special characters, digits, or spacew
= Diceware word_
= spaceUse brackets []
followed by =n
to make repeating patterns (e.g. [wq]=5
).
As an example, look at the following pattern:
d[wq]=4
This would result in a passphrase beginning with a digit, followed by four words with random capitalization and a special character, numeral or space (see q
above). It might look as follows:
9sTar9Murky`seaN shOwy6
The Minimum Characters box is purposely disabled when using custom patterns, so that the pattern the user defines is processed exactly as entered.
One of the most important elements in creating a secure passphrase is randomness. The biggest problem with computers is that they generate pseudo-random numbers. In other words, if one knows the way that the computer creates random numbers, one could conceivably create a system that will generate the identical sequence of numbers on a completely different device, making the sequence no longer truly random.
A quality die, on the other hand, will generate a truly random sequence of numbers based on how many faces it has. You can prove this yourself by a simple experiment: take a die and roll it 100 times. Log each roll in a ledger and then graph it in a bar graph. The average across the bar graph will show a regular spread across all six numbers of a regular die, proving that the numbers are truly random. For a summary on how random number generation works, have a look at the Wikipedia article “Random Number Generation”.
Since everyone has access to dice, everyone has access to a truly random number generator. This can be leveraged to create truly random passphrases and passphrases the sequence of which cannot be reproduced ever again (chaos theory!). Diceware® leverages this reality to allow us to create truly random yet memorable passphrases. Random Roller uses Diceware along with its own pattern algorithms to produce these without requiring the physical look up of the Diceware® words on a paper list. As long as you use dice to create your passphrase string, you can be certain that it will be truly randomly generated.
That said, Random Roller, does have an automatic passphrase generation feature for convenience, in which it uses virtual dice based on the computer’s random number generator to make the passphrase. This will never be as secure as actually rolling five dice. But in the end it is up to the user which method they will use to make their passphrase.
The original version of Hawke AI Random Roller came about as a programmatic way to create truly randomized but memorable passphrases using the Diceware® word list created by Arnold G. Reinhold and five dice. As it was used over the years, certain shortcomings began popping up (e.g. What if I don’t happen to have any dice with me?) that made a re-thinking of the app necessary.
This second version of Hawke AI Random Roller is rewritten from the ground up as a vacation project to learn and implement new methods and ideas. It is a purely client-side application based on JavaScript, HTML 5, and CSS 3 and made available under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. It is designed to function as a Progressive Web App (PWA). It is designed to be easily localized and is currently available in English, German, and Turkish—and this includes the Diceware® word lists! If you wish to localize it yourself, the public repository is available and can be forked from Bitbucket. It would be great if you could commit any localizations you create back to the repository.
The only call that this application will make to the host site is when it is initially loaded. If it is installed to the device, it is completely standalone. No data will be transmitted back to the site. It will not even update itself automatically. You’ll even have to click the Check for Update button below to update it to the latest version.
Hopefully this little application will become a good companion to you for creating secure and memorable passphrases.
About Subpages
Version: 2.0 beta
Last Updated: 2021-08-24
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Please reference Hawke AI (https://www.hawke-ai.com) and Joshua M. Wibberley in the attribution.
Random Roller can be used in two different modes: Dice Mode and Automatic Mode (which is not as secure as dice mode). To use Random Roller take the following steps:
_
), when it is time to generate the space, you can simply press the Enter Dice Roll button to add it.Random Roller runs completely in memory. Nothing is saved to your device, so passwords generated here are perfectly secure, but if you close the application they will disappear unless you copy them somewhere else.