Skip to content

Releases: atoponce/nodepassgen

February 9, 2022

10 Feb 05:15
efebff9
Compare
Choose a tag to compare

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

24 Oct 20:15
13d6550
Compare
Choose a tag to compare

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

29 Jul 20:31
214e542
Compare
Choose a tag to compare

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

01 Apr 01:13
759e7d8
Compare
Choose a tag to compare

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.
  • 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.

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

31 Dec 19:31
d120114
Compare
Choose a tag to compare

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

26 May 00:26
Compare
Choose a tag to compare

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

21 Oct 14:33
6a77bc2
Compare
Choose a tag to compare
  • 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

22 Jan 23:52
c4536a1
Compare
Choose a tag to compare

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

22 Jan 01:09
Compare
Choose a tag to compare

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

11 Sep 15:52
Compare
Choose a tag to compare

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
  • Pseuodword (non-words) generator.
    • Bubble-Babble (default)
    • Cosby Bebop
    • Korean K-pop
    • Secret Ninja
  • Random password generator.
    • Base94 (default)
    • Base64
    • Base32
    • Base16
    • Base10
    • Emoji