Well, you had better wait
@ NotATether:
I know and keep in my mind some more work is needed on 256b version.
But I could not resist and migrated your code to R1 curve just to see...
So I changed parameters for curve and added/changed a & b parameters (K1 a=0 b=7)
For R1 much more strange numbers
I changed also precalculated constants like "R2o" and some more
Also a bit bigger task was copy/paste from my previous R1 codes for Montgomery reduction (3x)
With text editor I removed from vxcproject everything regarding CUDA and deleted WITHGPU globalflag
So I compiled it on Windows and it works in general, here are the findings: (just to share info with you now)
- in "printf" for DP size one X slipped to the right a few positions
- it seems you changed DP meaning comparing to JLP code? his mask is from left like FFFE000.....
and yours is from right like .....00000007 ?? (or it is a small bug?)
- the bigest surprise for me was that my altered code (99,99999% yours) is happy with input conf file
and provided public key "lies on the curve" but your code as it is complains that it "not lie on the curve"
at this moment I do not know if CPU always makes this check so in your case maybe GPU calculates also this
input check and it is correct?
My code even finds a private key but (of course) it is slower than JLP 125b version. What I do not understand is
that JLP behaves everytime about the same, but your version finds solution for the same config input file in time
between, say, zero (!) time to 5 minutes (?)
I was also thinking how it would be possible to check the program. Do you think it would be possible instead
of those random numbers to use some precalculated values in program so it can quickly find a test private key?
This only for testing reasons.
I keep my fingers crossed for your work!