3.2. ENTROPY CALCULATION IN OBIDOS 13
to crack the password. if gps = 1 trillion, it will take ≈ 150 years to crack the password. So if brute
force is used, it is really a good password, even with the most powerful computer, it will take a long time
to crack.
According to xkcd, the password is not strong, lets see how xkcd calculates the entropy. Each of the
tiny square box in the comic indicates a bit.
• The 16 bits implies that the word Troubador is chosen from a dictionary with 65536 words
(2
16
= 65536).
• Make the first letter upper case, there is only 1 bit.
• Two characters were substituted o → 0, a → 4 and o was not substituted, therefore 3bits of
information.
• The string &3 was appended at the end. The order is unknown, therefore 1 bit
• There are 32 special characters (including space) in English keyboard, therefore the entropy should
be 1 ×
log(32)
log(2)
= 5. For some reason 4bit was selected.
Therefore, the entropy of Tr0ub4dor&3 is 16+1+3+1+4+3 = 28, which much is lower than 72
and makes it a bad password, because the attacker might follow the similar technique than brute-forcing
it.
3.2 Entropy calculation in Obidos
The technique we used in Obidos, the entropy for the password Tr0ub4dor&3 comes down to 19.625.
we used similar techniques used the ruby gem strong password
1. Calculate entropy according to NIST Special Publication 800-63 Version 1.0.2 Appending A.2.1
• The first character gets 4 bits
• The next 7 characters get 2 bits/character
• The next 12 characters (9-20) get 1.5 bits/character
• Any character beyond 20 gets 1 bit/character
• If there are mixed case and special character, give 6 bits bonus
Using these rules, the entropy of Tr0ub4dor&3 comes down to 26.125
2. Calculate the entropy by lowering the case, which is also 26.125
3. Adjust entropy by checking if the password has any pattern of Qwerty keyboard (e.g. zxcvbn,
qwertyuiop etc.) which is 26.125
4. Adjust the entropy by looking at dictionary, doing normal substitutions like xkcd, checking for leet
speak pattern etc. The entropy comes down to 19.625.