Bitcoin Forum
March 09, 2026, 05:37:05 PM *
News: Latest Bitcoin Core release: 30.2 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 [183] 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 ... 639 »
  Print  
Author Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it  (Read 372681 times)
alek76
Member
**
Offline Offline

Activity: 93
Merit: 16


View Profile
October 07, 2023, 10:51:46 PM
 #3641

Creator use master keys or child keys? BIP-32 or BIP-39 format? Who can know?

If I can say anything it'd be for the author of this puzzle to bless me beyond my own imagination
I have tried my best but I am still not going to give up either. you can search or do a lookup of my wallet address. I have definitely invested over $30k in the puzzle 66 alone throughout the whole random scan and my wallet address is 1h7EsfXpgCLftpU4vucjkCbX1Wktop8GM, you can do your search from the private key scanner or 66 bits puzzle
I spend so much resources there but no luck
I am running my search lowkey now but I am almost being drained but still not giving up
A blessing is nothing imaginable or unimaginable but nothing is impossible for God to do.
I just pray for the ability to be able to keep  up as it is so much fun
It is likely that he used a BIP-39 wallet. Because BIP 0039 was created on 2013-09-10, and it is more durable. Uses 2048 rounds of HMAC-SHA512 hashing from SEED. This means that an attack on SEED is not possible. A short phrase of unknown length out of a possible 2048 words. Maybe she's not on the BIP-39 wirdlist. We will never know. I'm currently making a random seed code using the HMAC-SHA512 function. That's why I asked Smiley I've already split a 512-bit key into 2 256-bit keys... For now I'll continue this...
digaran
Copper Member
Hero Member
*****
Offline Offline

Activity: 1330
Merit: 905

🖤😏


View Profile
October 07, 2023, 11:21:55 PM
 #3642

Hi.
Share in a personal what kind of tricks you do and how they work?
This is one of my tricks.🤣  you just jump hoping for the best.

🖤😏
nomachine
Full Member
***
Offline Offline

Activity: 798
Merit: 134



View Profile
October 08, 2023, 05:11:17 AM
Last edit: October 08, 2023, 05:47:47 AM by nomachine
 #3643

I'm currently making a random seed code using the HMAC-SHA512 function.

80% that is electrum
https://github.com/spesmilo/electrum/blob/e81f4bdcd11a072e7c4f38fb1c7eec19c2f7e1a8/electrum/storage.py#L164
He may have even changed the source code.  Grin

BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
_Counselor
Member
**
Offline Offline

Activity: 111
Merit: 61


View Profile
October 08, 2023, 07:48:34 AM
 #3644

Even though the 120 key was found, I'm still interested in finding it since it hasn't been published. If anyone still has kangaroo's workfiles for 120 puzzle with DP of 30 bits and above, I would be grateful if you share them.
citb0in
Hero Member
*****
Offline Offline

Activity: 1078
Merit: 797


Bitcoin g33k


View Profile
October 08, 2023, 07:51:22 AM
 #3645

Even though the 120 key was found, I'm still interested in finding it since it hasn't been published. If anyone still has kangaroo's workfiles for 120 puzzle with DP of 30 bits and above, I would be grateful if you share them.

let's say the finder of puzzle 120 will reveal the private key. In what way does it help you proceeding with finding #66 or #130 or ... ?

Some signs are invisible, some paths are hidden - but those who see, know what to do. Follow the trail - Follow your intuition - [bc1qqnrjshpjpypepxvuagatsqqemnyetsmvzqnafh]
_Counselor
Member
**
Offline Offline

Activity: 111
Merit: 61


View Profile
October 08, 2023, 07:57:08 AM
 #3646

let's say the finder of puzzle 120 will reveal the private key. In what way does it help you proceeding with finding #66 or #130 or ... ?
I strongly doubt that this will somehow help to solve 130 or 66, just as the keys 63, 115 and below previously did not help to solve 120 and 64. This is just something like scientific interest. I previously spent a lot of time and resources trying to solve puzzle 120 and I'm still curious about its key. If the finder or puzzle's author would just publish the key itself, I would also be grateful.
citb0in
Hero Member
*****
Offline Offline

Activity: 1078
Merit: 797


Bitcoin g33k


View Profile
October 08, 2023, 08:17:32 AM
 #3647

yeah, but what's the point? I cannot imagine it's pure curiosity. What's the real reason ?

Some signs are invisible, some paths are hidden - but those who see, know what to do. Follow the trail - Follow your intuition - [bc1qqnrjshpjpypepxvuagatsqqemnyetsmvzqnafh]
_Counselor
Member
**
Offline Offline

Activity: 111
Merit: 61


View Profile
October 08, 2023, 08:30:52 AM
 #3648

yeah, but what's the point? I cannot imagine it's pure curiosity. What's the real reason ?
I already wrote the real reason. Or are you expecting me to write something like "using the 120 key, I know how to calculate 130"? Unfortunately, this is not so, and if it were possible, then the one who found 120 and 125 would have solved the next puzzles long ago.
citb0in
Hero Member
*****
Offline Offline

Activity: 1078
Merit: 797


Bitcoin g33k


View Profile
October 08, 2023, 09:10:02 AM
 #3649

This is just something like scientific interest. I previously spent a lot of time and resources trying to solve puzzle 120 and I'm still curious about its key.

I understand what you wrote, but I don't understand the real interest. Let's assume this is the real key for the 120bit puzzle 9C15FC66A182003BB1BE5D1DF12CAB
what did you gain from this insight other than the satisfaction of pure curiosity ?

Some signs are invisible, some paths are hidden - but those who see, know what to do. Follow the trail - Follow your intuition - [bc1qqnrjshpjpypepxvuagatsqqemnyetsmvzqnafh]
_Counselor
Member
**
Offline Offline

Activity: 111
Merit: 61


View Profile
October 08, 2023, 09:21:31 AM
 #3650

I understand what you wrote, but I don't understand the real interest. Let's assume this is the real key for the 120bit puzzle 9C15FC66A182003BB1BE5D1DF12CAB
what did you gain from this insight other than the satisfaction of pure curiosity ?

I don’t know what else to answer you other than what I already wrote.

Anyway, as I wrote above, if anyone else besides me is still interested in finding out the key to 120 and still has kangaroo's workfiles for 120 puzzle with DP of 30 bits and above, please share them. Workfiles for 125 not interesting me, because I did not work on it.
alek76
Member
**
Offline Offline

Activity: 93
Merit: 16


View Profile
October 08, 2023, 10:35:52 AM
 #3651

I'm currently making a random seed code using the HMAC-SHA512 function.

80% that is electrum
https://github.com/spesmilo/electrum/blob/e81f4bdcd11a072e7c4f38fb1c7eec19c2f7e1a8/electrum/storage.py#L164
He may have even changed the source code.  Grin
Thanks for the advice. I'll take a look at this code. I just installed 2048 interactions and the keys began to be generated for a very long time.
nomachine
Full Member
***
Offline Offline

Activity: 798
Merit: 134



View Profile
October 08, 2023, 10:49:11 AM
Last edit: October 08, 2023, 12:01:22 PM by nomachine
 #3652

   seed = random.getrandbits(128)
    seed_value = int(seed)
    random.seed(seed_value)
    seed = str(seed_value)

It's not even close to 128.

The closest I've come up with 8 to 2 ** 65

30568377238562584866, b'\xc9\xd9\x1d\xbc\x16\x9d\xdb\x86'

Code:
import random
puzzle = 65
lower_range_limit = 2 ** (puzzle - 1)
upper_range_limit = (2 ** puzzle) - 1
owner_salt = b'\xc9\xd9\x1d\xbc\x16\x9d\xdb\x86'
random.seed(owner_salt)
dec = random.randint(lower_range_limit, upper_range_limit)
print(f"{dec}, {owner_salt}")

but even so a part is missing to get a 100% accurate result. Grin

it seems most likely that pbkdf2_hmac was used

hashlib.pbkdf2_hmac('sha512', os.urandom(8 ), b'', iterations=1024)[:32]

some combination like this.

https://docs.python.org/3/library/hashlib.html

BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
alek76
Member
**
Offline Offline

Activity: 93
Merit: 16


View Profile
October 08, 2023, 12:01:55 PM
 #3653

   seed = random.getrandbits(128)
    seed_value = int(seed)
    random.seed(seed_value)
    seed = str(seed_value)

It's not even close to 128.

The closest I've come up with 8 to 2 ** 65

30568377238562584866, b'\xc9\xd9\x1d\xbc\x16\x9d\xdb\x86'

Code:
import random
puzzle = 65
lower_range_limit = 2 ** (puzzle - 1)
upper_range_limit = (2 ** puzzle) - 1
owner_salt = b'\xc9\xd9\x1d\xbc\x16\x9d\xdb\x86'
random.seed(owner_salt)
dec = random.randint(lower_range_limit, upper_range_limit)
print(f"{dec}, {owner_salt}")

but even so a part is missing to get a 100% accurate result. Grin

it seems most likely that pbkdf2_hmac was used

hashlib.pbkdf2_hmac('sha512', os.urandom(8 ), b'', iterations=1024)[:32]

some combination like this.
In that code, the 512-bit key is normalized by division modulo % CURVE_ORDER
from_arbitrary_size_secret()
Code:
def normalize_secret_bytes(cls, privkey_bytes: bytes) -> bytes:
        scalar = string_to_number(privkey_bytes) % CURVE_ORDER
        if scalar == 0:
            raise Exception('invalid EC private key scalar: zero')
        privkey_32bytes = number_to_string(scalar, CURVE_ORDER)
        return privkey_32bytes

As the creator said, you need to trim the high bytes of the key with zeros!
EternityMessage
Newbie
*
Offline Offline

Activity: 15
Merit: 0


View Profile
October 08, 2023, 12:09:15 PM
 #3654

Is all this a robbery/steal/theft attempt?

After spending really too much time of my life trying different code and algorithms, buying and running loud hot hardware to solve #66 & #130 I started to wander about ethics of what I am trying to do !
OK, if I have a really really good luck, I will find the key after 1-2 more years!
... BUT !!! Do I have the right to take the coins in the address? ...
The coins (the money) are not mine, and the owner (the assumed puzzle creator) never said that, if I brake the private key, I have the right to take the money !!! (Also the fact that the person has more money than us, does not give us the right to take his money!)
So .. did I spent so much time of my life trying to become a thief? ...
The assumption when I started was ... That is a challenge .. I can do my best .. BUT Do I have the moral right to get money assuming it is by the rules ? ... There are no official rules? We conveniently assume the owner intentions and are ready to get his money ... but what if we are wrong?

Mr./Mrs. Puzzle creator and puzzle addresses money owner,
Please sign a message with any known non-broken puzzle address, and state your will!
Are you fine, if money from these addresses are taken?"
Or "you consider us thieves?" or ...
(the signing #150, #155... public keys are already known and will not compromise security)

Thanks
nomachine
Full Member
***
Offline Offline

Activity: 798
Merit: 134



View Profile
October 08, 2023, 12:41:41 PM
Last edit: October 08, 2023, 12:52:35 PM by nomachine
 #3655

As the creator said, you need to trim the high bytes of the key with zeros!

I think it's obvious that he has his own custom deterministic wallet. Based on an existing one or completely new one from scratch.


That said, I'm not sure it can sign a message with that tool.

BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
alek76
Member
**
Offline Offline

Activity: 93
Merit: 16


View Profile
October 08, 2023, 01:33:45 PM
Last edit: October 08, 2023, 02:05:59 PM by alek76
 #3656

As the creator said, you need to trim the high bytes of the key with zeros!

I think it's obvious that he has his own custom deterministic wallet. Based on an existing one or completely new one from scratch.


That said, I'm not sure it can sign a message with that tool.
Maybe. And it’s not even necessary, just add your own salt, and that will be enough - going over SEED will be useless.
Code:
string seed = Timer::getSeed(32);

//seed = "bla bla bla";// Mnemonic code words

string salt = "Bitcoin seed";// = "VanitySearch";

unsigned char hseed[64];

pbkdf2_hmac_sha512(hseed, 64, (const uint8_t *)seed.c_str(), seed.length(),
(const uint8_t *)salt.c_str(), salt.length(),
//2048);// 2048 rounds of hashing required by the BIP 39 Standard ???
//2048);// Used 2048 rounds ???
//0);// Used 0 rounds !!!
1024);// Electrum ?
digaran
Copper Member
Hero Member
*****
Offline Offline

Activity: 1330
Merit: 905

🖤😏


View Profile
October 08, 2023, 01:40:19 PM
 #3657

Thanks
Welcome.
Did you think about this before buying/ spending money on it? Or after failing to find a key you realized what you are doing is morally wrong?
Consider yourself as a security testing expert, but before getting to work, first calculate the cost and the profit and then continue, when you are done, just show us how you did it if you want to earn honestly.   I don't see solving these puzzles and taking the coins morally wrong.

🖤😏
zahid888
Member
**
Offline Offline

Activity: 334
Merit: 24

the right steps towards the goal


View Profile
October 08, 2023, 01:51:57 PM
 #3658

Is all this a robbery/steal/theft attempt?

After spending really too much time of my life trying different code and algorithms, buying and running loud hot hardware to solve #66 & #130 I started to wander about ethics of what I am trying to do !
OK, if I have a really really good luck, I will find the key after 1-2 more years!
... BUT !!! Do I have the right to take the coins in the address? ...
The coins (the money) are not mine, and the owner (the assumed puzzle creator) never said that, if I brake the private key, I have the right to take the money !!! (Also the fact that the person has more money than us, does not give us the right to take his money!)
So .. did I spent so much time of my life trying to become a thief? ...
The assumption when I started was ... That is a challenge .. I can do my best .. BUT Do I have the moral right to get money assuming it is by the rules ? ... There are no official rules? We conveniently assume the owner intentions and are ready to get his money ... but what if we are wrong?

Mr./Mrs. Puzzle creator and puzzle addresses money owner,
Please sign a message with any known non-broken puzzle address, and state your will!
Are you fine, if money from these addresses are taken?"
Or "you consider us thieves?" or ...
(the signing #150, #155... public keys are already known and will not compromise security)

Thanks

I am the creator.
Finally, I wish to express appreciation of the efforts of all developers of new cracking tools and technology.  The "large bitcoin collider" is especially innovative and interesting!
As the creator had appreciated all the developers, especially LBC, who solved puzzles from 51 to 56, I hope you have found the answer to your question.

1BGvwggxfCaHGykKrVXX7fk8GYaLQpeixA
digaran
Copper Member
Hero Member
*****
Offline Offline

Activity: 1330
Merit: 905

🖤😏


View Profile
October 08, 2023, 04:59:50 PM
 #3659

Here, if anyone is interested, I have managed to divide puzzle 115 by 2^23 without reaching fractions, but in order to do that, you'd need to guess the last 6 characters.

Code:
from sympy import mod_inverse

N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

def ters(scalar, target):
    k = mod_inverse(2, N)
    scalar_bin = bin(scalar)[2:]
    for i in range(len(scalar_bin)):
        if scalar_bin[i] == '0':
            result = (target * k) % N
        else:
            result = ((target * k) % N + N - 1) % N
        target = result
    return result

target1 = 31464123230573852164273674364426950
target2 = 6331078

print("Target results:")
for x in range(8388608, 8388700):
    result1 = ters(x, target1)
    (f"T1: {result1:x}")
for x in range(8388608, 8388700):
    result2 = ters(x, target2)
    (f"T2: {result2:x}")
for x in range(8388608, 8388700):
    result1 = ters(x, target1)
    result2 = ters(x, target2)
    subtraction = (result1  - result2) % N
    print(f"S:{subtraction:x}")

I am working on something new, I want to know how we could just guess the last 4 characters and divide our target by e.g, 2^120 etc, I'm sure there is a way, yesterday I figured a way to divide a target by 10, 20, 30 etc, but the results were mixed with n/10, n/20, n/30, meaning by subtracting n/10 from target/10 we could reach the actual target/10, I haven't tried that yet. God willing I will start working on it,  I just don't know why I am not interested to work with my laptop anymore, it causes distraction.😉



Do share your findings after doing your thing.



Some tips, try subtracting 2^116 from puzzle 115 and then put the result on target 2, then try dividing by different values. Grind your way through this giant iron made mountain we call elliptic curve.😂

🖤😏
alek76
Member
**
Offline Offline

Activity: 93
Merit: 16


View Profile
October 09, 2023, 02:41:55 AM
Last edit: October 09, 2023, 05:53:41 AM by alek76
 #3660

I made a new key generator. Tested the HMAC-SHA512 function, the data output is correct. Added a split of the 512 bit key into 2 keys - respectively 256 bits each.
It may not be necessary to add anything more, all the initial data is not known...

Code:
// Get Keys from SEED
void VanitySearch::getKeysFromRandomSeed(int nbitL, int nbitU, bool master, int nbThread, Int *keys) {

// Generate a seed byte sequence S of a chosen length (between 128 and 512 bits; 256 bits is advised) from a (P)RNG.
// Calculate I = HMAC-SHA512(Key = "Bitcoin seed", Data = S)
// Split I into two 32-byte sequences, IL and IR.
// Use parse256(IL) as master secret key, and IR as master chain code.

// Variables
Int IL;// IL as master secret key
Int IR;// IR as master chain code
Int pKey;
Int sKey;

// Master key generation

for (int i = 0; i < nbThread; i++) {

newSeed:

string seed = Timer::getSeed(32);// Used the random seed ???

// test seed
//seed = "bla bla bla";// Mnemonic code words

string salt = "Bitcoin seed";// = "VanitySearch";

unsigned char hseed[64];

pbkdf2_hmac_sha512(hseed, 64, (const uint8_t *)seed.c_str(), seed.length(),
(const uint8_t *)salt.c_str(), salt.length(),
hmac_sha512_nb_round);// 1024 Electrum ?
//2048);// 2048 rounds of hashing required by the BIP 39 Standard ???

// Reverse bytes (not use sha256)
unsigned char hseed_r[64];
int b = 0;
for (b = 0; b < 64; b++) hseed_r[63 - b] = hseed[b];

// Split I into two 32-byte sequences, IL and IR.
// Use parse256(IL) as master secret key, and IR as master chain code.

// Split IL and IR
unsigned long long *vTmp_IL = (unsigned long long *)&hseed_r[32];// IL as master secret key
unsigned long long *vTmp_IR = (unsigned long long *)&hseed_r;// IR as master chain code

IL.bits64[0] = vTmp_IL[0];
IL.bits64[1] = vTmp_IL[1];
IL.bits64[2] = vTmp_IL[2];
IL.bits64[3] = vTmp_IL[3];
IL.bits64[4] = 0;
//
IR.bits64[0] = vTmp_IR[0];
IR.bits64[1] = vTmp_IR[1];
IR.bits64[2] = vTmp_IR[2];
IR.bits64[3] = vTmp_IR[3];
IR.bits64[4] = 0;
// end Split

// debug printf
printf("\n[i] Nb: %d Key IL: %s ", i, IL.GetBase16().c_str());
printf("\n[i] Nb: %d Key IR: %s ", i, IR.GetBase16().c_str());

// Set Keys 256 bits
pKey.SetInt32(0);
sKey.SetInt32(0);
// Switch IL or IR
if (master) {
pKey.Set(&IL);// IL as master secret key
} else {
pKey.Set(&IR);// IR as master chain code
}

// Set Key in ranges nbitL and nbitU
uint32_t nb = nbitU / 32;
uint32_t leftBit = nbitU % 32;
uint32_t mask = 1;
mask = (mask << leftBit) - 1;
uint32_t j = 0;
for(j = 0; j < nb; j++)
sKey.bits[j] = pKey.bits[j];
sKey.bits[j] = pKey.bits[j] & mask;

//sha256(hseed, 64, (unsigned char *)sKey.bits64);// No used this function

// Trim with zeros ???
// We do not know how the high byte of the key were edited. 32 BTC Puzzle.
if (nbitU == 66) {
//printf("\n[i] Nb: %d sKey: %s ", i, sKey.GetBase16().c_str());
//sKey.SetByte(8, 0x02);// The high byte is 0x02
sKey.SetByte(8, (unsigned char)KEY66_HIGH_BYTE);// The high byte is 0x03
//printf("\n[i] Nb: %d sKey: %s ", i, sKey.GetBase16().c_str());
}

// Check length
int len = sKey.GetBitLength();
if (len < nbitL) goto newSeed;

keys[i].Set(&sKey);// Set Keys

// Hi ;-) The END ???
}
}

VanitySearch cannot divide a 512-bit number modulo the Order (only 320 bits). For this need BigNum from the OpenSSL library. Here again need OpenSSL, no matter what  Roll Eyes
Pages: « 1 ... 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 [183] 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 ... 639 »
  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!