Releases: atoponce/nodepassgen
February 9, 2022
New features:
- Six new languages in the "Alternate" generator:
- Afrikaans
- Belarusian
- Croatian
- Mongolian
- Serbian
- Ukranian
- New "Wordle" passphrase in the "Alternate" generator.
- Update Emoji to version 14.0.
Bug fixes:
- Convert Deseret alphabet to their Unicode uppercase versions for better readability
- Update the Diceware Bulgarian word list.
- Add JSDoc comments to all functions.
October 24, 2021
The is a small release:
- Fix base32 entropy calculation bug.
- Add two new pseudoword generators: Daefen encoding by @alexvandesande and Urbit
A quick note about the pseudoword generators:
Daefen
Daefen is another binary-to-text encoding system. I have deployed a number of different binary-to-text encoding algorithms as a password generator, even if that's not explicitly what they're designed for. Some proved some benefits which can be extended into the password space, and Daefen is one of these.
Daefen encodes any number into a base-3456 pronounceable string. By using the vowel character set of "aeiouy" and the consonant character set of "bcdfghjklmnprstvwz", there are:
- 108 "vowel + consonant" pairs
- 108 "consonant + vowel" pairs
- 648 "consonant + vowel + vowel" triplets
- 648 "vowel + consonant + vowel" triplets
- 1,944 "consonant + vowel + consonant" triplets
There is deterministic logic to break these up into "words" which can result in different word lengths in the generated pseudoword from generation to generation. The first character in each "word" is capitalized.
Exempli gratia:
- Uriyju-Kaodyh-Ko-Kui
- Sekado-Itabih-Sujsuv
- His-Orpeb-Ukevef-Duu
- Jou-Se-Sezryp-Wobke
There is log2(3456) ~= 11.75 bits of security per "word" syllable. This is the densest pseudoword generator in the project producing the shortest passwords.
Urbit
The Urbit naming system uses 256 prefixes and 256 suffixes using "consonant + vowel + consonant" for each syllable. The vowels for the prefixes are strictly "a", "i", and "o". The vowels for the suffixes are strictly "e", "u", and "y" with one exception for "doz". Each "word" thus has 2 syllables providing log2(256) + log2(256) = 16 bits of security. This is on par with the Bubble Babble and Proquints generators.
Note: to remain in theme with the Urbit naming system, each pseudoword starts with the tilde "~". This extra character does not provide any additional security.
Exempli gratia:
- ~davfep-nampur-ronren-ripsyl-noprym
- ~bintep-doslus-hactyr-tamfur-sopleb
- ~witmug-tamtuc-lintex-tanlex-dapryd
- ~fabmun-dismeb-randus-nilred-milpec
July 29, 2021
Keyboard Entropy
Like it's web-based cousin, keyboard entropy collection is available for the user to mix in "true random" number with the system CSPRNG when generating passwords. This is available via the -k, --keyboard
option. The user will be presented with 100 randomly shuffled words from the Scripps "THREE BEE" practice list. These words are very obscure, and likely difficult to type. This intentionally slows down the typist, forcing them to pay attention to what they type.
The least significant 16 nanosecond bits are recorded on each key press, then after Ctrl+C is pressed, the bits are whitened with John von Neumann's debiasing, and stored in a JSON file in the user's home directory. The user may opt to mix in that entropy with the system CSPRNG when generating passwords with the -u, --use-entropy
option.
Updates and Changes
Random Generator Updates
- Change base64 characters to uuencode standard
- Base45 (QR code encoding)
- Rename "Coin Flips" and "DNA Sequences" to "base2" and "base4" respectively
- Remove Braille
- Add Mac OS Roman
Other updates
- Remove DiceKeys completely
Minor Fixes
- JavaScript cleanup
- Bug fixes
March 31, 2021
Bring inline with the webpassgen sister project
New word lists:
- Added formal Pokerware list to the "Alternate" generators.
- Added Natural Language Passwords to the "Diceware" generators.
- This is an officially mentioned list on the diceware.com page. It's made up of 1,296 adjectives
and 7,776 nouns. Use 4 dice to roll for a random adjective, then 5 dice for a random noun. The
goal is to create a more memorable passphrase.
- This is an officially mentioned list on the diceware.com page. It's made up of 1,296 adjectives
- Added the S/KEY words from RFC 1760 to the "Alternate" generators.
- Added the "English (All)" option to the "Alternate" generators.
- This combines every English word list supplied by the project into a "mega list". After removing
duplicates, this returns 39,862 unique words, providing about 15.28 bits of entropy per word.
- This combines every English word list supplied by the project into a "mega list". After removing
Bug fixes:
- The "Korean K-pop" and "Secret Ninja" generators security was significantly less than expected,
due to only evaluating the first few elements of each array rather than the full array itself.- If you used either of these generators for any account, you should update your passwords.
- Fixed the help output to match the functionality of the command.
- Changed the
-D, --dicekey
directions to match upstream.- "trbl` for top, right, bottom, & left, instead of the cardinal compass NESW directions.
Other stuffs:
- Removed
-B, --babble
,-k, --kpop
, and-n, --ninja
, and instead brought them under a-p, --pseudowords
option for greater consistency. - Updated my
test.sh
script to support the newly added word lists.
December 31, 2020
New Features
- Added my improvements over the EFF FANDOM word lists, which include:
- Game of Thrones
- Harry Potter
- Star Trek
- Star Wars
- Alternate Shavian English alphabet word list added.
- Alternate Deseret English alphabet word list added.
- Bitcoin Czech word list added.
- Bitcoin Portuguese word list added.
- Diceware English updated to 8k word list.
- Diceware Chinese update to 8k pinyin word list.
- Diceware Hebrew word list added.
- Diceware Greek word list added.
- Added a Dicekey generator.
Bug Fixes
- JavaScript static analysis and linting with Standard.js.
- JavaScript code clean up.
- Clean up and massively condense usage/help output.
May 25, 2019
Lots of new generators and updates in this release:
- Add Latin Diceware word list.
- Add Estonian Diceware word list.
- Add Base-256 generator with the Latin Extended Additional (U1E00) (PDF) Unicode code points.
- Add "Base 256 (Braille)" generator with the printable Braille Patterns (U2800) (PDF) Unicode code points.
- Add "Base 188 (ISO 8859-1)" generator as defined by the ISO 8859-1 standard for full 8-bit ASCII.
- Update the Emoji generator to bring it up to the latest Emoji 12.0 standard.
The README was also update to reflect the default output.
Oct 21, 2018 Release
- Add Slovak Diceware word list
- Update Trump word list to 8,192 words (13-bits entropy per word)
- Fix spelling errors
- Other updates
Jan 22, 2018 Release
This just fixes the README.md to match the correct help output and fixes a small output bug with the "Random" generator when Base-94 is used (default).
Jan 21, 2018 Release
Massive updates since the last release:
- Add the Hungarian Diceware word list.
- Add the "Colors" word list, although it is not default for the Alternate generator, and is not showing foreground ANSI colors.
- Update the Trump word list to 6,300 words after processing his latest tweets.
- Add the following "Random" password sets:
- Base85
- URL-safe Base64
- Base62
- Base58 (Bitcoin address compatible)
- Base52
- Base36
- Base26
- Base8
- Base2
- Coin flips
- DNA sequences
Sept 11, 2017 Release
First official release. I think it's fair to say that this generator is a version "1.0". It's met all the requirements I'm looking for in a generator. Features include:
- Alternate passphrase generator
- Elvish
- Klingon
- Simpsons
- Trump (default)
- PGP
- Bitcoin passphrase generator.
- Chinese (Simplified and Traditional)
- English
- French
- Italian
- Japanese (Hiragana)
- Korean (Hangul)
- Diceware passphrase generator.
- Basque
- Beale (Alternate English list)
- Bulgarian (Cyrillic character set)
- Catalan
- Chinese (Simplified)
- Czech
- Danish
- Dutch
- English (Default)
- Esperanto
- Finnish
- French
- German
- Italian
- Japanese (Romaji)
- Maori
- Norwegian
- Polish
- Portuguese
- Russian (Cyrillic character set)
- Slovenian
- Spanish
- Swedish
- Turkish
- EFF passphrase generator.
- Short word list
- Long word list
- Distant word list
- System passphrase generator (difference from the [web-based generator (https://github.com/atoponce/webpassgen). Requires
-o/--only system
or-s/--system
to access.- Using
/usr/share/dict/words
- Using
- Pseuodword (non-words) generator.
- Bubble-Babble (default)
- Cosby Bebop
- Korean K-pop
- Secret Ninja
- Random password generator.
- Base94 (default)
- Base64
- Base32
- Base16
- Base10
- Emoji