Search content
Sort by

Showing 20 of 53 results by paniker
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
paniker
on 03/04/2024, 11:01:12 UTC
The following two strings demonstrate the avalanche effect - you got a range, very huge yeh, but it's a range anyway, so yuor effect got a start and got an and.
he show 2 pref with WVs, nice if you ask math you got something like that 2^65 / 58^10 ~ 85 - 13zb1hQbWVs

so where is here you avalanche effect could be?
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
paniker
on 03/04/2024, 10:57:24 UTC
Hi, citb0in! i think stupid you are, because  JavaSandcrawler  sad nothing about hashing, only prefs, why he collecting them you don't know.


I've been working on the solution for about two years. this year I found ~2000 prefixes 13zb1hQbW.
13zb1hQbWV 50 pieces.
13zb1hQbWVs 2 pieces.
This is probably very stupid, but ...
Yes, absolutely!  That IS stupid. I don't understand why so many people in here insist and keep trying to find similar strings whose hash value only approximates the target hash value. This is a pure waste of time, nerves and resources as it does not contribute in any way - not even in the slightest - to speeding up or even impairing the solution finding process.

The following two strings demonstrate the avalanche effect. Even if you add the punctuation "." at the end of the sentence and thus changing the string slightly, it'll produce a complete different hash.

This is stupid
f061b6de6d36df2330b1ba15dca3cf858c7e20a2935e453668c6b7124e58d80b

This is stupid.
dbf61110bee7b482f8b5536d4996effaae1de69fcd5e132c0d3af1ebf7146b3d

Imagine you find the string of the hash f061b6de6d36df2330b1ba15dca3cf858c7e20a2935e453668c6b7124e58d80b
f061b6de6d36df2330b1ba15dca3cf858c7e20a2935e453668c6b7124e58d80c

never ever it will be similar to the real string "This is stupid". The string for this hash could be "something completely different in ch4rs and s!ze"

Please stop looking for prefixes, suffixes or parts of hashes because it's a waste of time. Instead, invest your strength and energy and read about the avalanche effect.

There were a lot of ideas, and a lot of wasted time. I also tortured the IBM quantum machine and got some research results.
So true ...

But I still haven’t solved 66.
puzzled? no, huh?

Also please forgive me, I am using a translator.
anyone's welcome here despite of their origin and native language. Have fun and enjoy and last but not least ... Good luck! Wink
Cheers
Post
Topic
Board Bitcoin Discussion
Re: == Bitcoin challenge transaction: ~1000 BTC total bounty to solvers! ==UPDATED==
by
paniker
on 21/07/2023, 06:43:02 UTC
If we find 10 same characters of address, Is it possible to find pvk?

For example, we know pvk and address and address is same first 10 characters, how to possible right pvk from this?
Addresses and private keys are not directly related, even if you find 34 characters out of 35 characters you can't find the private key! Happy hunting.😉

lier
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 29/03/2022, 07:42:07 UTC
I found a method to find any private key within 2^255 bit space. Is that new?

Can you tells us more about it?))

Absolutely, so it seems that the amount of valid public x-coords is exactly half the amount of private keys.
So as the theory is any key in the full range (1-115792089237316195423570985008687907852837564279074904382605163141518161494336 ~2^256) either it is less than half (57896044618658097711785492504343953926418782139537452191302581570759080747168) or has the same x coordinate as one that does (above 57896044618658097711785492504343953926418782139537452191302581570759080747169).

I have a mathematical function to find the resulting twin on either side.
I really do like the work that has been done here on the Kangaroo software so I will provide my python function for reference of finding said twin so long as you know 1 of 2 private keys you will know both.

~2^255 is still a very large number.
In the case of uncompressed keys you still have to compute the y coord after but it is trivial.
(using the bit library for python as the function is not intensive)

from bit import Key
import secrets
def twin(i, pubhex):
    max = 115792089237316195423570985008687907852837564279074904382605163141518161494336
    if len(pubhex) == 66:
        publichex = str(pubhex)[2:66]
        if i < 57896044618658097711785492504343953926418782139537452191302581570759080747169:
            twin = max - (i-1)
            if str(pubhex)[:2] == '02':
                twinprefix = '03'
                return [twin,f'{twinprefix}{publichex}']
            elif str(pubhex)[:2] == '03':
                twinprefix = '02'
                return [twin, f'{twinprefix}{publichex}']
        elif i > 57896044618658097711785492504343953926418782139537452191302581570759080747168:
            twin = 1 + (max-i)
            if str(pubhex)[:2] == '02':
                twinprefix = '03'
                return [twin,f'{twinprefix}{publichex}']
            elif str(pubhex)[:2] == '03':
                twinprefix = '02'
                return [twin,f'{twinprefix}{publichex}']
    elif len(pubhex) == 130:
        publichex = str(pubhex)[2:66]
        if i < 57896044618658097711785492504343953926418782139537452191302581570759080747169:
            twin = max - (i-1)
            return [twin,f'uncomp,{publichex}']
        elif i > 57896044618658097711785492504343953926418782139537452191302581570759080747168:
            twin = 1 + (max-i)
            return [twin, f'uncomp,{publichex}']

max = 115792089237316195423570985008687907852837564279074904382605163141518161494336
for x in range(100):
    q = secrets.randbelow(max)
    k = Key.from_int(x)
    t = twin(x,k.pub_to_hex())
    pt = t[0]
    ptpub = Key.from_int(pt).pub_to_hex()
    print(t[1],ptpub)

'''
# Or you can do this
for x in range(1000):
    x = secrets.randbelow(max)
    k = Key.from_int(x)
    t = twin(x,k.pub_to_hex())
    pt = t[0]
    ptpub = Key.from_int(pt).pub_to_hex()
    assert t[1] == ptpub
'''

'''
# for uncompressed
for x in range(100000):
    x = secrets.randbelow(max)
    k = Key.from_int(x)
    k._public_key = k._pk.public_key.format(compressed=False)
    t = twin(x,k.pub_to_hex())
    pt = Key.from_int(t[0])
    # this next line is not nessicary as we format the response without the leading '04'
    pt._public_key = pt._pk.public_key.format(compressed=False)
    ptpub = pt.pub_to_hex()
    assert t[1] == f'uncomp,{str(ptpub)[2:66]}'
'''


Hi still not understand how it works and whats doing, donot understand big numbers, not all of them
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 25/03/2022, 07:28:26 UTC
I found a method to find any private key within 2^255 bit space. Is that new?

Can you tells us more about it?))
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 24/03/2022, 10:15:30 UTC
Hi
I can eventually convert this code using  my own secp256k1 library for CUDA (based on Jean Luc Pons Kangaroo ).

It can achieve up to 70M scalar mult /sec on a rtx 3070.

A python implementation with pycuda can be do easily

But sorry for this trivial question :
What the purpose of this script?

Regards

Fanch

using 120 puzzles public key to generate a lot of keys and use that script random the more keys the better the chance to hit one
I just don't know if it can be generated with 1 public key more keys if so, it can be useful

I've redesigned it a bit now, I should , 2x faster for python


Hi

I already think about this method of searching for a collision between a temporary key (for example every intermediate wild kangaroo jump) and a lookup in a  hashtable of precomputed  random key in the range of puzzle 120.

Let-s do some math to show if it is realistic or not...

Imagine that you will precompute an huge hashtable (or a bloom filter) of 256 Gigas entries (or 256Giga  keys picked up at random in the puzzle 120 interval)

Forget the fact that this table will occupe several TerraBytes of RAM and that the lookup time will increases with the size of the hashtable (less true for a bloom filter look up).

The formula which defines the probability of finding a particular piece among N pieces at the end of n draw without replacement, is as follows:

P=1-(1-1/N)^n

we can replace 1/N by (number_entries_in_hashtable/interval_of_puzzle_120) =  256*10^9/(2^120-2^119) = 3.85e-25


We fixed  for example P=0.5 (means a probability of having an hit of 50%)

Let's calculate n for such P=0.5

0.5=(1-1/N)^n

a=b^n => n=ln(a)/ln(b)

n=ln(0.5)/ln(1-3.85e-25) = 1.8e24
if your GPU can do 1 billion  jumps (and lookup at the same time) per second (typically the speed of Jean-Luc pons program with a good GPU)

You will have to wait 1.8e24/1e9 = 1.8e15 seconds or  57 Millions of years before having 50% of having an hit...

Hopeless..., even if you uses a bigger hashtable or a powerfull GPU cloud.


The main problem of this approach is that you don't  profite of the birthday paradox used in the kangaroo solver because you look for in a predefined list.

Regards

Fanch

The birthday paradox works on a similar principle Huh d i don't know now i have pasted this code for fun

from bit import Key
for xx in range(1):
 q = 1
 for x in range(200):
  for y in range(170,200):
   probability = x / y
   q *= (1 - probability)
   p = 1 - q
   for cc in range(922,1845):
    x0 = ''.join(str(cc))
    x1 = ''.join(str(p))[2:]
    ke = Key.from_int(int(x0+x1))
    if (str(ke)).endswith("QN>"): # this print all bitcoin address they end big N> use this XQN> code run faster
     print(x0+x1,ke,x,y)
    if (str(ke)) == "<PrivateKey: 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN>":
     f=open("win.txt","a")
     f.write(str(x0+x1)+(str(ke))+"\n")
     f.close()


Hello i was playing with reverse brut on 62-63? but not so fast as they found it it interesting
i try to change ranges in:
(for y in range(170,200)Smiley
 ( for cc in range(922,1845): )   

and got strange results.
only even numbers on end (...99679470) (..00198327750)

why?

Post
Topic
Board Bitcoin Discussion
Re: == Bitcoin challenge transaction: ~100 BTC total bounty to solvers! ==UPDATED==
by
paniker
on 27/01/2022, 06:03:53 UTC
Quote
the key of puzzle # 64 is found

between 10000000000000000000 --- 14000000000000000000
hex
0000000000000000000000000000000000000000000000008AC7230489E80000 --- 000000000000000000000000000000000000000000000000C249FDD327780000


If the information helps you and you can solve it, if you want to thank, send here 3QWcjuY72EyouLmkRY4FbuoM1V7mA6tyqv

Wrong range, but interesting solving of something)



Post
Topic
Board Bitcoin Discussion
Re: == Bitcoin challenge transaction: ~100 BTC total bounty to solvers! ==UPDATED==
by
paniker
on 14/04/2021, 09:01:00 UTC
what are you doing with repetitions in random?
do you make a base with ready keyspaces to check that you checked it already?

This is my python script for searching puzzle 64 it's generating an .bat file with  random keyspace between puzzle64 keyrange. I'm using vanity + bitcrack

Code:
# Xh0st Keyspace Puzzle 64 Random
# Made by Andrei Melek

import random

file = open('random.bat', 'w')


file.write(":while1" + '\n')
for x in range(100000):
             
    low  = 0x80000000000
    high = 0xfffffffffff
    val = str ( hex ( random.randrange( low, high ) ) )[2:]
    start = val + "00000"
    end = val + "fffff"
    file.write("start Vanity.exe -o out.txt --keyspace " + start +":" + end + "  16jY7q" + '\n' + "timeout /t 20 /nobreak" + '\n' + "taskkill /im Vanity.exe /f" + '\n' + "timeout /t 1 /nobreak" + '\n')
   
file.close()

just place vanity + bitcrack in the same folder name vanity.exe an run the .bat file

Code:
:while1
start Vanity.exe -o out.txt --keyspace e641fa3965c00000:e641fa3965cfffff  16jY7q
timeout /t 20 /nobreak
taskkill /im Vanity.exe /f
timeout /t 1 /nobreak
start Vanity.exe -o out.txt --keyspace a7de69a79ef00000:a7de69a79effffff  16jY7q
timeout /t 20 /nobreak
taskkill /im Vanity.exe /f
timeout /t 1 /nobreak
start Vanity.exe -o out.txt --keyspace 9c547761d2b00000:9c547761d2bfffff  16jY7q
timeout /t 20 /nobreak
taskkill /im Vanity.exe /f
timeout /t 1 /nobreak

Good luck guys


Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 09/12/2020, 09:24:47 UTC
Anyone get a pub #64 ?
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 20/10/2020, 11:37:44 UTC
-snip-
I have some functions in Python and it runs very slow compared to C.

The sage I want to do with the GPU is as follows
Code:
Pr = 115792089237316195423570985008687907853269984665640564039457584007908834671663

E = EllipticCurve (GF (P), [0,7])
N = E.order ()

G = E(55066263022277343669578718895168534326250603453777594175500187360389116729240,32670510020758816978083085130507043184471273380659243275938904335757337482424) # on E

T = E(26864879445837655118481716049217967286489564259939711339119540571911158650839,29571359081268663540055655726653840143920402820693420787986280659961264797165) # on E

numInt = 5646546546563131314723897429834729834798237429837498237498237489273948728934798237489723489723984729837489237498237498237498237498273493729847

numMod = numInt %N

numInv = pow(numMod ,N-2,N) # detail -> https://stackoverflow.com/questions/59234775/how-to-calculate-2-to-the-power-of-a-large-number-modulo-another-large-number


numMod * G
numMod * T

(T-G) * numInv



print (5*T)
print (2*G)

print (numMod * G)
print (numMod * (-G))

print (numMod * T)
print ((numMod-3) * (T-G))


Do you have any suggestions? What should I do ?
I wrote my question here because it is indirectly related to this project. Please forgive.

Hi! The slowest part in your python is inverse function. Try to implement gmpy2 inverse function (included in gmpy2) - it is C-based and very fast:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#gmpy

You can find the details here: https://bitcointalk.org/index.php?topic=5245379.msg55214449#msg55214449

When using Python, I use FastEcdsa(https://github.com/AntonKueltz/fastecdsa) library and mathematics similar to Sage. But can I do the math faster? I want to understand.
The FastEcdsa Library is fast, but I don't know if it uses the gmpy2 you suggested. My python script uses 17% of the CPU as a result. I wanted to write with Anaconda (for GPU), but I could not find a gpu running as fast as C or I could not.

Thank you MrFreeDragon .

No. you can't be faster then GPU on your CPU.
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 01/08/2020, 15:58:13 UTC
Hi all,

So no one knows a pubkey to 64?
Address 64 has no outgoing transactions.Therefore, the public key is unknown.


so everybody seraching higher known addresses ?
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 01/08/2020, 08:31:17 UTC
Hi all,

So no one knows a pubkey to 64?
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 20/07/2020, 09:06:44 UTC

So...how do use a kangaroo without pub key?  What all of you looking for without it?


Pollard Kangaroo algorithm needs as input a public key and an interval for private key.

So... you don't use kangaroo without pub key.

One can get a public key from spent transaction, or early P2PK transaction.


ok, how everyone here use kangaroo for 64? just interest, or for 74,77 and etc?
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 20/07/2020, 07:01:06 UTC
How we can recieve a pub key?  try to do all without mistakes

i make a from address 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN a pub 3EE4133D991F52FDF6A25C9834E0745AC74248A4 in hash 160, is it right or or everyone use some online stuff for it?
In case of your example you can't find the pubkey of the address 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN. That's because it is a Pay 2 Public Key Hash address. What you tried to do I guess is a base58 decode of the address. The tool at http://gobittest.appspot.com/Address might be of help to you fur understanding purposes. Just fill in the address in the last field and you will get the values all the way to the RIPEMD-160 of the hash of the private key. But since RIPEMD and SHA are hashing algorithms that will only work in one way there is no way you can calculate the public key.

In case of a P2PKH address the public key becomes known when the address is used for an outgoing transaction. In that case for the unlocking script the public key has to be supplied and it will be checked if it hashes to the correct value. But in your case the address doesn't have any outgoing transactions so the public key is not known to anyone but the person who also has the private key.




Another one question:
I open dos in JeanLuc github at kangaroo, and see a data about 64bit, as he wrote there:
"""
Exemple with a 64bit key:

Kangaroo.exe -d 10 -s -w save.work -wsplit -wi 10 ..\VC_CUDA8\in64.txt
"""

I look at info:

Kangaroo v1.6
Start:5B3F38AF935A3640D158E871CE6E9666DB862636383386EE0000000000000000
Stop :5B3F38AF935A3640D158E871CE6E9666DB862636383386EEFFFFFFFFFFFFFFFF

what??)) is it rel range or another decoding i need to do or what is it?
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 20/07/2020, 06:55:14 UTC

So...how do use a kangaroo without pub key?

How we can recieve a pub key?  try to do all without mistakes

i make a from address 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN a pub 3EE4133D991F52FDF6A25C9834E0745AC74248A4 in hash 160, is it right or or everyone use some online stuff for it?
In case of your example you can't find the pubkey of the address 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN. That's because it is a Pay 2 Public Key Hash address. What you tried to do I guess is a base58 decode of the address. The tool at http://gobittest.appspot.com/Address might be of help to you fur understanding purposes. Just fill in the address in the last field and you will get the values all the way to the RIPEMD-160 of the hash of the private key. But since RIPEMD and SHA are hashing algorithms that will only work in one way there is no way you can calculate the public key.

In case of a P2PKH address the public key becomes known when the address is used for an outgoing transaction. In that case for the unlocking script the public key has to be supplied and it will be checked if it hashes to the correct value. But in your case the address doesn't have any outgoing transactions so the public key is not known to anyone but the person who also has the private key.


Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 20/07/2020, 06:10:25 UTC

How we can recieve a pub key?  try to do all without mistakes

i make a from address 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN a pub 3EE4133D991F52FDF6A25C9834E0745AC74248A4 in hash 160, is it right or or everyone use some online stuff for it?



Can someone wrote how to start kangaroo in range? i try to make it via doc, but not understand... and not understand how it looking for address, where i must to write it?
For Windows:

Example of input text document that contains ranges and public key you are searching for, let's call it/save it as input.txt:
Code:
1000000
1FFFFFF
03057fbea3a2623382628dde556b2a0698e32428d3cd225f3bd034dca82dd7455a

1000000 = start of range
1FFFFFF  = end of range
03057... = public key you are searching for

Save the input text document in same folder as Kangaroo.exe

Kangaroo doesn't search for an address but a public key.
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 19/07/2020, 07:16:56 UTC
Can someone wrote how to start kangaroo in range? i try to make it via doc, but not understand... and not understand how it looking for address, where i must to write it?
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 17/07/2020, 18:15:33 UTC
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 16/07/2020, 16:47:21 UTC
can anyone make a compiled version for 1070 win10? thk
Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
paniker
on 03/06/2020, 17:17:44 UTC
Quote


I think this is f***ng incredible think, just need to use it write a way! man thanks! but i got some questionsm but it still doing what i really need
 pm me