<div dir="auto"><div>Love the topic and kudos on a very clear explanation :)</div><div dir="auto"><br></div><div dir="auto">Personally, I combined both - long password combined with an easy to remember but more complex character like # at the end, so the password wasnt entirely derived from the "simple" character universe. Still easy to remember :)<br><div class="gmail_extra" dir="auto"><br><div class="gmail_quote">On Nov 5, 2017 10:03 AM, "George Rosamond" <<a href="mailto:george@ceetonetechnology.com">george@ceetonetechnology.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This is something I've tinkered with for a long while, and thought I'd<br>
raise it on talk@ even though it's a bit OT from BSD land.<br>
<br>
Looking for feedback/correction on my argument here.<br>
<br>
I toyed a bit with the xkcd passwds... the well-known <a href="https://xkcd.com/936/" rel="noreferrer" target="_blank">https://xkcd.com/936/</a>.<br>
<br>
The passwords in question are:<br>
<br>
Tr0ub4dor &3 (aka "Tr0")<br>
<br>
versus<br>
<br>
correct horse battery staple (aka "correct")<br>
<br>
There is a unix program called ent in all BSD ports<br>
(<a href="https://www.fourmilab.ch/random/" rel="noreferrer" target="_blank">https://www.fourmilab.ch/<wbr>random/</a>) which calculates entropy with a bunch<br>
of different measurements.  I fully don't understand all the tests, but<br>
I generally look at the first one "Entropy" which is bits of entropy per<br>
byte, ie, how much entropy/randomness per digit. So if you have a five<br>
digit passwd and 3 bits of entropy per byte, the passwd entropy would be<br>
5 digits X 3 bits of entropy per byte = 15 bits of entropy.  I think<br>
that's correct.<br>
<br>
Now the first Tr0... passwd has 3.546... bits per byte, and the second<br>
correct... has 3.590... Therefore:<br>
<br>
Tr0.. 3.546 x 12 digits (including space) and is 42.48 bits of entropy<br>
<br>
correct... 3.590 x 28 digits and is 100.5 bits of entropy<br>
<br>
This seems to confirm the argument of the xkcd cartoon. The easier<br>
passwd correct... has more than double the bits of entropy and is easier<br>
to remember.<br>
<br>
But then look at the password strength wikipedia page, specifically the<br>
chart entitled "desired password entropy".<br>
<a href="https://en.wikipedia.org/wiki/Password_strength/" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/<wbr>Password_strength/</a><br>
<br>
The Tr0 passwd is considered in the column of "All ASCII printable<br>
characters" and the correct passwd is in the "case insensitive Latin<br>
alphabet".  Even by this the Tr0 passwd is about 72 bits of entropy and<br>
the correct passwd is 128 bits of entropy.<br>
<br>
Certainly the recommended method from the cartoon would likely be a<br>
massive improvement for most users. And with that, I don't think it's a<br>
bad thing if there is some real mathematical improvement in passwd strength.<br>
<br>
The problem with that argument, however, is the same problem with<br>
Diceware. The words, like Diceware, are all in standard US English<br>
dictionaries, and most methods of bits/entropy calculation doesn't take<br>
that into account. Both xkcd and Diceware only use a "26 character<br>
universe", ie, they limit their content to lower-case alphabet English.<br>
So what may look better in terms of some calculations, doesn't add up<br>
when it comes to determining patterns, ie, English words.<br>
<br>
So someone getting some of the passwd really just needs a "Wheel of<br>
Fortune" approach to determining a passwd in full.<br>
<br>
co__ect ho_se batte_y staple<br>
<br>
"Can I buy an 'r'?"<br>
<br>
And "universe" is one of the criteria I think matters for password<br>
strength. All ASCII printable characters is a 95 universe, which is much<br>
better over the 26 in a lower-case (or upper-case) US English alphabet one.<br>
<br>
Length matters, of course, but I think it's too often the main criteria<br>
for users and sysadmins, and the think that intimidates users the most.<br>
<br>
But it's third criteria that matters in this case, what I call<br>
"diversity", ie, can you find it in any dictionary? Does it contain<br>
common digraphs (in english, th, ng, st, etc).  Both xkcd and Diceware do.<br>
<br>
Going back to the passwd strength chart, how long does a passwd in<br>
26-universe alphabet have to be to equal on that uses a 95-character<br>
ASCII universe?<br>
<br>
alpha only/ascii<br>
<br>
13/7 (40 bits/entropy in total)<br>
25/13 (80 bits)<br>
39/20 (128 bits)<br>
<br>
etc.<br>
<br>
The conclusion, to me, is that getting users to use the whole ASCII<br>
universe of 95 characters with diversity is an achievable goal, and<br>
removes the easy brute force dictionary attacks so common.<br>
<br>
Can't imagine a more perfect Sunday morning post.<br>
<font color="#888888"><br>
g<br>
<br>
--<br>
<br>
<br>
5822 F82D 665B 5C6A 915B FAD4 B014 1CEE 545A A6C6<br>
<br>
______________________________<wbr>_________________<br>
talk mailing list<br>
<a href="mailto:talk@lists.nycbug.org">talk@lists.nycbug.org</a><br>
<a href="http://lists.nycbug.org/mailman/listinfo/talk" rel="noreferrer" target="_blank">http://lists.nycbug.org/<wbr>mailman/listinfo/talk</a><br>
</font></blockquote></div><br></div></div></div>