Bitcoin Forum
May 17, 2024, 02:43:43 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Add Secp224R1 Implementation for VanitySearch  (Read 14 times)
chapoly (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
February 10, 2024, 05:37:40 PM
Last edit: February 10, 2024, 06:20:03 PM by chapoly
 #1

Hello,
I am currently working on a research project that have the similar initiative of VanitySearch. A portion of my project includes to find the public key x cord with a given prefix.

Huge appreciation to the original project https://github.com/JeanLucPons/VanitySearch and the fork https://github.com/bojlahg/VanitySearchPublicKey, these two project helped me found few results with Secp256K1, yet proven my research direction is feasible (Finding given six bytes of prefix and find the public key in reasonable amount of time). To accomplish the research goal, I am trying to make the VanitySearch project be Secp224R1, but still struggling to get the self-checking works correctly. I planned to firstly make the project be Secp224K1 CPU Only, because they are much similar (both y^2 = X^3 + b). Once it worked, then move forward to 224R1 CPU then on GPU as the final objective.

I am writing this post is seeking for help on this project, any helps in coding or debugging are really appreciated. I am currently updating my personal modifications at https://github.com/Chapoly1305/VanitySearchPublicKey, the branch "crazy" is a functional program removed irrelevant logic for isolation consideration. The branch secp224k1 is what I currently posting all sorts of attempts.

In summary to the branch, I have set the parameters {p,a,b,Gx,Gy, n(order), lamba_1, lamba_2, beta_1, beta_2} according to https://neuromancer.sk/std/secg/secp224k1 and https://secg.org/sec2-v2.pdf. However, the VanitySearch -check failed at

GetBase10() Results OK
Add() Results OK : 2.000 GigaAdd/sec
Mult() Results OK : 81.301 MegaMult/sec
Div() Results OK : 16.393 MegaDiv/sec
R1=1000000000000000000000000000000000000000000000000
R2=100001A930000000000000000000000000000000000000000
Field characteristic size: 224bits
ModInv()/ModExp() Results Wrong:
ModInv=144EE430EFC0E5987ABBDAF79FEEEF520346A9BB60B727C06198A1D3
ModExp=35167A5885D31C42D06E71788D4424B1FCBFD528A78821E9BBA7868
Check Generator :Failed !
Check Double :Failed !
Check Add :Failed !
Check GenKey :Failed !
GPU code not compiled, use -DWITHGPU when compiling.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!