2.3.3 Probability-based Approach
This class of methods refers directly to number of
guesses needed to break a password, rather than es-
timating its entropy. Firstly, a model is prepared, bas-
ing on a list of plaintext passwords. Later, it is used
to aid a guessing algorithm in determining the input
password. The strength of the password is defined
by the number of guesses needed to figure it out cor-
rectly.
As the class is broadly defined, there are several
approaches that can be identified as its represen-
tatives. Here, the two most well-known will be
presented. As they are significantly more complex
than the previous two algorithms, their description
will be more general. For a deeper insight, please
refer to the original works.
Example - Markov chains and finite automata
method (Narayanan and Shmatikov, 2005)
This method is based upon the following assump-
tions:
• humans choose passwords to be memorable,
meaning that they either consist of existing words
of some language or resemble them. Therefore,
they tend to choose letters with probabilities close
to their frequency of occurrence in the chosen
language. These can be predicted with Markov
chains-based methods.
• the use of numbers and special characters in pass-
words usually follows a few popular patterns,
which are deployed as ”mangling rules” (like
in popular password cracker John the Ripper).
These can be generalized by finite automata.
The authors of the solution present several algorithms
for generation of a wordlist for a dictionary attack,
basing on the Markov chains, the finite automata
and, finally, a mixed approach. Their method is
reported to outperform the Oechslin’s ”rainbow”
attack (Oechslin, 2003), widely regarded as the
fastest method for large spaces exhaustion.
Example - PCFG (probabilistic context-free
grammar based meter) (Weir et al., 2009)
The method itself is not a password meter, but a
password guesser. Yet, it can be used for estimating
passwords strength as well. A list of passwords in
plaintext is used to automatically extract common
structure patterns in them and create a probabilistic
context-free grammar. From the grammar, mangling
rules for the guesser are extracted. Then, a dictionary
attack is performed, using these rules to modify
dictionary entries. This method of creating mangling
rules (as opposed to setting them manually, or relying
on a default set, as in standard password crackers)
leads to significantly better performance - in the
original paper, up to 129% more passwords were
cracked than by John the Ripper.
3 THE LPSE ALGORITHM
This section presents a description of the LPSE algo-
rithm. It summarizes Chapter 3 of the original work
(Guo and Zhang, 2018). Its goal is to provide the
Reader with understanding of the method, as it will
be analysed further in this paper.
3.1 Design Objectives
The LPSE authors’ goal was to provide a lightweight
password meter, suitable for use on the client-side,
that would show better performance than existing
leading solutions, such as zxcvbn. The algorithm was
designed to be computationally lightweight, need a
limited amount of additional data (such as lengthy
dictionaries), and be easy to implement.
3.2 Vectors of Characteristics
In this method, the passwords are represented as vec-
tors α = (x
1
, x
2
, x
3
, x
4
, x
5
), where x
i
’s represent, re-
spectively: digits, lowercase letters, uppercase letters,
special characters and password length. As uppercase
letters and special characters tend to be included in
strong passwords, their use is awarded with a higher
score. On the contrary, as doubling letters or choos-
ing consecutive characters is a weak choice, it is pe-
nalized - the overall score for the sequence is equal to
score for a single building block. The general rules,
as described by the authors of the solution, are shown
in Figure 1. As the users tend to follow some weak
patterns when creating passwords, these basic calcu-
lations are tuned up by detecting and penalizing them.
The list of the weak patterns identified by the algo-
rithm is presented in Figure 2.
3.3 Universally Strong Password
As stated in the previous section, an ideal strong pass-
word should be randomly generated and sufficiently
long. The authors of LPSE propose an 18-characters
long sequence. Let us assume that the characters are
chosen uniformly at random from a 94-piece set con-
sisting of 10 digits, 26 lower- and 26 uppercase let-
ters, and 32 special characters. Then, characters from
all groups should appear proportionally, namely: 2
On the LPSE Password Meter’s Discrepancies among Different Datasets
257