Pages:
Author

Topic: [ARCHIVE] Bitcoin challenge discusion - page 30. (Read 29303 times)

legendary
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
August 05, 2019, 08:38:57 AM
#86
After reading over the description of Pollard's kangaroo algorithm I think I understand it enough to be able to explain it to my 13 year old daughter so she can write the code as a fun educational exercise.  She is always looking for a good subject for her next science fair project and I think this would make a good one.

It's not so hard to write working Pollard's kangaroo, and there are some example implementation. Problem is writing CUDA implementation of it, as I understood CPU implementation can not compare by speed with CUDA one.
Good point.

For my real job I am writing all the TCG and secure boot ROM firmware for a next gen SSD controller ASIC.  This SSD controller ASIC happens to have a built in hardware crypto engine for AES, SHA, HMAC, RSA, ECC, etc.  I was thinking I could download a special test firmware into the SSD that would use the built in hardware crypto engine to do this calculation.  It would be incredibly fast.  I could justify downloading it to an entire rack of SSDs during manufacturing in order to do a "burn in test" of the crypto hardware on the drive.  Should be fun.
legendary
Activity: 1974
Merit: 1077
^ Will code for Bitcoins
August 05, 2019, 03:20:20 AM
#85
After reading over the description of Pollard's kangaroo algorithm I think I understand it enough to be able to explain it to my 13 year old daughter so she can write the code as a fun educational exercise.  She is always looking for a good subject for her next science fair project and I think this would make a good one.

It's not so hard to write working Pollard's kangaroo, and there are some example implementation. Problem is writing CUDA implementation of it, as I understood CPU implementation can not compare by speed with CUDA one.
legendary
Activity: 3472
Merit: 10611
August 05, 2019, 12:32:47 AM
#84
What PRF is generally used?

i am not really familiar with this algorithm but yesterday when i saw your comment mentioning SHA256 as the PRF i did some search on the algorithm and i haven't yet seen anybody use this.
one option is what was posted (f(x) = 2x%k) each choosing k differently from random k in [1,20] to a k based on curve order, here is one in python: https://github.com/crypto-class/random-modnar/blob/master/set8/58/main.py
others use something similar to what you  said here with SHA256 but they simply use their language's Random() function which uses a bunch of hashes under the hood.
another thing i've seen was finding α based on prime (p-1) factors and define f(x) = xα %n

in the end it seems like there is no good answer to the pseudorandom map function that they use. each one is trying to come up with the most efficient function while reducing the cycles to make the algorithm run faster.
legendary
Activity: 1974
Merit: 1077
^ Will code for Bitcoins
August 04, 2019, 05:37:06 PM
#83
...
The problem is the initial stage, because python error:
Code:
Traceback (most recent call last):
  File "polard3.py", line 2, in
    from Ecc import Ecc
ImportError: cannot import name Ecc

Uncle Google has no idea how to get out of it :-)

In terminal:
Code:
pip install ecc

ecc / Pure Python implementation of an elliptic curve cryptosystem based on FIPS 186-3
legendary
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
August 04, 2019, 03:32:11 PM
#82
In that code  the PRF is defined as:

Code:
def f(Y):
    (x, y) = Y.coords()
    return pow(2, (y % k))
where k = 15

And the value of N is selected as:

Code:
N = ( f(basePoint) + f(ecc.scale(basePoint, b))) / 2  * 2

Both interesting and unexpected choices.  Where did you find this code?  Is this from a supposedly working program?
full member
Activity: 277
Merit: 108
August 04, 2019, 12:34:43 PM
#81
The x coordinate and y coordinate are both binary numbers in the range 2256.
the max is also a little bit less than 2256 but unlike private keys the max is defined by P (the prime) not N (the curve order)
After reading over the description of Pollard's kangaroo algorithm I think I understand it enough to be able to explain it to my 13 year old daughter so she can write the code as a fun educational exercise.  She is always looking for a good subject for her next science fair project and I think this would make a good one.

I have some questions about the PRF that someone might be able to answer. 

The only requirements listed in the article above are:

1) The PRF must map the finite cyclic group to "a set S of integers"
2) The PRF must be able to be changed in order to select a different S in order to create subsequent "kangaroos"

Since the length of the pseudorandom sequence is not specified I assumed 256 bits, is that reasonable?

So, it seems to me that f(X) = SHA256(X || nonce) where X is the binary representation of the the point X, || represents the concatenation operation, and the nonce is selected from a TRNG or is simply incremented would do the trick.

However this seems to be overkill and we want to do this as fast as possible.

Another option that comes to mind is to just define f(X) = (X + nonce) where X is the binary representation of the compressed form of X and the nonce is selected from a TRNG or is simply incremented.

What PRF is generally used?

Now that I think about this I think the science fair project could be something along the lines of measuring the conversion speed of various PRFs and PRF modification algorithms.  The data set would be all the cracked addresses in this thread, the independent variable would be various PRFs and different ways of modifying them to produce the next "kangaroo", and the dependent variable would be the total time it takes to re-crack all the known cracked addresses listed in this thread.

The idea is awesome!
I'm happy to wait for the effect...
Meanwhile, digging up the finds - I found this code:
Code:
import random
from Ecc import Ecc
from Ecc import Point

A = -95051
B = 11279326
p = 233970423115425145524320034830162017933
q = 233970423115425145498902418297807005944
ecc = Ecc(A, B, p)

def f(Y):
    (x, y) = Y.coords()
    return pow(2, (y % k))

priv = random.randint(0, q)
print 'You will never guess my private key of %s' % priv


basePoint = Point(4, 85518893674295321206118380980485522083)
pub = ecc.scale(basePoint, priv)

a = priv - pow(2, 20)
b =  priv + pow(2, 20)

print 'a',a
print 'b',b
global k
k = 15
print 'k is set to %d' % k
"""
Tame Kangaroo
    xT := 0
    yT := g^b

    for i in 1..N:
        xT := xT + f(yT)
        yT := yT * g^f(yT)

"""

xT = 0
yT = ecc.scale(basePoint, b)
y = pub

N = ( f(basePoint) + f(ecc.scale(basePoint, b))) / 2  * 2

for i in range(1, N):
    xT += f(yT)
    yT = ecc.add(yT, ecc.scale(basePoint, f(yT)));

print xT, yT
"""
Wild Kangaroo
    xW := 0
    yW := y

    while xW < b - a + xT:
        xW := xW + f(yW)
        yW := yW * g^f(yW)

        if yW = yT:
            return b + xT - xW
"""

print "Setting wild kangaroo off"

def wildKangaroo(ecc, y, yT, xT, basePoint,  b, a):
    xW = 0
    yW = y
    while xW < (b - a + xT):
        xW = xW + f(yW)
        yW = ecc.add(yW, ecc.scale(basePoint, f(yW)));

        if yW == yT:
            print 'catch'
            print yW, yT
            return b + xT - xW


A = wildKangaroo(ecc, y, yT, xT, basePoint, b, a)
print A

The problem is the initial stage, because python error:
Code:
Traceback (most recent call last):
  File "polard3.py", line 2, in
    from Ecc import Ecc
ImportError: cannot import name Ecc

Uncle Google has no idea how to get out of it :-)
legendary
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
August 04, 2019, 11:59:25 AM
#80
The x coordinate and y coordinate are both binary numbers in the range 2256.
the max is also a little bit less than 2256 but unlike private keys the max is defined by P (the prime) not N (the curve order)
After reading over the description of Pollard's kangaroo algorithm I think I understand it enough to be able to explain it to my 13 year old daughter so she can write the code as a fun educational exercise.  She is always looking for a good subject for her next science fair project and I think this would make a good one.

I have some questions about the PRF that someone might be able to answer.  

The only requirements listed in the article above are:

1) The PRF must map the finite cyclic group to "a set S of integers"
2) The PRF must be able to be changed in order to select a different S in order to create subsequent "kangaroos"

Since the length of the pseudorandom sequence is not specified I assumed 256 bits, is that reasonable?

So, it seems to me that f(X) = SHA256(X || nonce) where X is the binary representation of the the point X, || represents the concatenation operation, and the nonce is selected from a TRNG or is simply incremented would do the trick.

However this seems to be overkill and we want to do this as fast as possible.

Another option that comes to mind is to just define f(X) = (X + nonce) where X is the binary representation of the compressed form of X and the nonce is selected from a TRNG or is simply incremented.

What PRF is generally used?

Now that I think about this I think the science fair project could be something along the lines of measuring the conversion speed of various PRFs and PRF modification algorithms.  The data set would be all the cracked addresses in this thread, the independent variable would be various PRFs and different ways of modifying them to produce the next "kangaroo", and the dependent variable would be the total time it takes to re-crack all the known cracked addresses listed in this thread.
full member
Activity: 277
Merit: 108
August 04, 2019, 05:11:16 AM
#79
Another fake. It's some child who is having fun and looking for gullible people. In previous statements, there was never a footer with greetings and a signature.
Greetings,
Santa Claus
member
Activity: 245
Merit: 17
August 03, 2019, 10:00:14 PM
#78
Closing the subject of buying this carcass from droitka - I WOULD NOT RECOMMEND consideration of buying, because it is SURE one big cheat! Logical evidence for this:
1. Attempts to announce wherever possible (Wikipedia, GitHub ...) with public content (which confirms the fact that this person has neither a concept nor anything to offer)
2. It is offered on the principle of "dam ass for a bowl of soup", and for the offer to divide the profit for free code presentation - he is silent ... how do you think, why? because it is a cheat!

In accordance with the advice from an earlier post: I place a public offer consisting in explaining and presenting the principle of operation of the Pollard Kangaros method (eg on the example of address #65).
The cooperation will be based on the fact that in exchange for the clues to obtain keys to other addresses (105,110 etc.)
I offer the method with the use of which I have more than 100 pieces of GPU Tesla and the distribution of prizes obtained using this method 50/50.
I am open to all types of written contracts.

What does my offer result from and why do I suggest half?

The bill is simple:
  • You have the right knowledge and the code that allows you to reach these spaces - 50%
  • I have equipment on which your code will reach there soonest - 50%
Honestly true? :-)

The obligation applies to EVERY space 105, which has outgoing transactions (i.e. simply - using this method).
If anyone is interested - I give contact to me: zielar (at) poczta (dot) fm

If someone does not have a ready code, and has knowledge on the subject of "what is what" in the code I presented earlier - I will also be able to repay you in a decent manner if I stick this code myself thanks to this knowledge :-)

And I will summarize my decision on this offer briefly and clearly:
"it's better to get half a reward than not get it all!"


This program has only academic value //
I will not sell the source code! sory

maybe I'll make it public at the end of the pazzul challenge.


100 pieces of GPU Tesla  Wink it does not make sense
1 Cuda 10 gpu is enough for the program

Best regards
David Sunfellow






drotika = David Sunfellow   Huh
full member
Activity: 277
Merit: 108
August 03, 2019, 02:33:05 PM
#77
Closing the subject of buying this carcass from droitka - I WOULD NOT RECOMMEND consideration of buying, because it is SURE one big cheat! Logical evidence for this:
1. Attempts to announce wherever possible (Wikipedia, GitHub ...) with public content (which confirms the fact that this person has neither a concept nor anything to offer)
2. It is offered on the principle of "dam ass for a bowl of soup", and for the offer to divide the profit for free code presentation - he is silent ... how do you think, why? because it is a cheat!

In accordance with the advice from an earlier post: I place a public offer consisting in explaining and presenting the principle of operation of the Pollard Kangaros method (eg on the example of address #65).
The cooperation will be based on the fact that in exchange for the clues to obtain keys to other addresses (105,110 etc.)
I offer the method with the use of which I have more than 100 pieces of GPU Tesla and the distribution of prizes obtained using this method 50/50.
I am open to all types of written contracts.

What does my offer result from and why do I suggest half?

The bill is simple:
  • You have the right knowledge and the code that allows you to reach these spaces - 50%
  • I have equipment on which your code will reach there soonest - 50%
Honestly true? :-)

The obligation applies to EVERY space 105, which has outgoing transactions (i.e. simply - using this method).
If anyone is interested - I give contact to me: zielar (at) poczta (dot) fm

If someone does not have a ready code, and has knowledge on the subject of "what is what" in the code I presented earlier - I will also be able to repay you in a decent manner if I stick this code myself thanks to this knowledge :-)

And I will summarize my decision on this offer briefly and clearly:
"it's better to get half a reward than not get it all!"
legendary
Activity: 2268
Merit: 1092
August 03, 2019, 12:07:07 AM
#76
I am interested to buy with other people, i can pay 0.005 BTC, any other 2 people interested to pay 0.005 BTC to get the Pollards kangaroo tool?
I can buy it myself if i get 0.005 BTC from 2 people.

That's not how buying software works.
newbie
Activity: 43
Merit: 0
August 02, 2019, 10:04:49 AM
#75
Anyone try this program?

https://satoshidisk.com/pay/C74Tfg

Not free but the cost seems pretty reasonable to me (0.01500030 BTC)


can i try on windows 10 on cpu?

SCAM
newbie
Activity: 18
Merit: 1
August 02, 2019, 09:52:06 AM
#74
Anyone try this program?

https://satoshidisk.com/pay/C74Tfg

Not free but the cost seems pretty reasonable to me (0.01500030 BTC)


can i try on windows 10 on cpu?
member
Activity: 114
Merit: 11
August 02, 2019, 08:55:54 AM
#73
Drotika: you can give me proof and solve the puzzel what i made for you with this tool what you sell.
i generate a 74 bit address tell me the priv key and i will buy instantly.
here is the compressed pub key.

02860383bb423be58e05694974bd9f509f6cf9d003c16360c1062cc417acd4270c

compressed address
1NfQBC3hcwugx4fFjkp6ugNC8ZmYGddMz


Hex:3ac312d01efaf8ce28f
Dec:17343482919897743024783
PrivKey:KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3wWPBhvjzRvU6EE3KaREb

https://imgur.com/a/I4u2TX2

pikachunakapika: 3Day pls 75Bit
Man, I really don't understand you. What is your goal in selling this script if it really works!?
WHY DONT YOU OPEN ALL KEYS from 61 -> whatever you can, if it takes you less time then others?
0.025 BTC price for script? Mate, if you open even #61 address you will cover ~24 buyers. ))
Why do you spend your time for prooving that your script does work? For the same time you could open #74 address and get the bounty!!!
Where is the logic???

If you sell your script to several people they will open all possible addresses (until the time required will be within an adequate range) in a days and then your scipt will just remain in a history of cracking.....

it can only find private keys that were deliberately chosen to be breakable. It cannot be used to recover your private key that was created by a bitcoin wallet.
This program has only academic value.
In the latter case, I don't want to spoil the challenge.
you are right I will not sell!

hey reply my private message.
newbie
Activity: 5
Merit: 0
August 02, 2019, 06:44:43 AM
#72
I also sell Pollard Kangaroo.
Test me please with 85 bit key.

What is the fee?

Test Address  85 bit
Public Key : 0322d1b4a9af22c3529d7e0822673386165ea71cd6d339ccd019afa5cecdf1f015
Compress Address: 1N4Nma9JLgtZ9Ju7R8Dida1JNSU9U8h1LJ

How much will it take?

Can you please check in python 2 and write:
import math
math.log(, 2)

and check that it is 84.xxx?


edit: Your public key does not seem to be 85 bit.

The forum moderators here are not very competent so I will leave.
Zielar, if you want to team up and share 50%/50% please leave your contact details public somwhere here. Thank you.


Address : 1N4Nma9JLgtZ9Ju7R8Dida1JNSU9U8h1LJ
Public Key : 0322d1b4a9af22c3529d7e0822673386165ea71cd6d339ccd019afa5cecdf1f015
Hex : 1d00fabe494734927bcb87
Decimal : 35063474166411505082026887
Private Key : KwDiBf89QgGbjEhKnhXJuH7LrciVrZmdZmWBWvnWDoE5Du2J4Ajf

85 bit?

Yes sorry my program sucks big time. Sorry for bothering.
newbie
Activity: 5
Merit: 0
August 01, 2019, 06:34:51 PM
#71
I also sell Pollard Kangaroo.
Test me please with 85 bit key.

What is the fee?

Test Address  85 bit
Public Key : 0322d1b4a9af22c3529d7e0822673386165ea71cd6d339ccd019afa5cecdf1f015
Compress Address: 1N4Nma9JLgtZ9Ju7R8Dida1JNSU9U8h1LJ

How much will it take?

Can you please check in python 2 and write:
import math
math.log(, 2)

and check that it is 84.xxx?


edit: Your public key does not seem to be 85 bit.

The forum moderators here are not very competent so I will leave.
Zielar, if you want to team up and share 50%/50% please leave your contact details public somwhere here. Thank you.
full member
Activity: 277
Merit: 108
August 01, 2019, 05:13:08 PM
#70
Code:
p = 11470374874925275658116663507232161402086650258453896274534991676898999262641581519101074740642369848233294239851519212341844337347119899874391456329785623
q = 335062023296420808191071248367701059461
j = 34233586850807404623475048381328686211071196701374230492615844865929237417097514638999377942356150481334217896204702
g = 117483621780776948851322623152941329604983290852776470044816799968190986256316556722568523187517506040883960831402919848784195399671137064998190231834559
y = 10709965516783081490573356698184657992418098658871683731914897364288781862793359484228879297315128529085240057591857301471581217507082588896460650496983734
z = 224029434095732291724690823

a = 0
b = (q-1)/z

def f(y):
    return pow(2, (y % k))

print 'a',a
print 'b',b
global k
k = 20
print 'k is set to %d' % k

this is the beginning of an example of implementing kangaros polard ...
Wanting to understand and test it on the empty wallet with 2 ^ 65 to which we know the public key (x, y) how to get the target which is the private key ... in this example all values are in DEC ... I did not want to wake up before testing, but since I'm starting to make an idiot of myself by asking questions so little clear that when I read, I do not understand them myself - I've given above what I mean :-)

Can you write a sample here to find the one you want?
What values will we change?
Change it for what?
p ? q? J? g? ...

Dear children. Learn to read, or go outside, because monitors and smartphones freak out in your head and do damage to fiber optics. However, before you decide on the first good choice in your life - ask your parents to read the content of my post and tell me if they are interested in selling something or presenting the code in order to present the sale offer? Because from what I know myself and I can read and write - it is about asking for help in interpreting the code which I found at the link indicated by someone here.
The whole page of garbage from idiots, what do not you want to read!*
--
* - apart from thinking beings from this forum, who also placed here between these children
--
This thread is not a stallion, so if possible, I will be grateful if private interests were conducted - PRIVATE. Well, unless you sell to EVERYTHING, and the other one will pay for EVERYTHING, we look forward to it and we will keep our fingers crossed. I will not hide that my intuition tells me that this trade is a monologue of one and the same person Smiley
newbie
Activity: 5
Merit: 0
August 01, 2019, 02:33:20 PM
#69
Code:
p = 11470374874925275658116663507232161402086650258453896274534991676898999262641581519101074740642369848233294239851519212341844337347119899874391456329785623
q = 335062023296420808191071248367701059461
j = 34233586850807404623475048381328686211071196701374230492615844865929237417097514638999377942356150481334217896204702
g = 117483621780776948851322623152941329604983290852776470044816799968190986256316556722568523187517506040883960831402919848784195399671137064998190231834559
y = 10709965516783081490573356698184657992418098658871683731914897364288781862793359484228879297315128529085240057591857301471581217507082588896460650496983734
z = 224029434095732291724690823

a = 0
b = (q-1)/z

def f(y):
    return pow(2, (y % k))

print 'a',a
print 'b',b
global k
k = 20
print 'k is set to %d' % k

this is the beginning of an example of implementing kangaros polard ...
Wanting to understand and test it on the empty wallet with 2 ^ 65 to which we know the public key (x, y) how to get the target which is the private key ... in this example all values are in DEC ... I did not want to wake up before testing, but since I'm starting to make an idiot of myself by asking questions so little clear that when I read, I do not understand them myself - I've given above what I mean :-)

https://gist.github.com/natmchugh/7dbd7e4f7c55d915db1e

Drotika is the best but not free


drotika can't even solve the easy tests from the users here. you and drotika are the same person?
full member
Activity: 277
Merit: 108
August 01, 2019, 12:42:21 PM
#68
Code:
p = 11470374874925275658116663507232161402086650258453896274534991676898999262641581519101074740642369848233294239851519212341844337347119899874391456329785623
q = 335062023296420808191071248367701059461
j = 34233586850807404623475048381328686211071196701374230492615844865929237417097514638999377942356150481334217896204702
g = 117483621780776948851322623152941329604983290852776470044816799968190986256316556722568523187517506040883960831402919848784195399671137064998190231834559
y = 10709965516783081490573356698184657992418098658871683731914897364288781862793359484228879297315128529085240057591857301471581217507082588896460650496983734
z = 224029434095732291724690823

a = 0
b = (q-1)/z

def f(y):
    return pow(2, (y % k))

print 'a',a
print 'b',b
global k
k = 20
print 'k is set to %d' % k

this is the beginning of an example of implementing kangaros polard ...
Wanting to understand and test it on the empty wallet with 2 ^ 65 to which we know the public key (x, y) how to get the target which is the private key ... in this example all values are in DEC ... I did not want to wake up before testing, but since I'm starting to make an idiot of myself by asking questions so little clear that when I read, I do not understand them myself - I've given above what I mean :-)
newbie
Activity: 43
Merit: 0
August 01, 2019, 08:30:17 AM
#67
When pollard kangaroo gpu script will be available for the crowd?
Pages:
Jump to: