
please wait
Everything is a solvable problem. |
If you had an infinite amount of processing power coupled with an infinite amount of time, my problem wouldn't exist. |
What I was saying is that given a computing problem like mine, everything is solvable. |
You cannot optimize away every constraint. |
In fact, while we were debating this, I came up with my own solution. |
*Create a vector array in the base implementation of the processing path class from which all paths derive. *Each thread has its own key space to search. For eight threads and a key space of 4096, each thread would have 512 keys to search. Thread 0 -- 0-511 Thread 1 -- 512-1023 Thread 2 -- 1024-1535 Thread 3 -- 1536-2047 Thread 4 -- 2048-2559 Thread 5 -- 2560-3071 Thread 6 -- 3072-3583 Thread 7 -- 3584-4095 In this way, no thread overlaps another thread's key space, and no mutexes are required to modify the array which stores the used values. *After a key has been checked, it is inserted in numerical form, sorted in ascending order, in the vector array defined in the base class. Every new key is checked against the vector array using a binary search. If the check fails, the key is thrown out, and a new one is generated. |
I don't think I'm following. So you have 8 threads randomizing strings and hashing them, right? What good is assigning the threads key spaces to search? |
So you aren't proving that one way hashes are insecure; you're just proving that 99.9999% of all passwords in use today are insecure. |
Still, though, I think your logic is not correct in that your random method is not faster than the "start at the beginning" approach... |