Author

Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it - page 331. (Read 253308 times)

member
Activity: 245
Merit: 17

OK thanks.
The  integer  read after  the  -r option seems to be a signed  byte, can't go beyond 127 (you get  a negative  range)


Thanks! Fixed in current version.

Nice Wink

I tried this (I am not sure if it does what I think it should Wink )

./clBitCrack -r 61 -d 1 -b 72 -t 256 -p 2048 --continue hup.txt -o res.txt 1AVJKwzs9AskraJLGHAZPiaZcrpDr1U6AB


And this is what I get in my continue file hup.txt

start=0000000000000000000000000000000000000000000000000000000000000001
next=00000000000000000000000000000000000000000000000000000004A4000001
end=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140
blocks=72
threads=256
points=2048
compression=compressed
device=1
elapsed=344463
stride=0000000000000000000000000000000000000000000000000000000000000001

I suppose that in this context, continue file just tell me how many cases I ran .. right?

jr. member
Activity: 34
Merit: 5

OK thanks.
The  integer  read after  the  -r option seems to be a signed  byte, can't go beyond 127 (you get  a negative  range)


Thanks! Fixed in current version.

Nice Wink



Next update will get rid of the parameter and just generate random values in specified keyspace start:end if -r is specified.
This will also optimize key initializing hopefully so it will start faster.
member
Activity: 245
Merit: 17

OK thanks.
The  integer  read after  the  -r option seems to be a signed  byte, can't go beyond 127 (you get  a negative  range)


Thanks! Fixed in current version.

Nice Wink
jr. member
Activity: 138
Merit: 2
What prevents solve 61 puzzle puzzles with a little trick and baby step giant step?
The trick will be as follows...we know the approximate closed keys at the edges of the puzzle ,we also can compute and plot of 2^60-2^61 divide them into equal shares ,and then send to these addresses small Satoshi ,since Satoshi come we do the reverse translation with the new address back ,thus we learn from these addresses, public keys ,and all of it will be possible to calculate the private key 61 of the puzzle. Shocked
member
Activity: 348
Merit: 34
https://gist.github.com/jhoenicke/2e39b3c6c49b1d7b216b8626197e4b89

In practice, you will not compile an executable script for this task (where you also need to change #define GSTEP (1 << 25)) to #define GSTEP (1UL << 60)

In the original version of the script it looks like this:
Code:
2 ^ 25 * 2 * 8/1024/1024 = 512 MB #Required RAM memory
For the current level:

2 ^ 60 * 2 * 8/1024/1024 = 17592186044416 MB (seventeen trillion five hundred ninety-two billion one hundred eighty-six million forty-four thousand four hundred sixteen megabytes) #Required RAM

So ... if you do not have this amount of RAM - you will not use this method.

Look at the original code:

https://gist.github.com/jhoenicke/2e39b3c6c49b1d7b216b8626197e4b89
Code:
/* giant steps are 2^25 */
#define GSTEP (1<<25)

#define NUMPUBKEYS 51
unsigned char rawpubkeys[NUMPUBKEYS][33] ...

As you can see, to search the key #51 (from 2^50 to 2^51) you need a number of giant steps (and baby steps) equal to 2^25 (not to 2^51!)

if you look at the hash table:
Code:
typedef struct hashtable_entry {
    uint32_t x;
    uint32_t exponent;
} hashtable_entry;

#define HASH_SIZE (2*GSTEP)
hashtable_entry table[HASH_SIZE];

each entry size is 32 bit + 32 bit = 64 bit = 8 byte. The size of the hash table is 2*GSTEP, 2^26 entries.

So for the original script:

8 byte * 2^26 = 2^29 bytes, 512 MB.

If you change GSTEP from 2^25 to 2^26, you can find the keys #51 and #52 too (if you have more than 1 GB).

It is not correct at all saying that at the current level we need 2^60 giant steps / 2^60 baby steps!

I did many other modifications to the code. I can have a max number of giant steps (for my RAM) equal to 2^30, if I need to search in a bigger space than 2^60 I have to split then the baby step lists ( I generate first a hash table with a part of the list, then I delete it and I create another one, and so on). This way the program becomes very slow, I can retrieve a key in a 2^60 space in a very short time, but not over the 2^70 (unless I accept to wait days to have the result).


#include "libsecp256k1-config.h"

#include
#include
#include

#include

#include "include/secp256k1.h"
#include "secp256k1.c"

/* giant steps are 2^25 */
#define GSTEP (1<<25)

#define NUMPUBKEYS 2
unsigned char rawpubkeys[NUMPUBKEYS][33] = {
    { 0x02,0xb5,0x46,0x83,0x8d,0xac,0xee,0xeb,0x60,0x80,0x37,0xb8,0x9b,0xec,0x2f,0xf7,0xa5,0x96,0x6e,0x8d,0x91,0xd9,0xab,0x0d,0xc6,0xd1,0x28,0x04,0xee,0xde,0x9b,0xfc,0x50 },
    { 0x02,0x7e,0x2a,0x3d,0x1b,0x2f,0x70,0xc0,0x74,0x45,0xb9,0xbe,0x04,0x8b,0xae,0xdd,0xc9,0xa7,0xcb,0xfd,0x9f,0xb9,0x96,0xc9,0x1b,0x12,0xc5,0xa1,0x84,0x76,0x30,0x77,0x3e },
};

typedef struct hashtable_entry {
    uint32_t x;
    uint32_t exponent;
} hashtable_entry;

#define HASH_SIZE (2*GSTEP)
hashtable_entry table[HASH_SIZE];
secp256k1_ge pubkeys[NUMPUBKEYS];

int main(int argc, char **argv) {
    secp256k1_context *ctx = secp256k1_context_create(SECP256K1_CONTEXT_NONE);

    int next = 0;

    for (int i = 0; i < NUMPUBKEYS; i++) {
        if (!secp256k1_eckey_pubkey_parse(&pubkeys, rawpubkeys, 33)) {
            printf("Unparsable pubkey %2d\n", i);
            return -1;
        }
    }

    printf("Build Hash\n");
    secp256k1_gej pt;
    secp256k1_gej_set_ge(&pt, &secp256k1_ge_const_g);
    for (size_t i = 1; i < GSTEP; i++) {
        secp256k1_fe x,zinv;
        secp256k1_fe_storage xst;
        secp256k1_fe_inv_var(&zinv, &pt.z);
        secp256k1_fe_sqr(&zinv, &zinv);
        secp256k1_fe_mul(&x, &pt.x, &zinv);
        secp256k1_fe_to_storage(&xst, &x);
        uint32_t entry = xst.n[0] & (HASH_SIZE-1);
        while (table[entry].exponent != 0) {
            entry = (entry + (xst.n[1] | 1)) & (HASH_SIZE - 1);
        }
        table[entry].exponent = i;
        table[entry].x = xst.n[2];
        secp256k1_gej_add_ge_var(&pt, &pt, &secp256k1_ge_const_g, NULL);
    }

    printf("Search Keys\n");
    secp256k1_ge ptgstep;
    secp256k1_gej_neg(&pt, &pt);
    secp256k1_gej_double_var(&pt, &pt, NULL);
    secp256k1_ge_set_gej(&ptgstep, &pt);
    secp256k1_gej_set_infinity(&pt);

    for (size_t i = 0; i < 2*GSTEP; i++) {
        for (int j = next; j < NUMPUBKEYS; j++) {
            secp256k1_gej diff;
            secp256k1_fe x,zinv;
            secp256k1_fe_storage xst;
            secp256k1_gej_add_ge_var(&diff, &pt, &pubkeys[j],  NULL);
            secp256k1_fe_inv_var(&zinv, &diff.z);
            secp256k1_fe_sqr(&zinv, &zinv);
            secp256k1_fe_mul(&x, &diff.x, &zinv);
            secp256k1_fe_to_storage(&xst, &x);
            uint32_t entry = xst.n[0] & (HASH_SIZE-1);
            while (table[entry].exponent != 0) {
                if (table[entry].x == (uint32_t) xst.n[2]) {
                    uint64_t key = (uint64_t) i *  (uint64_t) (2 * GSTEP);
                    printf("Found private key %2d: %16lx or %16lx\n", j + 1,
                           key - table[entry].exponent,
                           key + table[entry].exponent);
                    next++;
                    if (next == NUMPUBKEYS)
                        return 0;
                }
                entry = (entry + (xst.n[1] | 1)) & (HASH_SIZE - 1);
            }
            if (j == next)
                break;
        }
        secp256k1_gej_add_ge_var(&pt, &pt, &ptgstep, NULL);
    }
    return 0;
}
jr. member
Activity: 34
Merit: 5

OK thanks.
The  integer  read after  the  -r option seems to be a signed  byte, can't go beyond 127 (you get  a negative  range)


Thanks! Fixed in current version.
member
Activity: 245
Merit: 17
Hi guys,

In continuation to this thread: https://bitcointalksearch.org/topic/brute-force-on-bitcoin-addresses-video-of-the-action-1305887

While playing around with my bot, I found out this mysterious transaction:

https://blockchain.info/tx/08389f34c98c606322740c0be6a7125d9860bb8d5cb182c02f98461e5fa6cd15

those 32.896 BTC were sent to multiple addresses, all the private keys of those addresses seem to be generated by some kind of formula.

For example:

Address 2:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU74sHUHy8S
1CUNEBjYrCn2y1SdiUMohaKUi4wpP326Lb
Biginteger PVK value: 3
Hex PVK value: 3

Address 3:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU76rnZwVdz
19ZewH8Kk1PDbSNdJ97FP4EiCjTRaZMZQA
Biginteger PVK value: 7
Hex PVK value: 7

Address 4:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU77MfhviY5
1EhqbyUMvvs7BfL8goY6qcPbD6YKfPqb7e
Biginteger PVK value: 8
Hex PVK value: 8

Address 5:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7Dq8Au4Pv
1E6NuFjCi27W5zoXg8TRdcSRq84zJeBW3k
Biginteger PVK value: 21
Hex PVK value: 15

Address 6:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7Tmu6qHxS
1PitScNLyp2HCygzadCh7FveTnfmpPbfp8
Biginteger PVK value: 49
Hex PVK value: 31

Address 7:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7hDgvu64y
1McVt1vMtCC7yn5b9wgX1833yCcLXzueeC
Biginteger PVK value: 76
Hex PVK value: 4C

Address 8:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU8xvGK1zpm
1M92tSqNmQLYw33fuBvjmeadirh1ysMBxK
Biginteger PVK value: 224
Hex PVK value: E0

Address 9:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUB3vfDKcxZ
1CQFwcjw1dwhtkVWBttNLDtqL7ivBonGPV
Biginteger PVK value: 467
Hex PVK value: 1d3

Address 10:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUBTL67V6dE
1LeBZP5QCwwgXRtmVUvTVrraqPUokyLHqe
Biginteger PVK value: 514
Hex PVK value: 202

Address 11:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUGxXgtm63M
1PgQVLmst3Z314JrQn5TNiys8Hc38TcXJu
Biginteger PVK value: 1155
Hex PVK value: 483

Address 12:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUW5RtS2JN1
1DBaumZxUkM4qMQRt2LVWyFJq5kDtSZQot
Biginteger PVK value: 2683
Hex PVK value: a7b

Address 13:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUspniiQZds
1Pie8JkxBT6MGPz9Nvi3fsPkr2D8q3GBc1
Biginteger PVK value: 5216
Hex PVK value: 1460

Address 14:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFVfZyiN5iEG
1ErZWg5cFCe4Vw5BzgfzB74VNLaXEiEkhk
Biginteger PVK value: 10544
Hex PVK value: 2930

and so on...

until the addresses 50 (1MEzite4ReNuWaL5Ds17ePKt2dCxWEofwk) it was already cracked by someone.

Any ideas what's the formula behind the generation of these addresses?

Address 2, pvk decimal value: 3
Address 3, pvk decimal value: 7
Address 4, pvk decimal value: 8
Address 5, pvk decimal value: 21
Address 6, pvk decimal value: 49
Address 7, pvk decimal value: 76
Address 8, pvk decimal value: 224
Address 9, pvk decimal value: 467
Address 10, pvk decimal value: 514
Address 11, pvk decimal value: 1155
Address 12, pvk decimal value: 2683
Address 13, pvk decimal value: 5216
Address 14, pvk decimal value: 10544
Address 15 and after, pvk decimal value: ?

The prize would be ~32 BTC Smiley

EDIT: If you find the solution feel free to leave a tip Smiley 1DPUhjHvd2K4ZkycVHEJiN6wba79j5V1u3
Did anyone ever have any luck cracking these?

Read earlier posts  .. We know all pvk's up to Address 60... Man, where were you? Wink
member
Activity: 245
Merit: 17

Please explain more what " -r  " does exactly. And why 3 starting points?


"-r 61" will make all points start at a random offset in 61 bit range.
The 3 sample starting points are just for information/confirmation the correct range is used.

If your BitCrack is generating 37,748,736 starting points then each point starts at a random offset in 61 bit range.

It is easy to adjust the code now. Simply adjust in generateStartingPoints() function.

You can combine -r with --keyspace if you need to additional control.

Please "git pull" to get the latest version that also contains fixes.

OK thanks.
The  integer  read after  the  -r option seems to be a signed  byte, can't go beyond 127 (you get  a negative  range)
newbie
Activity: 28
Merit: 1
In fact, the code in this puzzle, I think, is the 310 bitcoin private keys, and these private keys are scattered and hidden in the picture, like playing a puzzle game, to find them and put them together correctly! Sounds simple, but a little bit of cryptography knows how to work out the combination of private keys by manpower, and it is estimated that it will not be worked out by the day of entering the coffin. The last thing Lao Shi regrets in his life is that he didn't study hard at the beginning. If he could study hard at the beginning, he would develop towards cryptography experts or mathematicians. It's not a piece of cake to crack such puzzles. It's hard to knock on keyboards every day like now. Therefore, the folks who have become parents must educate their children to listen from an early age. Ha-ha.
hero member
Activity: 798
Merit: 531
Crypto is King.
Hi guys,

In continuation to this thread: https://bitcointalksearch.org/topic/brute-force-on-bitcoin-addresses-video-of-the-action-1305887

While playing around with my bot, I found out this mysterious transaction:

https://blockchain.info/tx/08389f34c98c606322740c0be6a7125d9860bb8d5cb182c02f98461e5fa6cd15

those 32.896 BTC were sent to multiple addresses, all the private keys of those addresses seem to be generated by some kind of formula.

For example:

Address 2:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU74sHUHy8S
1CUNEBjYrCn2y1SdiUMohaKUi4wpP326Lb
Biginteger PVK value: 3
Hex PVK value: 3

Address 3:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU76rnZwVdz
19ZewH8Kk1PDbSNdJ97FP4EiCjTRaZMZQA
Biginteger PVK value: 7
Hex PVK value: 7

Address 4:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU77MfhviY5
1EhqbyUMvvs7BfL8goY6qcPbD6YKfPqb7e
Biginteger PVK value: 8
Hex PVK value: 8

Address 5:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7Dq8Au4Pv
1E6NuFjCi27W5zoXg8TRdcSRq84zJeBW3k
Biginteger PVK value: 21
Hex PVK value: 15

Address 6:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7Tmu6qHxS
1PitScNLyp2HCygzadCh7FveTnfmpPbfp8
Biginteger PVK value: 49
Hex PVK value: 31

Address 7:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7hDgvu64y
1McVt1vMtCC7yn5b9wgX1833yCcLXzueeC
Biginteger PVK value: 76
Hex PVK value: 4C

Address 8:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU8xvGK1zpm
1M92tSqNmQLYw33fuBvjmeadirh1ysMBxK
Biginteger PVK value: 224
Hex PVK value: E0

Address 9:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUB3vfDKcxZ
1CQFwcjw1dwhtkVWBttNLDtqL7ivBonGPV
Biginteger PVK value: 467
Hex PVK value: 1d3

Address 10:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUBTL67V6dE
1LeBZP5QCwwgXRtmVUvTVrraqPUokyLHqe
Biginteger PVK value: 514
Hex PVK value: 202

Address 11:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUGxXgtm63M
1PgQVLmst3Z314JrQn5TNiys8Hc38TcXJu
Biginteger PVK value: 1155
Hex PVK value: 483

Address 12:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUW5RtS2JN1
1DBaumZxUkM4qMQRt2LVWyFJq5kDtSZQot
Biginteger PVK value: 2683
Hex PVK value: a7b

Address 13:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUspniiQZds
1Pie8JkxBT6MGPz9Nvi3fsPkr2D8q3GBc1
Biginteger PVK value: 5216
Hex PVK value: 1460

Address 14:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFVfZyiN5iEG
1ErZWg5cFCe4Vw5BzgfzB74VNLaXEiEkhk
Biginteger PVK value: 10544
Hex PVK value: 2930

and so on...

until the addresses 50 (1MEzite4ReNuWaL5Ds17ePKt2dCxWEofwk) it was already cracked by someone.

Any ideas what's the formula behind the generation of these addresses?

Address 2, pvk decimal value: 3
Address 3, pvk decimal value: 7
Address 4, pvk decimal value: 8
Address 5, pvk decimal value: 21
Address 6, pvk decimal value: 49
Address 7, pvk decimal value: 76
Address 8, pvk decimal value: 224
Address 9, pvk decimal value: 467
Address 10, pvk decimal value: 514
Address 11, pvk decimal value: 1155
Address 12, pvk decimal value: 2683
Address 13, pvk decimal value: 5216
Address 14, pvk decimal value: 10544
Address 15 and after, pvk decimal value: ?

The prize would be ~32 BTC Smiley

EDIT: If you find the solution feel free to leave a tip Smiley 1DPUhjHvd2K4ZkycVHEJiN6wba79j5V1u3
Did anyone ever have any luck cracking these?
jr. member
Activity: 34
Merit: 5

Please explain more what " -r  " does exactly. And why 3 starting points?


"-r 61" will make all points start at a random offset in 61 bit range.
The 3 sample starting points are just for information/confirmation the correct range is used.

If your BitCrack is generating 37,748,736 starting points then each point starts at a random offset in 61 bit range.

It is easy to adjust the code now. Simply adjust in generateStartingPoints() function.

You can combine -r with --keyspace if you need to additional control.

Please "git pull" to get the latest version that also contains fixes.
member
Activity: 245
Merit: 17

Yes ... still a OpenCL novice lol (I am too old now, maybe not you lol)

I've asked brichard19 about it ... he does not seem to be interested.

I am no youngling too but I like code. I can make adjustments to Cuda but have no experience with OpenCL yet so lets see.

Ok, let us know Wink

Initial version for OpenCL only:

https://github.com/pikachunakapika/BitCrack

use -r to enable it. You will get 3 samples for starting points beeing used.

Please notice:
The total movement relative to each random starting point is defined by total processed keys / number of starting points.
E.g. if BitCrack generated 200,000 starting points and your total processed keys is 4,000,000. Each point moved by (only) 20 steps.
This is by original design and the only way to benefit from the huge parallel processing power of GPUs.

Tested OpenCL and Cuda with Nvidia Device on Linux.
Not tested on Windows. Please give feedback!


Please explain more what " -r  " does exactly. And why 3 starting points?
member
Activity: 245
Merit: 17


1 target =  86 Mkey/s  -b 108 -t 256 -p 1024
45000 targets = 90 Mkeys/s  -b 72 -t 256 -p 1024

I already started my project.

bc.exe -d 1 --keyspace 000000000000000 -o ohmygodimrich.txt -b 72 -t 256 -p 1024 1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF

LOL   Grin Grin Grin

you are awesome!
thank you so much guys!!!


Very good! Good luck!
You have to be lucky256 to hit an address in 256 bit range.


I know!! was trying to pass some optimism on to the hunters: D

I'm scanning address 61;)

Good luck Smiley

So, speaking of case 61:

In my case, what I do is mix randomness with full range scan. I keep the range small enough to get reasonable waiting time (say 10 min) .
This is an example:

1) generate all possibles 5 bits number: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 

2) pick a random 5 hex digit number (20bit) : for instance CADE9
we have now 16 possibles header for our key

10CADE9
11CADE9
12CADE9
13CADE9
14CADE9
15CADE9
16CADE9
17CADE9
18CADE9
19CADE9
1ACADE9
1BCADE9
1CCADE9
1DCADE9
1ECADE9
1FCADE9

3) call 16 instances of Bitcrack fully scanning following 16 ranges

10CADE9000000000:10CADE9FFFFFFFFF
11CADE9000000000:11CADE9FFFFFFFFF
12CADE9000000000:12CADE9FFFFFFFFF
13CADE9000000000:13CADE9FFFFFFFFF
14CADE9000000000:14CADE9FFFFFFFFF
15CADE9000000000:15CADE9FFFFFFFFF
16CADE9000000000:16CADE9FFFFFFFFF
17CADE9000000000:17CADE9FFFFFFFFF
18CADE9000000000:18CADE9FFFFFFFFF
19CADE9000000000:19CADE9FFFFFFFFF
1ACADE9000000000:1ACADE9FFFFFFFFF
1BCADE9000000000:1BCADE9FFFFFFFFF
1CCADE9000000000:1CCADE9FFFFFFFFF
1DCADE9000000000:1DCADE9FFFFFFFFF
1ECADE9000000000:1ECADE9FFFFFFFFF
1FCADE9000000000:1FCADE9FFFFFFFFF
 
goto step 2 and repeat.

each cycle will take 16*10min = 160 min if you have one GPU.

This trick will increase your likelihood in finding the key as times increases and not wait 180 years (1GPU) or 5 years (36GPUs). LOL
   
a random 5 hex digit is one of 1,048,575  if you get it right, you have the key in 160 min with only one GPU Wink
 

 


try all, and nothing

Quote
C:\Users\kknd\Desktop>clBitCrack.exe -c --keyspace 13CADE9000000000:13CADE9FFFFFFFFF -i 1btc.txt -o kknd.txt -b 128 -t 512 -p 1024
[2019-02-23.03:55:15] [Info] Compression: compressed
[2019-02-23.03:55:15] [Info] Starting at: 00000000000000000000000000000000000000000000000013CADE9000000000
[2019-02-23.03:55:15] [Info] Ending at:   00000000000000000000000000000000000000000000000013CADE9FFFFFFFFF
[2019-02-23.03:55:15] [Info] Counting by: 0000000000000000000000000000000000000000000000000000000000000001
[2019-02-23.03:55:15] [Info] Compiling OpenCL kernels...
[2019-02-23.03:55:15] [Info] Initializing Tesla V100-SXM2-16GB
[2019-02-23.03:55:26] [Info] Generating 67,108,864 starting points (2560.0MB)
[2019-02-23.03:55:41] [Info] 10.0%
[2019-02-23.03:55:42] [Info] 20.0%
[2019-02-23.03:55:43] [Info] 30.0%
[2019-02-23.03:55:43] [Info] 40.0%
[2019-02-23.03:55:43] [Info] 50.0%
[2019-02-23.03:55:44] [Info] 60.0%
[2019-02-23.03:55:44] [Info] 70.0%
[2019-02-23.03:55:44] [Info] 80.0%
[2019-02-23.03:55:44] [Info] 90.0%
[2019-02-23.03:55:44] [Info] 100.0%
[2019-02-23.03:55:44] [Info] Done
[2019-02-23.03:55:45] [Info] Loading addresses from '1btc.txt'
[2019-02-23.03:55:48] [Info] 466,284 addresses loaded (8.9MB)
Tesla V100-SXM2- 4112/16258MB | 466284 targets 546.19 MKey/s (68,451,041,280 total) [00:02:03][2019-02-23.03:57:54] [Info] Reached end of keyspace

Ok

but the trick is not to choose 5 digit HEX manually and once... you can write a shell script loop to it automatically. CADE9 is just one out of 1,048,576 Smiley
jr. member
Activity: 34
Merit: 5

Yes ... still a OpenCL novice lol (I am too old now, maybe not you lol)

I've asked brichard19 about it ... he does not seem to be interested.

I am no youngling too but I like code. I can make adjustments to Cuda but have no experience with OpenCL yet so lets see.

Ok, let us know Wink

Initial version for OpenCL only:

https://github.com/pikachunakapika/BitCrack

use -r to enable it. You will get 3 samples for starting points beeing used.

Please notice:
The total movement relative to each random starting point is defined by total processed keys / number of starting points.
E.g. if BitCrack generated 200,000 starting points and your total processed keys is 4,000,000. Each point moved by (only) 20 steps.
This is by original design and the only way to benefit from the huge parallel processing power of GPUs.

Tested OpenCL and Cuda with Nvidia Device on Linux.
Not tested on Windows. Please give feedback!
member
Activity: 245
Merit: 17

Yes ... still a OpenCL novice lol (I am too old now, maybe not you lol)

I've asked brichard19 about it ... he does not seem to be interested.

I am no youngling too but I like code. I can make adjustments to Cuda but have no experience with OpenCL yet so lets see.

Ok, let us know Wink
jr. member
Activity: 34
Merit: 5

Yes ... still a OpenCL novice lol (I am too old now, maybe not you lol)

I've asked brichard19 about it ... he does not seem to be interested.

I am no youngling too but I like code. I can make adjustments to Cuda but have no experience with OpenCL yet so lets see.
member
Activity: 245
Merit: 17

You can't ignore ranges completely because bitcrack is not designed so. If you start an offset for each GPU working point, things will awfully slow down ...


You have to adjust the initial point generation, remove the first point doubling kernel and adjust the result reporting slightly.
Everything else can remain almost untouched and will not influence performance.

It would be nice if you could do that Wink

K. You need OpenCL too, right?

Yes ... still a OpenCL novice lol (I am too old now, maybe not you lol)

I've asked brichard19 about it ... he does not seem to be interested.
jr. member
Activity: 34
Merit: 5

You can't ignore ranges completely because bitcrack is not designed so. If you start an offset for each GPU working point, things will awfully slow down ...


You have to adjust the initial point generation, remove the first point doubling kernel and adjust the result reporting slightly.
Everything else can remain almost untouched and will not influence performance.

It would be nice if you could do that Wink

K. You need OpenCL too, right?
member
Activity: 245
Merit: 17
......

Could you please give quickly  this last output in hex using bitcrack keyrange format because they seem wrong to me.
The first one
1149318624904950579 1156524384308743373
which is:
FF3333333333333:100CCCCCCCCCCCCD

does not seem to be correct for case 61




member
Activity: 245
Merit: 17

You can't ignore ranges completely because bitcrack is not designed so. If you start an offset for each GPU working point, things will awfully slow down ...


You have to adjust the initial point generation, remove the first point doubling kernel and adjust the result reporting slightly.
Everything else can remain almost untouched and will not influence performance.

It would be nice if you could do that Wink
Jump to: