Hey everyone, whether it's solving puzzles or dealing with partially lost private keys, there are plenty of situations where you might know the first bytes of a private key but not the public key due to ᴘ2ᴘᴋʜ. There are tools called ꜱᴀᴛ solvers (or ꜱᴍᴛ solver when working with integers instead of just bits) that can tackle systems of equations. Essentially, you break down all the loops of a program and express all the variables as equations. You even try to rewrite the program to reverse operations, like turning additions into subtractions and divisions into multiplications. This results in equations we learned back in K-12 (but with way more variables), with the goal of finding the unknown bits (whether they stand alone or form an Integer). The solver rewrites the equations and then does a bruteforce search if there are multiple solutions, or it gives you the result directly if it’s clear.
A better approach for this type of attack is working with what's known as Gröbner bases. However, this is a tricky manual process that has never been attempted on Bitcoin, despite its widespread use.
So, when it comes to bruteforcing Bitcoin keys, your options are pretty limited. You could bruteforce the entire set of around 270 keys, which isn’t practical economically, or use an ᴀꜱɪᴄ to bruteforce sha256 in order to find a preimage of the public key. This basically means that either the private key part or the partial sha256 is useless for narrowing down the search space.
Need help: how to limit bruteforce key search using ꜱᴍᴛ solver?
2 replies 497 views
omega_bearFull Member
Posts: 116 · Reputation: 780
#2Apr 2, 2017, 10:01 AM
ASICS IS A POWER!!!
Share result then you try this, please.
Hemm asics is for mining not brute forcing Bitcoin accounts. Also most sat solvers already have fpga ports in addition into being able at least in theory shrinking the number of required computations.
And without help for solving the issues above, this will stay a nice post on Bitcointalk without any implementations