[Request] When it comes to a secure password, at what point does stipulating special instructions (ie, requiring uppercase, requiring special characters, etc.) become harmful rather than helpful?

It's more common to describe the search space in terms of a power of two. Using the 95 type-able ascii characters we have 252 for 8 character passwords and 278 for 12 characters. To put these in rough perspective your laptop can search 240 rapidly. A handful of moderately powerful computers can search 260 rapidly. 280 is still considered secure, but just barely. The default broad advice is now to force an adversary to search a 2128 bit space. Why the jump up from 280 to 2128? Safety margin. The 280 limit assumes that attackers don't find a weakness in the relevant hash function that allows them to skip some part of the space. Mandating up to 2128 gives a bit of breathing room against this.

A 2128 secure password would require a minimum length of 20 characters from that 95 character set. This is beyond what most people are willing to memorize, and illustrates a very ugly truth:

Viirtually all passwords commonly used on the internet are not long enough to be secure vs a determined adversary.

The only practical way to deal with this atm is to use a password manager, which at least allows you to use the strongest, longest, unique per site passwords possible without being limited by memory or effort. You're still short of what would be considered secure in an absolute sense, but at least the risk from www.rando.com having an absurd password length limit is scoped to just that site.

/r/theydidthemath Thread Parent