Passphrase generator
Random words are the easiest strong password to type and remember. Use one for a password manager, an encrypted backup or an account login. This is a browser tool: everything happens in this page and nothing is sent anywhere. Only the practice section keeps anything, in this browser, and never the passphrase itself.
Switch the keyboard to English and type the Russian words as usual: кошка comes out as rjirf. Easy on a computer, slow on a phone keyboard.
To remember
Put a few candidates here, say each one out loud and keep the one that sticks. The list exists only in this page: reload or close it and the list is gone.
Practise
This is a memory trainer, not a place to keep passwords. The browser keeps only a hash of each passphrase or PIN, a one-way check value: the secret can't be read back from it, not by this page, not by you, not by anyone. The hash is PBKDF2 with HMAC-SHA-256, 600,000 rounds (what OWASP recommends for stored passwords) and a random 128-bit salt, made by the browser's own Web Crypto. This is not encryption: there is no key, so there is nothing that could turn it back into the secret. It also doesn't last on its own: Safari on iPhone, iPad and Mac deletes it after 7 days without a visit, and any browser deletes it when site data is cleared. Come back at least once a week to keep it, and keep every secret in your password manager or on paper too.
A passphrase is only useful once you can type it without looking. Add a few candidates here with Practise in the list above, or your own below, then come back and type them: every day for the first two weeks, then now and then. There is one field for all of them: type any one you remember and the page finds which it is. Each entry's strip shows the last 14 days, and after a few days you will see which one sticks best. Keep that one.
Once one sticks, you can still change it: swap a word or two, or switch it to the EN keyboard form, and practise the new version. Adding several at once and keeping the winner works better than forcing one, but one is fine too.
Kept in this browser only. Not on the site, not on your other devices: practise on a laptop and the phone knows nothing about it, and the other way round. What is kept is a name you choose, a hash of the secret and the days you typed it right. The secret itself is never kept, so this page can't show it to you again.
Nothing in practice yet.
The generator needs JavaScript. It runs only in this page.
What to pick
The defaults are what we recommend: 6 words, hyphens, no capitals, no digit. That is about 85 bits, more than any attacker can guess, even offline.
- Separator: hyphen. It is easy to type on any keyboard, can't be lost the way a trailing space can, and covers "must contain a symbol". The separator adds no strength, so any one is fine. With the Orchard Street list even none is safe: the words can only be split back one way.
- Capitals: not needed. A fixed rule such as "capitalise the first word" adds almost nothing and makes the passphrase harder to type. Turn on capitals or the digit only when a site insists.
- Length: 5 words (about 70 bits) for ordinary accounts. Use 6 or more for anything that can be attacked offline: a password manager, an encrypted backup, a disk.
- Russian words: the same 16,384 common words, shown two ways. Translit spells them in Latin letters (koshka). EN keyboard shows the keys you press when you type the Russian word with the keyboard set to English (rjirf): nothing to spell, and the result has symbols in it. The Russian word is shown under each one as a reminder. A word here is 14 bits, the same as Orchard Street, so the same number of words is enough. The list being less known doesn't add strength: anyone attacking a Russian speaker tries Russian words, translit and the other layout first.
- Keeping words: keep the ones you can picture and reroll the rest. Picking among many rerolls costs a little strength, so if you reroll a lot, add a word.
How it works
Each word is drawn with your browser's cryptographic random generator
(crypto.getRandomValues), with every word equally likely. Strength is counted as
the number of words times log₂ of the list size: 14.1 bits a word for Orchard Street, 12.9 for
EFF, 14 for the Russian list.
Nothing leaves this page. The generator is a browser tool: no passphrase is sent to a server, and the list above exists only while the page is open. You can load the page, turn off the network, and it keeps working.
What practice keeps. Only if you add something to it, and only in this browser's storage for this site: the names, one random salt for this browser, a PBKDF2-SHA-256 check value (600,000 rounds) for each entry and the days each was typed right. To check what you type, the page works out the same value once and compares it with every entry. Getting a six-word passphrase back from it means guessing all six words, which is out of reach. A short PIN is not: anyone who gets into this browser could try every PIN against the check value, so practise one here only if that is acceptable. Forget everything in practice deletes it all; Safari also deletes it by itself after 7 days without a visit.
Word lists: Orchard Street Long List by Sam Schlinkert, CC BY-SA 4.0. EFF Large Wordlist by the Electronic Frontier Foundation, CC BY 3.0 US. The Russian list ranks words by how common they are in film subtitles (FrequencyWords by Hermit Dave) and in Russian Wikipedia (word counts by Ilya Semenov), uses the OpenCorpora dictionary to keep plain dictionary words, and was then read through to take out grim, rude and little-known words. It is shared under CC BY-SA 4.0.