Add v3 package documentation and code review#38
Merged
Conversation
Replace the 390-word built-in list with the EFF Large Wordlist (7,776 words, ~12.9 bits/word), raising a 6-word passphrase to ~77 bits. Add CC BY 3.0 attribution (WordList.cs header, THIRD-PARTY-NOTICES.md, Readme, CHANGELOG), an InternalsVisibleTo for the test project, and word-list integrity tests. Switch the passphrase smoke test to a '.' separator since a few EFF words are hyphenated. https://claude.ai/code/session_01Y5PCRCxt2rJFBLnbaQdQRB
Add ForPassphraseWithEntropy(targetBits) which derives the word count needed to reach a target and enforces it, plus an optional minimumEntropyBits floor on ForPassphrase that rejects weak configs. Expose PassphraseGenerator.WordCountForEntropy and surface EstimateEntropyBits on the IPasswordGenerator interface. https://claude.ai/code/session_01Y5PCRCxt2rJFBLnbaQdQRB
Add includeSymbol to the passphrase generator and factories: a random symbol is attached to one randomly chosen word so phrases satisfy "needs a number and a symbol" validators while staying memorable. Entropy estimation now accounts for the symbol's value and position. Document that some EFF words are hyphenated, so callers tokenizing the output should use a separator that does not appear in any word. https://claude.ai/code/session_01Y5PCRCxt2rJFBLnbaQdQRB
Add PassphraseOptions and a PasswordOptions.Passphrase property so the DI registration can resolve a passphrase IPasswordGenerator, in code or bound from a "Passphrase" configuration section. Add a ForMemorable() preset (capitalized words sized to at least 80 bits). https://claude.ai/code/session_01Y5PCRCxt2rJFBLnbaQdQRB
Add seeded-RNG tests covering word selection by index, capitalization, symbol placement, plus a broad-sampling distribution check. Update api-surface.md and architecture.md to reflect the EFF Large Wordlist, entropy targeting/floor, symbol injection, EstimateEntropyBits on the interface, and passphrase configuration through DI. https://claude.ai/code/session_01Y5PCRCxt2rJFBLnbaQdQRB
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Detailed single-file reference covering the public API, internal
generation flow, confirmed bugs (error-string returns, off-by-one
character selection, modulo bias, non-uniform shuffle, static RNG),
build/test results, packaging hygiene, feature gaps, and a prioritised
v3 plan.
https://claude.ai/code/session_01NNRvLbK1UWy49i4Yg43QEd