Hi, it seems your implementation is not MUCH safer than original, see this issue: johguse/profanity#61. Original profanity could be hacked in seconds/minutes with few hours of precompile. I suspect precompile table can be increased thousands of times algorithmically. Using 1000x bigger table and having 1000x more GPU core than average computer would allow to hack every 4000-th vanity address if I count correctly.
Consider calling rd() eight times in a row for achieving 256 bits of non-deterministic seed private key.
Or check out version of @1inch: https://github.com/1inch/profanity2 – it introduces “safety by design” by non-generating any private keys anymore, but finding shift for private key by provided public key of it.
Hi, it seems your implementation is not MUCH safer than original, see this issue: johguse/profanity#61. Original profanity could be hacked in seconds/minutes with few hours of precompile. I suspect precompile table can be increased thousands of times algorithmically. Using 1000x bigger table and having 1000x more GPU core than average computer would allow to hack every 4000-th vanity address if I count correctly.
Consider calling
rd()eight times in a row for achieving 256 bits of non-deterministic seed private key.Or check out version of @1inch: https://github.com/1inch/profanity2 – it introduces “safety by design” by non-generating any private keys anymore, but finding shift for private key by provided public key of it.