Quote:
Originally Posted by Jacob Bendicksen
...I'd actually be curious to see how long it takes to do so, so long as it happens after kickoff....
|
So, I saw this thread and let out a groan like everyone else, but then my curiosity sort of ran with this.
It's not very difficult to write a piece of software that would not only crack the code (brute force), but it's just a skip and a hop beyond that to parallelize the code to easily run on multiple PCs (say student laptops).
From an implementation standpoint, my mind was racing. I know exactly what the program would look like, how it would communicate, etc. But what about the feasibility with respect to time?
Searching through all possible combinations is no, just no. However, let's take that there will be 20 characters, and each character can have roughly 30 possible combinations (letters or punctuation).
Let's lay out the givens/assumptions:
20^30 combinations (constraint),
50 household computers (assumption),
4 Ghz (4 E 9 Hz) processors (assumption).
How long?
Well, some simple-ish math, it would take 1.702 E 20
years for all 50 PCs to simply
flip through every single combination. That doesn't even include computation time to try the password, check to see if it's been decrypted, network traffic, etc.
I thought about possible optimizations based on dictionaries, but there are commonplace, accepted misspellings that wouldn't show up in a dictionary (e.g. hax or rox).
Ethics and morals and all that aside, just doing that calculation and coming to that realization was kind of...cool...and a little humbling.
My budding curiousity noped out of that line of thought and went off to do the fantasy draft for the night.
- Sunny G.