BurtW
Legendary
Offline
Activity: 2534
Merit: 1058
All paid signature campaigns should be banned.


August 04, 2019, 03:59:25 PM 

The x coordinate and y coordinate are both binary numbers in the range 2^{256}.
the max is also a little bit less than 2 ^{256} 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 recrack all the known cracked addresses listed in this thread.

Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!







Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.


zielar
Member
Offline
Activity: 92
Merit: 24


August 04, 2019, 04:34:43 PM 

The x coordinate and y coordinate are both binary numbers in the range 2^{256}.
the max is also a little bit less than 2 ^{256} 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 recrack 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: 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: Traceback (most recent call last): File "polard3.py", line 2, in <module> from Ecc import Ecc ImportError: cannot import name Ecc
Uncle Google has no idea how to get out of it :)




BurtW
Legendary
Offline
Activity: 2534
Merit: 1058
All paid signature campaigns should be banned.


August 04, 2019, 07:32:11 PM 

In that code the PRF is defined as: def f(Y): (x, y) = Y.coords() return pow(2, (y % k)) where k = 15 And the value of N is selected as: 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?

Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!



itod
Legendary
Offline
Activity: 1540
Merit: 1020
^ Will code for Bitcoins


August 04, 2019, 09:37:06 PM 

... The problem is the initial stage, because python error: Traceback (most recent call last): File "polard3.py", line 2, in <module> from Ecc import Ecc ImportError: cannot import name Ecc
Uncle Google has no idea how to get out of it :) In terminal: pip install ecc ecc / Pure Python implementation of an elliptic curve cryptosystem based on FIPS 1863




pooya87
Legendary
Offline
Activity: 1736
Merit: 1814


August 05, 2019, 04:32:47 AM 

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) = 2^{x%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/cryptoclass/randommodnar/blob/master/set8/58/main.pyothers 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 (p1) factors and define f(x) = x^{α} %nin 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.




itod
Legendary
Offline
Activity: 1540
Merit: 1020
^ Will code for Bitcoins


August 05, 2019, 07:20:20 AM 

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.




BurtW
Legendary
Offline
Activity: 2534
Merit: 1058
All paid signature campaigns should be banned.


August 05, 2019, 12:38:57 PM 

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.

Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!



BurtW
Legendary
Offline
Activity: 2534
Merit: 1058
All paid signature campaigns should be banned.


August 05, 2019, 12:53:15 PM 

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) = 2^{x%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/cryptoclass/randommodnar/blob/master/set8/58/main.pyothers 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 (p1) factors and define f(x) = x^{α} %nin 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. As far as this PRF: def f(Z): (x, y) = Z.coords() return pow(2, (y % k)) where k is varied to create new kangaroos To quote King Crimson: The more I look at it The more I like it Heh, I do think it's good The fact is.. No matter how closely I study it No matter how I take it apart No matter how I'll break it down It remains consistent I wish you were here to see it! Anyway I am going to try the simplest fastest possible thing I can think of and test it to see if it will work: def f(Z): (x, y) = Z.coords() return (y & M) where M is a bit mask and is varied to create new kangaroos

Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!



itod
Legendary
Offline
Activity: 1540
Merit: 1020
^ Will code for Bitcoins


August 05, 2019, 03:56:03 PM 

Anyway I am going to try the simplest fastest possible thing I can think of and test it to see if it will work: def f(Z): (x, y) = Z.coords() return (y & M) where M is a bit mask and is varied to create new kangaroos They say this fastest pseudorandom generator that is any good: XorshiftYou need few lines of code to vary the mask, why not do this instead?




BurtW
Legendary
Offline
Activity: 2534
Merit: 1058
All paid signature campaigns should be banned.


August 05, 2019, 06:31:41 PM 

They say this fastest pseudorandom generator that is any good: XorshiftYou need few lines of code to vary the mask, why not do this instead? I read about and was intrigued by the two xoshiro256 algorithms and i think a great idea would be to create a xoshiro512 version that would be perfect for this application. 1) Expand the PRNG state from 256 bits to 512 bits 2) Seed the PRNG with all 512 bits of the point X that have been modified in a yet TBD way in order to create the various kangaroos 3) have the PRNG output a 256 bit pseudo random number based on the 512 bit state. This might give better pseudo random coverage of the search space than my ultra simple (but faster) masking system.

Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!



itod
Legendary
Offline
Activity: 1540
Merit: 1020
^ Will code for Bitcoins


August 05, 2019, 07:17:46 PM 

They say this fastest pseudorandom generator that is any good: XorshiftYou need few lines of code to vary the mask, why not do this instead? I read about and was intrigued by the two xoshiro256 algorithms and i think a great idea would be to create a xoshiro512 version that would be perfect for this application. 1) Expand the PRNG state from 256 bits to 512 bits 2) Seed the PRNG with all 512 bits of the point X that have been modified in a yet TBD way in order to create the various kangaroos 3) have the PRNG output a 256 bit pseudo random number based on the 512 bit state. This might give better pseudo random coverage of the search space than my ultra simple (but faster) masking system. Nice idea, but you can simplify it by ignoring Y coordinate, since X is much more important and effectively defining the point on the curve. Then you can stay in 256 bit range instead of venturing to 512 bits, and use this version I've written for you: struct xorshift256_state { uint64_t a, b, c, d; };
/* The state array should be initialized to X coordinate */ uint64_t xorshift256(struct xorshift256_state *state) { uint64_t t = state>d;
uint64_t const s = state>a; state>d = state>c; state>c = state>b; state>b = s;
t ^= t << 11; t ^= t >> 8; return state>a = t ^ s ^ (s >> 19); }




BurtW
Legendary
Offline
Activity: 2534
Merit: 1058
All paid signature campaigns should be banned.


August 05, 2019, 08:21:00 PM 

Nice idea, but you can simplify it by ignoring Y coordinate, since X is much more important and effectively defining the point on the curve. Then you can stay in 256 bit range instead of venturing to 512 bits, and use this version I've written for you: struct xorshift256_state { uint64_t a, b, c, d; };
/* The state array should be initialized to X coordinate */ uint64_t xorshift256(struct xorshift256_state *state) { uint64_t t = state>d;
uint64_t const s = state>a; state>d = state>c; state>c = state>b; state>b = s;
t ^= t << 11; t ^= t >> 8; return state>a = t ^ s ^ (s >> 19); } Thanks, that looks great (fast). BTW there is already a 512 bit state version of xoshiro in case we/anyone wants to try it.

Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!



BurtW
Legendary
Offline
Activity: 2534
Merit: 1058
All paid signature campaigns should be banned.


August 05, 2019, 08:35:23 PM 

Hey,
Once my daughter gets this written she would like to run it against every cracked address in this "puzzle" for timing and test purposes. In order to do that we will need a list of every public key, in whatever form is handy (compressed, uncompressed, binary, encoded, etc.) with preference to uncompressed binary in hex.
Has anyone already done this? I would hate to have to go into the block chain to recover all the public keys if someone has already done that and can just publish it here.
Also, this would be a great thing to add to the OP of this thread: A complete listing of all the public keys known for the cracked and still to be cracked addresses.
Thanks.
Burt

Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!



almightyruler
Legendary
Offline
Activity: 2030
Merit: 1049


August 05, 2019, 10:28:18 PM 

Hey,
Once my daughter gets this written she would like to run it against every cracked address in this "puzzle" for timing and test purposes. In order to do that we will need a list of every public key, in whatever form is handy (compressed, uncompressed, binary, encoded, etc.) with preference to uncompressed binary in hex.
Has anyone already done this? I would hate to have to go into the block chain to recover all the public keys if someone has already done that and can just publish it here.
Also, this would be a great thing to add to the OP of this thread: A complete listing of all the public keys known for the cracked and still to be cracked addresses.
Thanks.
Burt
This is a quick pass of all of the private keys from the OP through bitcointool, outputting the public key. Note that this conversion assumes a compressed pubkey. (I checked a couple and they were compressed, so I'm making the assumption that they all are.) 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9 025cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc 022f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01 02352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5 03f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530 0296516a8f65774275278d0d7420a88df0ac44bd64c7bae07c3fe397c5b3300b23 0308bc89c2f919ed158885c35600844d49890905c79b357322609c45706ce6b514 0243601d61c836387485e9514ab5c8924dd2cfd466af34ac95002727e1659d60f7 03a7a4c30291ac1db24b4ab00c442aa832f7794b5a0959bec6e8d7fee802289dcd 038b05b0603abd75b0c57489e451f811e1afe54a8715045cdf4888333f3ebc6e8b 038b00fcbfc1a203f44bf123fc7f4c91c10a85c8eae9187f9d22242b4600ce781c 03aadaaab1db8d5d450b511789c37e7cfeb0eb8b3e61a57a34166c5edc9a4b869d 03b4f1de58b8b41afe9fd4e5ffbdafaeab86c5db4769c15d6e6011ae7351e54759 02fea58ffcf49566f6e9e9350cf5bca2861312f422966e8db16094beb14dc3df2c 029d8c5d35231d75eb87fd2c5f05f65281ed9573dc41853288c62ee94eb2590b7a 033f688bae8321b8e02b7e6c0a55c2515fb25ab97d85fda842449f7bfa04e128c3 020ce4a3291b19d2e1a7bf73ee87d30a6bdbc72b20771e7dfff40d0db755cd4af1 0385663c8b2f90659e1ccab201694f4f8ec24b3749cfe5030c7c3646a709408e19 033c4a45cbd643ff97d77f41ea37e843648d50fd894b864b0d52febc62f6454f7c 031a746c78f72754e0be046186df8a20cdce5c79b2eda76013c647af08d306e49e 023ed96b524db5ff4fe007ce730366052b7c511dc566227d929070b9ce917abb43 03f82710361b8b81bdedb16994f30c80db522450a93e8e87eeb07f7903cf28d04b 036ea839d22847ee1dce3bfc5b11f6cf785b0682db58c35b63d1342eb221c3490c 03057fbea3a2623382628dde556b2a0698e32428d3cd225f3bd034dca82dd7455a 024e4f50a2a3eccdb368988ae37cd4b611697b26b29696e42e06d71368b4f3840f 031a864bae3922f351f1b57cfdd827c25b7e093cb9c88a72c1cd893d9f90f44ece 03e9e661838a96a65331637e2a3e948dc0756e5009e7cb5c36664d9b72dd18c0a7 026caad634382d34691e3bef43ed4a124d8909a8a3362f91f1d20abaaf7e917b36 030d282cf2ff536d2c42f105d0b8588821a915dc3f9a05bd98bb23af67a2e92a5b 0387dc70db1806cd9a9a76637412ec11dd998be666584849b3185f7f9313c8fd28 0209c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de69 03a355aa5e2e09dd44bb46a4722e9336e9e3ee4ee4e7b7a0cf5785b283bf2ab579 033cdd9d6d97cbfe7c26f902faf6a435780fe652e159ec953650ec7b1004082790 02f6a8148a62320e149cb15c544fe8a25ab483a0095d2280d03b8a00a7feada13d 02b3e772216695845fa9dda419fb5daca28154d8aa59ea302f05e916635e47b9f6 027d2c03c3ef0aec70f2c7e1e75454a5dfdd0e1adea670c1b3a4643c48ad0f1255 03c060e1e3771cbeccb38e119c2414702f3f5181a89652538851d2e3886bdd70c6 022d77cd1467019a6bf28f7375d0949ce30e6b5815c2758b98a74c2700bc006543 03a2efa402fd5268400c77c20e574ba86409ededee7c4020e4b9f0edbee53de0d4 03b357e68437da273dcf995a474a524439faad86fc9effc300183f714b0903468b 03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6 02a631f9ba0f28511614904df80d7f97a4f43f02249c8909dac92276ccf0bcdaed 025e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de357336 026ecabd2d22fdb737be21975ce9a694e108eb94f3649c586cc7461c8abf5da71a 03fd5487722d2576cb6d7081426b66a3e2986c1ce8358d479063fb5f2bb6dd5849 023a12bd3caf0b0f77bf4eea8e7a40dbe27932bf80b19ac72f5f5a64925a594196 0291bee5cf4b14c291c650732faa166040e4c18a14731f9a930c1e87d3ec12debb 02591d682c3da4a2a698633bf5751738b67c343285ebdc3492645cb44658911484 03f46f41027bbf44fafd6b059091b900dad41e6845b2241dc3254c7cdd3c5a16c6 028c6c67bef9e9eebe6a513272e50c230f0f91ed560c37bc9b033241ff6c3be78f 0374c33bd548ef02667d61341892134fcf216640bc2201ae61928cd0874f6314a7 020faaf5f3afe58300a335874c80681cf66933e2a7aeb28387c0d28bb048bc6349 034af4b81f8c450c2c870ce1df184aff1297e5fcd54944d98d81e1a545ffb22596 0385a30d8413af4f8f9e6312400f2d194fe14f02e719b24c3f83bf1fd233a8f963 033f2db2074e3217b3e5ee305301eeebb1160c4fa1e993ee280112f6348637999a 02a521a07e98f78b03fc1e039bc3a51408cd73119b5eb116e583fe57dc8db07aea 0311569442e870326ceec0de24eb5478c19e146ecd9d15e4666440f2f638875f42 0241267d2d7ee1a8e76f8d1546d0d30aefb2892d231cee0dde7776daf9f8021485 0348e843dc5b1bd246e6309b4924b81543d02b16c8083df973a89ce2c7eb89a10d 0249a43860d115143c35c09454863d6f82a95e47c1162fb9b2ebe0186eb26f453f 0365ec2994b8cc0a20d40dd69edfe55ca32a54bcbbaa6b0ddcff36049301a54579 0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b 0290e6900a58d33393bc1097b5aed31f2e4e7cbd3e5466af958665bc0121248483 03726b574f193e374686d8e12bc6e4142adeb06770e0a2856f5e4ad89f66044755 037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc 0329c4574a4fd8c810b7e42a4b398882b381bcd85e40c6883712912d167c83e73a 035c38bd9ae4b10e8a250857006f3cfd98ab15a6196d9f4dfd25bc7ecc77d788d5 02967a5905d6f3b420959a02789f96ab4c3223a2c4d2762f817b7895c5bc88a045 03d2063d40402f030d4cc71331468827aa41a8a09bd6fd801ba77fb64f8e67e617




JDScreesh
Newbie
Offline
Activity: 15
Merit: 5


August 05, 2019, 11:39:10 PM 

Hey,
Once my daughter gets this written she would like to run it against every cracked address in this "puzzle" for timing and test purposes. In order to do that we will need a list of every public key, in whatever form is handy (compressed, uncompressed, binary, encoded, etc.) with preference to uncompressed binary in hex.
Has anyone already done this? I would hate to have to go into the block chain to recover all the public keys if someone has already done that and can just publish it here.
Also, this would be a great thing to add to the OP of this thread: A complete listing of all the public keys known for the cracked and still to be cracked addresses.
Thanks.
Burt
Here is the list. I hope it helps #  Address  Compressed PubKey  Uncompressed PubKey 1  1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH  0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798  0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 2  1CUNEBjYrCn2y1SdiUMohaKUi4wpP326Lb  02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9  04f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672 3  19ZewH8Kk1PDbSNdJ97FP4EiCjTRaZMZQA  025cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc  045cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da 4  1EhqbyUMvvs7BfL8goY6qcPbD6YKfPqb7e  022f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01  042f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a015c4da8a741539949293d082a132d13b4c2e213d6ba5b7617b5da2cb76cbde904 5  1E6NuFjCi27W5zoXg8TRdcSRq84zJeBW3k  02352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5  04352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c 6  1PitScNLyp2HCygzadCh7FveTnfmpPbfp8  03f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530  04f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37 7  1McVt1vMtCC7yn5b9wgX1833yCcLXzueeC  0296516a8f65774275278d0d7420a88df0ac44bd64c7bae07c3fe397c5b3300b23  0496516a8f65774275278d0d7420a88df0ac44bd64c7bae07c3fe397c5b3300b23bdacd9a05fb9fb73108c0a99d567fba9b2f75ab36207e1557f6bf255f1337ff0 8  1M92tSqNmQLYw33fuBvjmeadirh1ysMBxK  0308bc89c2f919ed158885c35600844d49890905c79b357322609c45706ce6b514  0408bc89c2f919ed158885c35600844d49890905c79b357322609c45706ce6b514d313f3cdd7cdcc16de776fec3b5892c1172d3056112776f06f63f4cea8c95157 9  1CQFwcjw1dwhtkVWBttNLDtqL7ivBonGPV  0243601d61c836387485e9514ab5c8924dd2cfd466af34ac95002727e1659d60f7  0443601d61c836387485e9514ab5c8924dd2cfd466af34ac95002727e1659d60f78791c0007c09c94db328034b88c5bbbc113335366679eb099a5e75b583bc2c2a 10  1LeBZP5QCwwgXRtmVUvTVrraqPUokyLHqe  03a7a4c30291ac1db24b4ab00c442aa832f7794b5a0959bec6e8d7fee802289dcd  04a7a4c30291ac1db24b4ab00c442aa832f7794b5a0959bec6e8d7fee802289dcdd580b4242cf68189ac1309e79c5a2132d2cbf0e18be6d0b37d05a32256ca0c8b 11  1PgQVLmst3Z314JrQn5TNiys8Hc38TcXJu  038b05b0603abd75b0c57489e451f811e1afe54a8715045cdf4888333f3ebc6e8b  048b05b0603abd75b0c57489e451f811e1afe54a8715045cdf4888333f3ebc6e8b1d10f88145db40fb889e2ddce81bda7c27f5b615acd6179dbb30f4fe7f40fb39 12  1DBaumZxUkM4qMQRt2LVWyFJq5kDtSZQot  038b00fcbfc1a203f44bf123fc7f4c91c10a85c8eae9187f9d22242b4600ce781c  048b00fcbfc1a203f44bf123fc7f4c91c10a85c8eae9187f9d22242b4600ce781c61e9e58a3e81e690ec0264280ee5442a0a8de699dadfbcac478985cc89d35bc9 13  1Pie8JkxBT6MGPz9Nvi3fsPkr2D8q3GBc1  03aadaaab1db8d5d450b511789c37e7cfeb0eb8b3e61a57a34166c5edc9a4b869d  04aadaaab1db8d5d450b511789c37e7cfeb0eb8b3e61a57a34166c5edc9a4b869d2ed7caaf2a261616f564190b4bc9f496f3df86353ff76d7f704e48e654bacdf1 14  1ErZWg5cFCe4Vw5BzgfzB74VNLaXEiEkhk  03b4f1de58b8b41afe9fd4e5ffbdafaeab86c5db4769c15d6e6011ae7351e54759  04b4f1de58b8b41afe9fd4e5ffbdafaeab86c5db4769c15d6e6011ae7351e547597875ee3c7e4d1b5c753d3747c7d5774b583da4d075fb8caf8cab311b0f350483 15  1QCbW9HWnwQWiQqVo5exhAnmfqKRrCRsvW  02fea58ffcf49566f6e9e9350cf5bca2861312f422966e8db16094beb14dc3df2c  04fea58ffcf49566f6e9e9350cf5bca2861312f422966e8db16094beb14dc3df2cc71136e9f21ec86870c3a999f045d712f848c6fd6ed9582521c3f7444c8f182e 16  1BDyrQ6WoF8VN3g9SAS1iKZcPzFfnDVieY  029d8c5d35231d75eb87fd2c5f05f65281ed9573dc41853288c62ee94eb2590b7a  049d8c5d35231d75eb87fd2c5f05f65281ed9573dc41853288c62ee94eb2590b7a83c227263dece3d7e8afe4005eff667bb90dd33ce17c663b1e83b303b12c0348 17  1HduPEXZRdG26SUT5Yk83mLkPyjnZuJ7Bm  033f688bae8321b8e02b7e6c0a55c2515fb25ab97d85fda842449f7bfa04e128c3  043f688bae8321b8e02b7e6c0a55c2515fb25ab97d85fda842449f7bfa04e128c3393e3b1c529624e56840acbb10243ec9e0cfe99c3cffe1c87537b735bbba2d2f 18  1GnNTmTVLZiqQfLbAdp9DVdicEnB5GoERE  020ce4a3291b19d2e1a7bf73ee87d30a6bdbc72b20771e7dfff40d0db755cd4af1  040ce4a3291b19d2e1a7bf73ee87d30a6bdbc72b20771e7dfff40d0db755cd4af1889098969cd1f2642a070ace8aacd681b6c97281ed46d6354f8094614865fba8 19  1NWmZRpHH4XSPwsW6dsS3nrNWfL1yrJj4w  0385663c8b2f90659e1ccab201694f4f8ec24b3749cfe5030c7c3646a709408e19  0485663c8b2f90659e1ccab201694f4f8ec24b3749cfe5030c7c3646a709408e19457e3dd2f2a02ea1dd219233e317782fcc39a3594ca5ef4228f9af3b49bdc671 20  1HsMJxNiV7TLxmoF6uJNkydxPFDog4NQum  033c4a45cbd643ff97d77f41ea37e843648d50fd894b864b0d52febc62f6454f7c  043c4a45cbd643ff97d77f41ea37e843648d50fd894b864b0d52febc62f6454f7c88020b66e0e1970a0009fa411e77166bca00b1ada6163854362ca33d1ee35ab1 21  14oFNXucftsHiUMY8uctg6N487riuyXs4h  031a746c78f72754e0be046186df8a20cdce5c79b2eda76013c647af08d306e49e  041a746c78f72754e0be046186df8a20cdce5c79b2eda76013c647af08d306e49e2d5736900aa6d87c26325ccc3d707065de2fb7dd6602f71ffadb33dcdf26c239 22  1CfZWK1QTQE3eS9qn61dQjV89KDjZzfNcv  023ed96b524db5ff4fe007ce730366052b7c511dc566227d929070b9ce917abb43  043ed96b524db5ff4fe007ce730366052b7c511dc566227d929070b9ce917abb43700d7526050cc27c80c39aac7e5a930a79914bc74c8808177d58335f69ab72f4 23  1L2GM8eE7mJWLdo3HZS6su1832NX2txaac  03f82710361b8b81bdedb16994f30c80db522450a93e8e87eeb07f7903cf28d04b  04f82710361b8b81bdedb16994f30c80db522450a93e8e87eeb07f7903cf28d04b97336f10faad1355ee425ca4f3a989bbd929704bfb9ae2371178ae3adef7ab3f 24  1rSnXMr63jdCuegJFuidJqWxUPV7AtUf7  036ea839d22847ee1dce3bfc5b11f6cf785b0682db58c35b63d1342eb221c3490c  046ea839d22847ee1dce3bfc5b11f6cf785b0682db58c35b63d1342eb221c3490cd4313e400ac025a18f72b7e4487a3a47676c1e97ba6f8119e9736d4b8c4ce2a9 25  15JhYXn6Mx3oF4Y7PcTAv2wVVAuCFFQNiP  03057fbea3a2623382628dde556b2a0698e32428d3cd225f3bd034dca82dd7455a  04057fbea3a2623382628dde556b2a0698e32428d3cd225f3bd034dca82dd7455ab7deb4729bedde33c9edc651ecb0c034adc49678ad67414e3e90b01f2d085655 26  1JVnST957hGztonaWK6FougdtjxzHzRMMg  024e4f50a2a3eccdb368988ae37cd4b611697b26b29696e42e06d71368b4f3840f  044e4f50a2a3eccdb368988ae37cd4b611697b26b29696e42e06d71368b4f3840f076d012b98c9e265dda1a9028ae37f1a4548505fac40524d507b5675c74714ca 27  128z5d7nN7PkCuX5qoA4Ys6pmxUYnEy86k  031a864bae3922f351f1b57cfdd827c25b7e093cb9c88a72c1cd893d9f90f44ece  041a864bae3922f351f1b57cfdd827c25b7e093cb9c88a72c1cd893d9f90f44ece0340864e1e4a939cf2eb8511e833c1c2bdd51a55bd204368332ae70d68a65c61 28  12jbtzBb54r97TCwW3G1gCFoumpckRAPdY  03e9e661838a96a65331637e2a3e948dc0756e5009e7cb5c36664d9b72dd18c0a7  04e9e661838a96a65331637e2a3e948dc0756e5009e7cb5c36664d9b72dd18c0a709f531540a4ca59f50f93b8bf7b0c060045754aaae7ce1bea5a136c0d5874b97 29  19EEC52krRUK1RkUAEZmQdjTyHT7Gp1TYT  026caad634382d34691e3bef43ed4a124d8909a8a3362f91f1d20abaaf7e917b36  046caad634382d34691e3bef43ed4a124d8909a8a3362f91f1d20abaaf7e917b36f5c907aad14e4457181ce6be0f0206a1a22d2730d14edf5d50630ad30d63baf4 30  1LHtnpd8nU5VHEMkG2TMYYNUjjLc992bps  030d282cf2ff536d2c42f105d0b8588821a915dc3f9a05bd98bb23af67a2e92a5b  040d282cf2ff536d2c42f105d0b8588821a915dc3f9a05bd98bb23af67a2e92a5bb0ca8ab2bfb595a48a19d4faecd863697762a74e1e889de825accfee9895790d 31  1LhE6sCTuGae42Axu1L1ZB7L96yi9irEBE  0387dc70db1806cd9a9a76637412ec11dd998be666584849b3185f7f9313c8fd28  0487dc70db1806cd9a9a76637412ec11dd998be666584849b3185f7f9313c8fd28446b6eef4da5141b139a7d9a8f684d20536cd9383a747885791a11af1aef6c91 32  1FRoHA9xewq7DjrZ1psWJVeTer8gHRqEvR  0209c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de69  0409c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de694fd08050375c910eecb46adeb9ffde4614adbf875f0493ad8d0a117d23b219e0 33  187swFMjz1G54ycVU56B7jZFHFTNVQFDiu  03a355aa5e2e09dd44bb46a4722e9336e9e3ee4ee4e7b7a0cf5785b283bf2ab579  04a355aa5e2e09dd44bb46a4722e9336e9e3ee4ee4e7b7a0cf5785b283bf2ab57904162d6719ade112c0440936eaa0666052fd1fffb8562ad3629b0718c298495f 34  1PWABE7oUahG2AFFQhhvViQovnCr4rEv7Q  033cdd9d6d97cbfe7c26f902faf6a435780fe652e159ec953650ec7b1004082790  043cdd9d6d97cbfe7c26f902faf6a435780fe652e159ec953650ec7b1004082790c7fd4dd8b1c621129b2277c44a3fd706e17783cafc47894cfe5fbc912e7b67bb 35  1PWCx5fovoEaoBowAvF5k91m2Xat9bMgwb  02f6a8148a62320e149cb15c544fe8a25ab483a0095d2280d03b8a00a7feada13d  04f6a8148a62320e149cb15c544fe8a25ab483a0095d2280d03b8a00a7feada13d8fde318a70a6dbed63953f4bb93087820e5ccb071faa514204ad19650e5a86ee 36  1Be2UF9NLfyLFbtm3TCbmuocc9N1Kduci1  02b3e772216695845fa9dda419fb5daca28154d8aa59ea302f05e916635e47b9f6  04b3e772216695845fa9dda419fb5daca28154d8aa59ea302f05e916635e47b9f66e1ad5a30b9c99a0ce54247314bd60f6a8c4af66c2672b1a9d7bfebbd8f9340c 37  14iXhn8bGajVWegZHJ18vJLHhntcpL4dex  027d2c03c3ef0aec70f2c7e1e75454a5dfdd0e1adea670c1b3a4643c48ad0f1255  047d2c03c3ef0aec70f2c7e1e75454a5dfdd0e1adea670c1b3a4643c48ad0f12556144da0f5d8070b5cbfc25541705394c22b83d0c90f3f6fb1fe5b20dac02a940 38  1HBtApAFA9B2YZw3G2YKSMCtb3dVnjuNe2  03c060e1e3771cbeccb38e119c2414702f3f5181a89652538851d2e3886bdd70c6  04c060e1e3771cbeccb38e119c2414702f3f5181a89652538851d2e3886bdd70c637bbfdac1b7ca715972daa71db7e26d673a9793c6b499406676154c12d566d3f 39  122AJhKLEfkFBaGAd84pLp1kfE7xK3GdT8  022d77cd1467019a6bf28f7375d0949ce30e6b5815c2758b98a74c2700bc006543  042d77cd1467019a6bf28f7375d0949ce30e6b5815c2758b98a74c2700bc00654335c003eaea2e33c7ced258f506f57f8dbd90636cbf24e91c9729e5833050d06e 40  1EeAxcprB2PpCnr34VfZdFrkUWuxyiNEFv  03a2efa402fd5268400c77c20e574ba86409ededee7c4020e4b9f0edbee53de0d4  04a2efa402fd5268400c77c20e574ba86409ededee7c4020e4b9f0edbee53de0d47ba1a987013e78aef5295bf842749bdf97e25336a82458bbaba8c00d16a79ea7 41  1L5sU9qvJeuwQUdt4y1eiLmquFxKjtHr3E  03b357e68437da273dcf995a474a524439faad86fc9effc300183f714b0903468b  04b357e68437da273dcf995a474a524439faad86fc9effc300183f714b0903468b9a6435e99428f3ef51a405550940fc39ce67823cb8b35f7f4d829902974d0c65 42  1E32GPWgDyeyQac4aJxm9HVoLrrEYPnM4N  03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6  04eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb628afea598588ea50a6b11e552f8574e0b93abd5595f5aa17ea3be5304103d255 43  1PiFuqGpG8yGM5v6rNHWS3TjsG6awgEGA1  02a631f9ba0f28511614904df80d7f97a4f43f02249c8909dac92276ccf0bcdaed  04a631f9ba0f28511614904df80d7f97a4f43f02249c8909dac92276ccf0bcdaedc69d75bbc4ec87b7d7616b7a197fa0ab25814fb551d292aa70b54979e21cbc64 44  1CkR2uS7LmFwc3T2jV8C1BhWb5mQaoxedF  025e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de357336  045e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de3573367715eb01dc2b29c9400694be91f9dda229d7f7eac9da41441f112daeb4dbf54c 45  1NtiLNGegHWE3Mp9g2JPkgx6wUg4TW7bbk  026ecabd2d22fdb737be21975ce9a694e108eb94f3649c586cc7461c8abf5da71a  046ecabd2d22fdb737be21975ce9a694e108eb94f3649c586cc7461c8abf5da71aaa9a8c19d3626939f8f87d0c00c130d76a332fa99fda533bdf449a67407d11b6 46  1F3JRMWudBaj48EhwcHDdpeuy2jwACNxjP  03fd5487722d2576cb6d7081426b66a3e2986c1ce8358d479063fb5f2bb6dd5849  04fd5487722d2576cb6d7081426b66a3e2986c1ce8358d479063fb5f2bb6dd5849a004626dffa0fb7b934118ea84bacc3b030332eee083010efa60025e4fde7297 47  1Pd8VvT49sHKsmqrQiP61RsVwmXCZ6ay7Z  023a12bd3caf0b0f77bf4eea8e7a40dbe27932bf80b19ac72f5f5a64925a594196  043a12bd3caf0b0f77bf4eea8e7a40dbe27932bf80b19ac72f5f5a64925a594196c058e0f0f399f3c35b24b1de2374abe4355f932126eeb97919e73d5d2e56ce3a 48  1DFYhaB2J9q1LLZJWKTnscPWos9VBqDHzv  0291bee5cf4b14c291c650732faa166040e4c18a14731f9a930c1e87d3ec12debb  0491bee5cf4b14c291c650732faa166040e4c18a14731f9a930c1e87d3ec12debb5c9103bbf879a6d6544a5df287116caf287ac27c934508ea1a2f422fbc7b5156 49  12CiUhYVTTH33w3SPUBqcpMoqnApAV4WCF  02591d682c3da4a2a698633bf5751738b67c343285ebdc3492645cb44658911484  04591d682c3da4a2a698633bf5751738b67c343285ebdc3492645cb44658911484baca0af074d601c29f5acd658d0cb8568a38f48f3d3c2de066805f3247cecbb4 50  1MEzite4ReNuWaL5Ds17ePKt2dCxWEofwk  03f46f41027bbf44fafd6b059091b900dad41e6845b2241dc3254c7cdd3c5a16c6  04f46f41027bbf44fafd6b059091b900dad41e6845b2241dc3254c7cdd3c5a16c6eb3dfcc04c320b55c529291478550be6072977c0c86603fb2e4f5283631064fb 51  1NpnQyZ7x24ud82b7WiRNvPm6N8bqGQnaS  028c6c67bef9e9eebe6a513272e50c230f0f91ed560c37bc9b033241ff6c3be78f  048c6c67bef9e9eebe6a513272e50c230f0f91ed560c37bc9b033241ff6c3be78f810ddadcaeae69d8aae00ec0760b089bc312134b87d14bbb69ffcdefa5b38bfc 52  15z9c9sVpu6fwNiK7dMAFgMYSK4GqsGZim  0374c33bd548ef02667d61341892134fcf216640bc2201ae61928cd0874f6314a7  0474c33bd548ef02667d61341892134fcf216640bc2201ae61928cd0874f6314a7d8b0b0699fb814528ef174a644b4fae2cc77dd91f167b19577b2c0d24b1e15ed 53  15K1YKJMiJ4fpesTVUcByoz334rHmknxmT  020faaf5f3afe58300a335874c80681cf66933e2a7aeb28387c0d28bb048bc6349  040faaf5f3afe58300a335874c80681cf66933e2a7aeb28387c0d28bb048bc634965455ef6afc625e4aeef1229f052dfd9ab299b02aaa7e659c0e010a795e49e38 54  1KYUv7nSvXx4642TKeuC2SNdTk326uUpFy  034af4b81f8c450c2c870ce1df184aff1297e5fcd54944d98d81e1a545ffb22596  044af4b81f8c450c2c870ce1df184aff1297e5fcd54944d98d81e1a545ffb22596005f8151d32bd6771ea637e2c8328097d49d2498c3ddd4c76a81f2bad58944cd 55  1LzhS3k3e9Ub8i2W1V8xQFdB8n2MYCHPCa  0385a30d8413af4f8f9e6312400f2d194fe14f02e719b24c3f83bf1fd233a8f963  0485a30d8413af4f8f9e6312400f2d194fe14f02e719b24c3f83bf1fd233a8f9630eb400323654cec63999b56f4ba44e8b21ab92d9d697fabe4666df3678585669 56  17aPYR1m6pVAacXg1PTDDU7XafvK1dxvhi  033f2db2074e3217b3e5ee305301eeebb1160c4fa1e993ee280112f6348637999a  043f2db2074e3217b3e5ee305301eeebb1160c4fa1e993ee280112f6348637999ae00baccca7595a1af869923463f7f5928452d888fbeb495f827bc28f829ab38f 57  15c9mPGLku1HuW9LRtBf4jcHVpBUt8txKz  02a521a07e98f78b03fc1e039bc3a51408cd73119b5eb116e583fe57dc8db07aea  04a521a07e98f78b03fc1e039bc3a51408cd73119b5eb116e583fe57dc8db07aea6fb15c871dd7cf7d287390acd4e09d41f705081a98d5fe3a930ca032525dbcdc 58  1Dn8NF8qDyyfHMktmuoQLGyjWmZXgvosXf  0311569442e870326ceec0de24eb5478c19e146ecd9d15e4666440f2f638875f42  0411569442e870326ceec0de24eb5478c19e146ecd9d15e4666440f2f638875f42524c08d882f868347f8b69d3330dc1913a159d8fb2b27864f197693a0eb39a23 59  1HAX2n9Uruu9YDt4cqRgYcvtGvZj1rbUyt  0241267d2d7ee1a8e76f8d1546d0d30aefb2892d231cee0dde7776daf9f8021485  0441267d2d7ee1a8e76f8d1546d0d30aefb2892d231cee0dde7776daf9f80214850cf8b796676a624addecf7aaa9151eb7aafee708d2b1762adfc0bf2974836ebc 60  1Kn5h2qpgw9mWE5jKpk8PP4qvvJ1QVy8su  0348e843dc5b1bd246e6309b4924b81543d02b16c8083df973a89ce2c7eb89a10d  0448e843dc5b1bd246e6309b4924b81543d02b16c8083df973a89ce2c7eb89a10dd094fcabf8995e2a25c73298a9f7419720db622daff89c67fd5535f6ac29720f 61  1AVJKwzs9AskraJLGHAZPiaZcrpDr1U6AB  0249a43860d115143c35c09454863d6f82a95e47c1162fb9b2ebe0186eb26f453f  0449a43860d115143c35c09454863d6f82a95e47c1162fb9b2ebe0186eb26f453fd3a2cb3be02da3fe0286ef4a5fe755045bcc2067424e33243e0506c1ce631e5c
63  1NpYjtLira16LfGbGwZJ5JbDPh3ai9bjf4  0365ec2994b8cc0a20d40dd69edfe55ca32a54bcbbaa6b0ddcff36049301a54579  0465ec2994b8cc0a20d40dd69edfe55ca32a54bcbbaa6b0ddcff36049301a545795a1b76ab01e9edd0de24157ceff77bcb0f615560b250b365a5d435873eaa4625
65  18ZMbwUFLMHoZBbfpCjUJQTCMCbktshgpe  0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b  0430210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1be383c4a8ed4fac77c0d2ad737d8499a362f483f8fe39d1e86aaed578a9455dfc
70  19YZECXj3SxEZMoUeJ1yiPsw8xANe7M7QR  0290e6900a58d33393bc1097b5aed31f2e4e7cbd3e5466af958665bc0121248483  0490e6900a58d33393bc1097b5aed31f2e4e7cbd3e5466af958665bc0121248483d7319f127105f492fd15e009b103b4a83295722f28f07c95f9a5443ef8e77ce0
75  1J36UjUByGroXcCvmj13U6uwaVv9caEeAt  03726b574f193e374686d8e12bc6e4142adeb06770e0a2856f5e4ad89f66044755  04726b574f193e374686d8e12bc6e4142adeb06770e0a2856f5e4ad89f660447559b15322e6707090a4db3f09c7e6632a26db57f03eb07b40979fc01c827e1b0a3
80  1BCf6rHUW6m3iH2ptsvnjgLruAiPQQepLe  037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc  047e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc625c7118f1c29cb92d28ce0dfd0dc58144fe5572effebc7fee54c4fce3333a6b
85  1Kh22PvXERd2xpTQk3ur6pPEqFeckCJfAr  0329c4574a4fd8c810b7e42a4b398882b381bcd85e40c6883712912d167c83e73a  0429c4574a4fd8c810b7e42a4b398882b381bcd85e40c6883712912d167c83e73a0e02c3afd79913ab0961c95f12498f36a72ffa35c93af27cee30010fa6b51c53
90  1L12FHH2FHjvTviyanuiFVfmzCy46RRATU  035c38bd9ae4b10e8a250857006f3cfd98ab15a6196d9f4dfd25bc7ecc77d788d5  045c38bd9ae4b10e8a250857006f3cfd98ab15a6196d9f4dfd25bc7ecc77d788d5a84963ebff4abefe121a0d3c6bf9203faaef25898cda62686efbf64d1c6fb433
95  19eVSDuizydXxhohGh8Ki9WY9KsHdSwoQC  02967a5905d6f3b420959a02789f96ab4c3223a2c4d2762f817b7895c5bc88a045  04967a5905d6f3b420959a02789f96ab4c3223a2c4d2762f817b7895c5bc88a0459da9709f8e830ba5cea1d0426a261f0b9b5dda057478d8e6009ad7c4a8af6916
100  1KCgMv8fo2TPBpddVi9jqmMmcne9uSNJ5F  03d2063d40402f030d4cc71331468827aa41a8a09bd6fd801ba77fb64f8e67e617  04d2063d40402f030d4cc71331468827aa41a8a09bd6fd801ba77fb64f8e67e617875561c0bd6298fbf187053d33ffde9672edf2830e2cb961582431369fd53765




BurtW
Legendary
Offline
Activity: 2534
Merit: 1058
All paid signature campaigns should be banned.


August 06, 2019, 01:24:59 AM 

Thanks to JDScreesh and almightyruler, merit sent.

Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!



supika
Newbie
Offline
Activity: 19
Merit: 0


August 06, 2019, 12:48:01 PM 

Some Admin could you please delete the satoshidisk links with the ID C74Tfg from the posts of this tread? We don't what that people get scammed. Thanks!




BurtW
Legendary
Offline
Activity: 2534
Merit: 1058
All paid signature campaigns should be banned.


August 06, 2019, 10:04:09 PM Last edit: August 06, 2019, 10:47:58 PM by BurtW 

We made progress today and got our first positive test results. Thanks for the help in posting the public keys. That saved us some time. bits = 30 a = 0x20000000 b = 0x40000000 P = 0x30D282CF2FF536D2C42F105D0B8588821A915DC3F9A05BD98BB23AF67A2E92A5B s = 0x3D94CD64
bits = 31 a = 0x40000000 b = 0x80000000 P = 0x387DC70DB1806CD9A9A76637412EC11DD998BE666584849B3185F7F9313C8FD28 s = 0x7D4FE747
bits = 32 a = 0x80000000 b = 0x100000000 P = 0x209C58240E50E3BA3F833C82655E8725C037A2294E14CF5D73A5DF8D56159DE69 s = 0xB862A62E
Written in C using OpenSSL, very slow, we will work on efficiency later... bits is the number of bits of entropy in the private key a is the lower bound of the private key b is the upper bound of the private key P is the public key s is the private key found Still to do: add the CPU cycle timers

Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!



tandemtreter
Newbie
Offline
Activity: 1
Merit: 0


August 06, 2019, 10:08:58 PM 

She's Not Me sorry but someone is having fun Github / Saadinr file: 1034.12KB (fake) my file: 1194.3KB see it on my profile sory Lol the moderators and admins here are totally worthless.




Firebox
Newbie
Offline
Activity: 32
Merit: 0


August 07, 2019, 12:29:59 AM 

We made progress today and got our first positive test results. Thanks for the help in posting the public keys. That saved us some time.
You are genius, guys. If you need testers please consider me.




