diff options
author | Mike Coddington <mike@coddington.us> | 2017-10-11 13:48:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-11 13:48:50 -0500 |
commit | cd4c11c38813a026ad5ddc040cbbcffdc70bd832 (patch) | |
tree | 3dda12e646325fa73c595f120ea986b3fd0db376 | |
parent | 50b74db43bc3467b3fbf28b10606e955b40566ed (diff) | |
download | zxcvbn-c-cd4c11c38813a026ad5ddc040cbbcffdc70bd832.tar.gz |
Fix spelling, capitalization, URL
CoffeeScript & Dijkstra were standardized and capitalized according to their wishes. Also, the DropBox URL was updated.
-rw-r--r-- | README.md | 22 |
1 files changed, 11 insertions, 11 deletions
@@ -5,18 +5,18 @@ The code is intended to be included as part of the source of a C/C++ program. Li original this code is for character sets which use single byte characters primarily in the code range 0x20 to 0x7E. -The original coffee script version is available at +The original CoffeeScript version is available at https://github.com/lowe/zxcvbn An article on the reasons for zxcvbn is at -https://tech.dropox.com/2012/04/zxcvbn-realistic-password-strength-estimation +https://blogs.dropbox.com/tech/2012/04/zxcvbn-realistic-password-strength-estimation/ ##Building The makefile will build several test programs to test the code. It shows the steps needed to use the code in C and C++ programs, using the dictionary data read from file or included within the program executable. -The makefile has only been tried on Linux using GCC version 4.8.4, but should be faily +The makefile has only been tried on Linux using GCC version 4.8.4, but should be fairly portable to other systems. When dictionary data is included in your program's executable, the files `zxcvbn.c` , @@ -57,28 +57,28 @@ The entropy calculated will sometimes differ from the original because of **;'#** is a spacial sequence. * The different character classes in a password are taken into account when calculating the strength of brute-force matches. -* Dijktra's path searching algorithm is used to combine parts of the entered password. This +* Dijkstra's path searching algorithm is used to combine parts of the entered password. This can result in the found parts of the password being combined differently than the -original coffee script. E.g. the password **passwordassword** -is combined by the original coffee script as **p** (3.5 bits) + **asswordassword** (12.6 +original CoffeeScript. E.g. the password **passwordassword** +is combined by the original CoffeeScript as **p** (3.5 bits) + **asswordassword** (12.6 bits) + multiple part allowance (1.0bit) to give total entropy of 17.1 bits. This implementation combines it as **password** (1.0 bit) + **assword** (11.6 bits) + multiple part allowance (1.0bit) to give 13.6 bits. -* For multi part passwords the original coffee script version multiplies the number of +* For multi-part passwords the original CoffeeScript version multiplies the number of guesses needed by the factorial of the number of parts. This is not possible in this -version as Dijktra's algorithm is used. Instead one bit entropy is added for the part at the +version as Dijkstra's algorithm is used. Instead one bit entropy is added for the part at the end of the password, 1.7 bits for each part in the middle of a password and nothing -for the part at the beginning. This gives similar results compared to the coffee script +for the part at the beginning. This gives similar results compared to the CoffeeScript version when there are 4 or less parts, but will differ significantly when there are many parts (which is likely to be a rare occurrence). ##References -The original coffee-script version is available at +The original CoffeeScript version is available at https://github.com/lowe/zxcvbn -The dictionary words are taken from the original coffee script version. +The dictionary words are taken from the original CoffeeScript version. Dictionary trie encoding (used for by the word lookup code) based on idea from the Caroline Word Graph from |