Post
Topic
Board Development & Technical Discussion
Re: BitCrack - A tool for brute-forcing private keys
by
Angelo1710
on 03/10/2021, 12:35:13 UTC

pika's random mode (which is not in brichard19's bitcrack) is not using a random number generator, it turns out that it uses an iteration count and multiplies it with all the other normal stuff, which is then ADDED to some exponent to obtaining private key samples:

Code:
// https://github.com/ZenulAbidin/BitCrack-3000/blob/master/CudaKeySearchDevice/CudaKeySearchDevice.cpp line 112
    // Generate key pairs for k, k+1, k+2 ... k + <total points in parallel - 1>
    secp256k1::uint256 privKey = _startExponent;

    if(!_randomMode) {
        exponents.push_back(privKey);
    }
// ...
// Line 272
        if(!_randomMode) {
            offset = (secp256k1::uint256((uint64_t)_blocks * _threads * _pointsPerThread * _iterations) + privateKeyOffset) * _stride;
            privateKey = secp256k1::addModN(_startExponent, offset);
        } else {
            offset = secp256k1::uint256(_iterations) * _stride;
            privateKey = exponents[privateKeyOffset];
            privateKey = secp256k1::addModN(privateKey, offset);
        }


Can you please explain a bit more how's pika's random mode is working? I though it was using RNG. Can you explain how it get starting points compared to original bitcrack? Tnx