The question is, how are you going to determine 0 or 1s?
Anyways, before you break the grounds any further, you might wanna try this "earth shattering" script: 😉
from sympy import mod_inverse
import secp256k1 as ice
pub=ice.pub2upub('Here Compressed Public Key')
N=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
k=mod_inverse(2,N)
neg1=ice.point_negation(ice.scalar_multiplication(1))
def ters(Qx,Scalar):
ScalarBin = str(bin(Scalar))[2:]
le=len(ScalarBin)
for i in range (1,le+1):
if ScalarBin[le-i] == "0":
Qx=ice.point_multiplication(k,Qx)
else:
Qx=ice.point_addition(Qx,neg1)
Qx=ice.point_multiplication(k,Qx)
return ice.point_to_cpub(Qx)
for x in range(1,65536):
f= (ters(pub,x))
data= open(“halfpub.txt”,”a”)
data.write(f+”\n”)
data.close()
Code was first seen posted by @lordfrs, later modified by @mcdouglasx
Believe it or not, I have been where you are now, the difference is that I never created a github page to share incorrect code, your code has a few flaws, it's not even an algorithm, however the script I just shared is one.
One thing you have completely ignored is the fact that we can not multiply a point by another point, yet you base your research on that possibility.