Skip to content

Instantly share code, notes, and snippets.

@timmc
Created May 3, 2018 01:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save timmc/d95b90336dfc63881a4034fef436c6e1 to your computer and use it in GitHub Desktop.
Save timmc/d95b90336dfc63881a4034fef436c6e1 to your computer and use it in GitHub Desktop.
Passphrase compound collision - case analysis
- 3 word passphrases
- 1000 word list, with one collision: dog, under, underdog
Compounding:
under dog x: 1000
x under dog: 1000
Total loss: 2 * 1000 out of 1000^3
- 5 word passhrases
under dog x x x: 1000^3 - 2 * 1000
x under dog x x: 1000^2 - 1
x x under dog x: 1000^2 - 1
x x x under dog: 1000^3 - 2 * 1000
under dog under dog x: 1000
under dog x under dog: 1000
x under dog under dog: 1000
3 * 1000 + 2 * (1000^2 - 1) + 2 * (1000^3 - 2 * 1000) = 2001998998 ~= 2e9
1000^5 = 1000000000000000 = 1e15
@sts10
Copy link

sts10 commented May 3, 2018

Just to check my first assumption: is the number to the right of the colons the number of possible passphrases that have that location of compounding? I think that's the case, but just spelling it out.

So if that's the case, can you walk me through x under dog x x: 1000^2 - 1? Why is it not just 1000^3? Or maybe 1000^3 - 1000 if we don't want to include the pattern of x under dog under dog?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment