I'm looking for someone who can help me come up with the best possible solution for a project my company is doing for one of our university clients. Geeks and creative minds are most welcome!
This is a programmatic task. Imagine there is a sequence of 1 million SHA256 hashes and each hash on the list is generated based on the previous one, so for example hash number 1 is:
$hash1 = 4a86d363c0f674e05378faecbcb94799db30e5d5a2fa780f8776eb46aa2b2db
and hash number 2 will be (using PHP function here):
$hash2 = hash('sha256', $hash1);
so $hash2 = f4db859d32ef894e650dfe26e179085520a59b376a28d971bc3a78990c4a2c13
Now the interesting part.
Only the ten last of these hashes from the list are known (so hash number 999,999 and hash number 1 million), and we need to somehow find (calculate somehow) the first hash in the whole sequence, thus revealing the complete sequence.
In other words, all hashes are "hidden", and only the ten last ones are known.
I have come up with a PHP script, but the time needed to execute it exceeds the age of our universe (literally), so another approach is necessary.
I think this is similar to mining cryptocurrencies (solving hashes), so i believe we could use GPUs to speed things up. I can have access to a professional mining rig (6 x RX580, i think above 100 MHash computing power), but i don't know how to write the software (what language would be best here?).
Another idea was to use quantum computing, but again i don't know how to write the script. I know that IBM is offering access to quantum computing: [url removed, login to view]
Yet another idea is to use distributed computing (multiple machines in thousands).
Or perhaps totally different idea would help here...?
Also, my PHP solution is "linear", so it can only be run in a single instance, it's not possible to distribute it or run in paralell (due to the fact of having to store all hashes in a database, which would be HUGE).
Is there a way to change the architecture, so it can run on multiple machines? I'm open to any ideas that can help here! :)
Please wirte a few words about you and how would you approach solving this task. I'd like to make sure that you are a real human person interested in completing the project :) Thanks! This is a project i'm posting on behalf of my company, we are offering 10.000 USD to a person that can help us solve this puzzle successfully. Long term employment opportunity is very possible afterwards.
20 freelancers are bidding on average $15763 for this job
C++ Programming, Mathematics, PHP, Programming, Quantum Relevant Skills and Experience C++ Programming, Mathematics, PHP, Programming, Quantum Proposed Milestones $20000 USD - 1