Daltonik
Legendary
Offline
Activity: 2604
Merit: 1504
|
|
September 08, 2019, 06:08:24 AM |
|
My new =>STABLE<= record on BitCrack :-) NV Tesla || The unstable setting showed me 1615, but it jumps from 1585 every reading. ||Great, overclocked card? and what values for -b -t -p did you use, I did not get more than 1250 Mkey/s
|
|
|
|
JDScreesh
Jr. Member
Offline
Activity: 47
Merit: 13
|
|
September 08, 2019, 11:10:07 AM |
|
Congratulations to the winner who had found the #62 I wonder which was the privkey
|
|
|
|
bulleteyedk
Jr. Member
Offline
Activity: 94
Merit: 3
|
|
September 08, 2019, 11:31:30 AM |
|
ahh yes i also see the #62 wallet have been emptied, really exited to know the priv. key hex value, as to know how close i was hitting it congrats to who ever hit it
|
|
|
|
almightyruler
Legendary
Offline
Activity: 2268
Merit: 1092
|
|
September 08, 2019, 12:28:54 PM |
|
Congratulations to the winner who had found the #62 I wonder which was the privkey Pubkey is 03231a67e424caf7d01a00d5cd49b0464942255b8e48766f96602bdfa4ea14fea8 I'm going to try cracking it with baby step giant step, but I think I'm right at the edge of memory that my compiler can allocate for the table. Trying it anyway. Hopefully the person who claimed the prize is just waiting for several confirms before revealing the details. Or they're asleep
|
|
|
|
JDScreesh
Jr. Member
Offline
Activity: 47
Merit: 13
|
|
September 08, 2019, 12:40:05 PM |
|
Congratulations to the winner who had found the #62 I wonder which was the privkey Pubkey is 03231a67e424caf7d01a00d5cd49b0464942255b8e48766f96602bdfa4ea14fea8 I'm going to try cracking it with baby step giant step, but I think I'm right at the edge of memory that my compiler can allocate for the table. Trying it anyway. Hopefully the person who claimed the prize is just waiting for several confirms before revealing the details. Or they're asleep Great! Thanks for your help. I'm trying with the Pollard Kangaroo script. Let's see how much it'll take
|
|
|
|
almightyruler
Legendary
Offline
Activity: 2268
Merit: 1092
|
|
September 08, 2019, 12:44:55 PM |
|
I'm trying with the Pollard Kangaroo script. Let's see how much it'll take Isn't it inaccurate for higher bit counts? [bits] 2^62 (warn: too big!)It's also very slow, at least for lower bits (3+ hours to crack 50 bits). BSGS cracked 50 bits in 94 seconds, but it needs exponentially growing amounts of memory.
|
|
|
|
JDScreesh
Jr. Member
Offline
Activity: 47
Merit: 13
|
|
September 08, 2019, 12:59:05 PM |
|
I'm trying with the Pollard Kangaroo script. Let's see how much it'll take Isn't it inaccurate for higher bit counts? [bits] 2^62 (warn: too big!)It's also very slow, at least for lower bits (3+ hours to crack 50 bits). BSGS cracked 50 bits in 94 seconds, but it needs exponentially growing amounts of memory. I don't have the BSGS script, so I'm trying some other codes.
|
|
|
|
almightyruler
Legendary
Offline
Activity: 2268
Merit: 1092
|
|
September 08, 2019, 01:30:37 PM Last edit: September 08, 2019, 01:44:20 PM by almightyruler |
|
I don't have the BSGS script, so I'm trying some other codes. C source code: https://gist.github.com/jhoenicke/2e39b3c6c49b1d7b216b8626197e4b89A bit dated now as it only has the first 51 keys. I changed the GSTEP value from (1<<25) to (1<<29) (table size increases from 0.5GB to 8GB), but trying 30 or anything larger bombs out at compile time. Creating the 8GB table (before it even starts working on the cracking) is also taking a long, long time. And once it starts cracking it will take at least 8-10 hours (assuming crack time scales linearly). Maybe by then the winner will have posted here, and voided all of our work. Edit: I managed to get it to compile and run with a 16GB table. I think this will be sufficient to crack key #62.
|
|
|
|
zielar (OP)
|
|
September 08, 2019, 02:08:33 PM |
|
The key table in the main thread has been updated with key #62
|
If you want - you can send me a donation to my BTC wallet address 31hgbukdkehcuxcedchkdbsrygegyefbvd
|
|
|
almightyruler
Legendary
Offline
Activity: 2268
Merit: 1092
|
|
September 08, 2019, 02:15:43 PM |
|
The key table in the main thread has been updated with key #62
Did you find it?
|
|
|
|
zielar (OP)
|
|
September 08, 2019, 02:19:31 PM |
|
Yes
|
If you want - you can send me a donation to my BTC wallet address 31hgbukdkehcuxcedchkdbsrygegyefbvd
|
|
|
virus-cyber
Newbie
Offline
Activity: 26
Merit: 0
|
|
September 08, 2019, 02:28:16 PM |
|
now when the account brichard19 1LqJ9cHPKxPXDRia4tteTJdLXnisnfHsof replenish
|
|
|
|
PietCoin97
Jr. Member
Offline
Activity: 91
Merit: 3
|
|
September 08, 2019, 03:55:50 PM |
|
so now 64 bit Good luck for everyone
|
|
|
|
supika
Newbie
Offline
Activity: 43
Merit: 0
|
|
September 08, 2019, 04:30:56 PM Last edit: September 08, 2019, 04:47:11 PM by supika |
|
so now 64 bit Good luck for everyone What is the key space range for 64? 8000000000000000:ffffffffffffffff ?
|
|
|
|
bigvito19
|
|
September 08, 2019, 07:28:13 PM Last edit: October 17, 2019, 12:24:16 PM by bigvito19 |
|
01 0000000000000000000000000000000000000000000000000000000000000001 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH 02 0000000000000000000000000000000000000000000000000000000000000003 1CUNEBjYrCn2y1SdiUMohaKUi4wpP326Lb 03 0000000000000000000000000000000000000000000000000000000000000007 19ZewH8Kk1PDbSNdJ97FP4EiCjTRaZMZQA 04 0000000000000000000000000000000000000000000000000000000000000008 1EhqbyUMvvs7BfL8goY6qcPbD6YKfPqb7e 05 0000000000000000000000000000000000000000000000000000000000000015 1E6NuFjCi27W5zoXg8TRdcSRq84zJeBW3k 06 0000000000000000000000000000000000000000000000000000000000000031 1PitScNLyp2HCygzadCh7FveTnfmpPbfp8 07 000000000000000000000000000000000000000000000000000000000000004c 1McVt1vMtCC7yn5b9wgX1833yCcLXzueeC 08 00000000000000000000000000000000000000000000000000000000000000e0 1M92tSqNmQLYw33fuBvjmeadirh1ysMBxK 09 00000000000000000000000000000000000000000000000000000000000001d3 1CQFwcjw1dwhtkVWBttNLDtqL7ivBonGPV 10 0000000000000000000000000000000000000000000000000000000000000202 1LeBZP5QCwwgXRtmVUvTVrraqPUokyLHqe 11 0000000000000000000000000000000000000000000000000000000000000483 1PgQVLmst3Z314JrQn5TNiys8Hc38TcXJu 12 0000000000000000000000000000000000000000000000000000000000000a7b 1DBaumZxUkM4qMQRt2LVWyFJq5kDtSZQot 13 0000000000000000000000000000000000000000000000000000000000001460 1Pie8JkxBT6MGPz9Nvi3fsPkr2D8q3GBc1 14 0000000000000000000000000000000000000000000000000000000000002930 1ErZWg5cFCe4Vw5BzgfzB74VNLaXEiEkhk 15 00000000000000000000000000000000000000000000000000000000000068f3 1QCbW9HWnwQWiQqVo5exhAnmfqKRrCRsvW 16 000000000000000000000000000000000000000000000000000000000000c936 1BDyrQ6WoF8VN3g9SAS1iKZcPzFfnDVieY 17 000000000000000000000000000000000000000000000000000000000001764f 1HduPEXZRdG26SUT5Yk83mLkPyjnZuJ7Bm 18 000000000000000000000000000000000000000000000000000000000003080d 1GnNTmTVLZiqQfLbAdp9DVdicEnB5GoERE 19 000000000000000000000000000000000000000000000000000000000005749f 1NWmZRpHH4XSPwsW6dsS3nrNWfL1yrJj4w 20 00000000000000000000000000000000000000000000000000000000000d2c55 1HsMJxNiV7TLxmoF6uJNkydxPFDog4NQum 21 00000000000000000000000000000000000000000000000000000000001ba534 14oFNXucftsHiUMY8uctg6N487riuyXs4h 22 00000000000000000000000000000000000000000000000000000000002de40f 1CfZWK1QTQE3eS9qn61dQjV89KDjZzfNcv 23 0000000000000000000000000000000000000000000000000000000000556e52 1L2GM8eE7mJWLdo3HZS6su1832NX2txaac 24 0000000000000000000000000000000000000000000000000000000000dc2a04 1rSnXMr63jdCuegJFuidJqWxUPV7AtUf7 25 0000000000000000000000000000000000000000000000000000000001fa5ee5 15JhYXn6Mx3oF4Y7PcTAv2wVVAuCFFQNiP 26 000000000000000000000000000000000000000000000000000000000340326e 1JVnST957hGztonaWK6FougdtjxzHzRMMg 27 0000000000000000000000000000000000000000000000000000000006ac3875 128z5d7nN7PkCuX5qoA4Ys6pmxUYnEy86k 28 000000000000000000000000000000000000000000000000000000000d916ce8 12jbtzBb54r97TCwW3G1gCFoumpckRAPdY 29 0000000000000000000000000000000000000000000000000000000017e2551e 19EEC52krRUK1RkUAEZmQdjTyHT7Gp1TYT 30 000000000000000000000000000000000000000000000000000000003d94cd64 1LHtnpd8nU5VHEMkG2TMYYNUjjLc992bps 31 000000000000000000000000000000000000000000000000000000007d4fe747 1LhE6sCTuGae42Axu1L1ZB7L96yi9irEBE 32 00000000000000000000000000000000000000000000000000000000b862a62e 1FRoHA9xewq7DjrZ1psWJVeTer8gHRqEvR 33 00000000000000000000000000000000000000000000000000000001a96ca8d8 187swFMjz1G54ycVU56B7jZFHFTNVQFDiu 34 000000000000000000000000000000000000000000000000000000034a65911d 1PWABE7oUahG2AFFQhhvViQovnCr4rEv7Q 35 00000000000000000000000000000000000000000000000000000004aed21170 1PWCx5fovoEaoBowAvF5k91m2Xat9bMgwb 36 00000000000000000000000000000000000000000000000000000009de820a7c 1Be2UF9NLfyLFbtm3TCbmuocc9N1Kduci1 37 0000000000000000000000000000000000000000000000000000001757756a93 14iXhn8bGajVWegZHJ18vJLHhntcpL4dex 38 00000000000000000000000000000000000000000000000000000022382facd0 1HBtApAFA9B2YZw3G2YKSMCtb3dVnjuNe2 39 0000000000000000000000000000000000000000000000000000004b5f8303e9 122AJhKLEfkFBaGAd84pLp1kfE7xK3GdT8 40 000000000000000000000000000000000000000000000000000000e9ae4933d6 1EeAxcprB2PpCnr34VfZdFrkUWuxyiNEFv 41 00000000000000000000000000000000000000000000000000000153869acc5b 1L5sU9qvJeuwQUdt4y1eiLmquFxKjtHr3E 42 000000000000000000000000000000000000000000000000000002a221c58d8f 1E32GPWgDyeyQac4aJxm9HVoLrrEYPnM4N 43 000000000000000000000000000000000000000000000000000006bd3b27c591 1PiFuqGpG8yGM5v6rNHWS3TjsG6awgEGA1 44 00000000000000000000000000000000000000000000000000000e02b35a358f 1CkR2uS7LmFwc3T2jV8C1BhWb5mQaoxedF 45 0000000000000000000000000000000000000000000000000000122fca143c05 1NtiLNGegHWE3Mp9g2JPkgx6wUg4TW7bbk 46 00000000000000000000000000000000000000000000000000002ec18388d544 1F3JRMWudBaj48EhwcHDdpeuy2jwACNxjP 47 00000000000000000000000000000000000000000000000000006cd610b53cba 1Pd8VvT49sHKsmqrQiP61RsVwmXCZ6ay7Z 48 0000000000000000000000000000000000000000000000000000ade6d7ce3b9b 1DFYhaB2J9q1LLZJWKTnscPWos9VBqDHzv 49 000000000000000000000000000000000000000000000000000174176b015f4d 12CiUhYVTTH33w3SPUBqcpMoqnApAV4WCF 50 00000000000000000000000000000000000000000000000000022bd43c2e9354 1MEzite4ReNuWaL5Ds17ePKt2dCxWEofwk 51 00000000000000000000000000000000000000000000000000075070a1a009d4 1NpnQyZ7x24ud82b7WiRNvPm6N8bqGQnaS 52 000000000000000000000000000000000000000000000000000efae164cb9e3c 15z9c9sVpu6fwNiK7dMAFgMYSK4GqsGZim 53 00000000000000000000000000000000000000000000000000180788e47e326c 15K1YKJMiJ4fpesTVUcByoz334rHmknxmT 54 00000000000000000000000000000000000000000000000000236fb6d5ad1f43 1KYUv7nSvXx4642TKeuC2SNdTk326uUpFy 55 000000000000000000000000000000000000000000000000006abe1f9b67e114 1LzhS3k3e9Ub8i2W1V8xQFdB8n2MYCHPCa 56 000000000000000000000000000000000000000000000000009d18b63ac4ffdf 17aPYR1m6pVAacXg1PTDDU7XafvK1dxvhi 57 00000000000000000000000000000000000000000000000001eb25c90795d61c 15c9mPGLku1HuW9LRtBf4jcHVpBUt8txKz 58 00000000000000000000000000000000000000000000000002c675b852189a21 1Dn8NF8qDyyfHMktmuoQLGyjWmZXgvosXf 59 00000000000000000000000000000000000000000000000007496cbb87cab44f 1HAX2n9Uruu9YDt4cqRgYcvtGvZj1rbUyt 60 0000000000000000000000000000000000000000000000000fc07a1825367bbe 1Kn5h2qpgw9mWE5jKpk8PP4qvvJ1QVy8su 61 00000000000000000000000000000000000000000000000013C96A3742F64906 1AVJKwzs9AskraJLGHAZPiaZcrpDr1U6AB 62 000000000000000000000000000000000000000000000000363D541EB611ABEE 1Me6EfpwZK5kQziBwBfvLiHjaPGxCKLoJi 63 0000000000000000000000000000000000000000000000007CCE5EFDACCF6808 1NpYjtLira16LfGbGwZJ5JbDPh3ai9bjf4
65 000000000000000000000000000000000000000000000001A838B13505B26867 18ZMbwUFLMHoZBbfpCjUJQTCMCbktshgpe
70 0000000000000000000000000000000000000000000000349B84B6431A6C4EF1 19YZECXj3SxEZMoUeJ1yiPsw8xANe7M7QR
75 0000000000000000000000000000000000000000000004C5CE114686A1336E07 1J36UjUByGroXcCvmj13U6uwaVv9caEeAt 80 00000000000000000000000000000000000000000000ea1a5c66dcc11b5ad180 1BCf6rHUW6m3iH2ptsvnjgLruAiPQQepLe
85 00000000000000000000000000000000000000000011720c4f018d51b8cebba8 1Kh22PvXERd2xpTQk3ur6pPEqFeckCJfAr
90 000000000000000000000000000000000000000002ce00bb2136a445c71e85bf 1L12FHH2FHjvTviyanuiFVfmzCy46RRATU
95 0000000000000000000000000000000000000000527a792b183c7f64a0e8b1f4 19eVSDuizydXxhohGh8Ki9WY9KsHdSwoQC
100 000000000000000000000000000000000000000af55fc59c335c8ec67ed24826 1KCgMv8fo2TPBpddVi9jqmMmcne9uSNJ5F
105 000000000000000000000000000000000000016f14fc2054cd87ee6396b33df3 1CMjscKB3QW7SDyQ4c3C3DEUHiHRhiZVib
|
|
|
|
almightyruler
Legendary
Offline
Activity: 2268
Merit: 1092
|
|
September 09, 2019, 12:55:24 AM |
|
Congratulations to the winner who had found the #62 I wonder which was the privkey Pubkey is 03231a67e424caf7d01a00d5cd49b0464942255b8e48766f96602bdfa4ea14fea8 I'm going to try cracking it with baby step giant step, ....... Results of baby-step giant-step return a garbage key: Build Hash Search Keys Found private key 62: 170c925af4bb843b or 170c925b0b447bc5 (9601 sec)Neither of these keys map to the puzzle address (or any address in use) Not sure if it's due to something like an overflow, or my tricks to use more memory are flawed, or the algorithm itself breaks down at this level.
|
|
|
|
Darmont33
Newbie
Offline
Activity: 18
Merit: 0
|
|
September 09, 2019, 06:03:43 AM |
|
Here is the code with my changes import time import random import gmpy2 import math import sys
modulo = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F order = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798 Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
class Point: def __init__(self, x=0, y=0): self.x = x self.y = y
PG = Point(Gx,Gy) Z = Point(0,0) # zero-point, infinite in real x,y - plane
# return (g, x, y) a*x + b*y = gcd(x, y) def egcd(a, b): if a == 0: return (b, 0, 1) else: g, x, y = egcd(b % a, a) return (g, y - (b // a) * x, x)
def rev(b, n = modulo): while b < 0: b += modulo g, x, _ = egcd(b, n) if g == 1: return x % n def mul2(P, p = modulo): R = Point() # c = 3*P.x*P.x*rev(2*P.y, p) % p c = 3*P.x*P.x*gmpy2.invert(2*P.y, p) % p R.x = (c*c-2*P.x) % p R.y = (c*(P.x - R.x)-P.y) % p return R
def add(P, Q, p = modulo): R = Point() dx = Q.x - P.x dy = Q.y - P.y c = dy * gmpy2.invert(dx, p) % p #c = dy * rev(dx, p) % p R.x = (c*c - P.x - Q.x) % p R.y = (c*(P.x - R.x) - P.y) % p return R # 6 sub, 3 mul, 1 inv
def mulk(k, P = PG, p = modulo): if k == 0: return Z elif k == 1: return P elif (k % 2 == 0): return mulk(k/2, mul2(P, p), p) else: return add(P, mulk( (k-1)/2, mul2(P, p), p), p)
def X2Y(X, p = modulo): if p % 4 != 3: print ('prime must be 3 modulo 4') return 0 X = (X**3+7)%p pw = (p + 1) // 4 Y = 1 for w in range(256): if (pw >> w) & 1 == 1: tmp = X for k in range(w): tmp = (tmp**2)%p Y *= tmp Y %= p return Y
def comparator(): A, Ak, B, Bk = [], [], [], [] with open('tame.txt') as f: for line in f: L = line.split() a = int(L[0],16) b = int(L[1],16) A.append(a) Ak.append(b) with open('wild.txt') as f: for line in f: L = line.split() a = int(L[0],16) b = int(L[1],16) B.append(a) Bk.append(b) result = list(set(A) & set(B)) if len(result) > 0: sol_kt = A.index(result[0]) sol_kw = B.index(result[0]) print ('total time: %.2f sec' % (time.time()-starttime)) d = Ak[sol_kt] - Bk[sol_kw] print ('SOLVED: %64X' % d + '\n') file = open("results.txt",'a') file.write(('%X'%(Ak[sol_kt] - Bk[sol_kw])) + "\n") file.write("---------------\n") file.close() return True else: return False
def check(P, Pindex, DP_rarity, file2save): if P.x % (DP_rarity) == 0: file = open(file2save,'a') file.write(('%064X %064X'%(P.x,Pindex)) + "\n") file.close() return comparator() else: return False P = [PG] for k in range(255): P.append(mul2(P[k])) print ('P-table prepared')
def search(a,b): global solved s=(a+b)>>1 d=(b-a) problem=int(math.log(d,2)) # print(a,b,s,d,'\n') DP_rarity = 1 << ((problem - 2*kangoo_power)//2 - 2) hop_modulo = ((problem-1)// 2) + kangoo_power T, t, dt = [], [], [] W, w, dw = [], [], [] for k in range(Nt): qtf= s qtr= random.randint(1,d) # print('tame\n',qtf,qtr) qt=qtf+qtr t.append(qt) T.append(mulk(t[k])) dt.append(0) for k in range(Nw): qw=(random.randint(1, d)) # print('wild\n',qw) w.append(qw) W.append(add(W0,mulk(w[k]))) dw.append(0) print ('tame and wild herds are prepared') oldtime = time.time() starttime = oldtime Hops, Hops_old = 0, 0 t0 = time.time() oldtime = time.time() starttime = oldtime while (1): for k in range(Nt): Hops += 1 pw = T[k].x % hop_modulo dt[k] = 1 << pw solved = check(T[k], t[k], DP_rarity, "tame.txt") if solved: break t[k] += dt[k] T[k] = add(P[pw], T[k]) if solved: break for k in range(Nw): Hops += 1 pw = W[k].x % hop_modulo dw[k] = 1 << pw solved = check(W[k], w[k], DP_rarity, "wild.txt") if solved: break w[k] += dw[k] W[k] = add(P[pw], W[k]) if solved: break t1 = time.time() if (t1-t0) > 5: print ('%.3f h/s'%((Hops-Hops_old)/(t1-t0))) t0 = t1 Hops_old = Hops hops_list.append(Hops) print ('Hops:', Hops) return 'sol. time: %.2f sec' % (time.time()-starttime)
s=sys.argv[1] sa = sys.argv[2] sb = sys.argv[3] sk = sys.argv[4] a = int(sa, 16) b = int(sb, 16) kangoo_power = int(sk, 10) Nt = Nw = 2**kangoo_power X = int(s, 16) Y = X2Y(X % (2**256)) if Y % 2 != (X >> 256) % 2: Y = modulo - Y X = X % (2**256) W0 = Point(X,Y) starttime = oldtime = time.time() Hops = 0 random.seed()
hops_list = []
solved = False open("tame.txt",'w').close() open("wild.txt",'w').close() search(a,b)
Example (case 32) python kang.py 0387dc70db1806cd9a9a76637412ec11dd998be666584849b3185f7f9313c8fd28 80000000 FFFFFFFF 3 (the last number 3 is the kangooro_power) P-table prepared tame and wild herds are prepared total time: 0.21 sec SOLVED: 7D4FE747 ('Hops:', 23072) Hey, nice work! and congratulations to the key opener 62! Please clarify the following situation .. File tame.txt .. What is the significance of the intensity of filling this file? For example, in one range it is not recorded at all, and the range is slightly different and the file has a size of 2MB in 1 day... thx
|
|
|
|
PrivatePerson
Member
Offline
Activity: 174
Merit: 12
|
|
September 09, 2019, 11:20:35 AM |
|
Suppose I know that the private key for the public (32 bit) 0209c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de69 is in the range of 1-50 bits, can I run a script with an unknown bit size in the range of 1-50?
|
|
|
|
almightyruler
Legendary
Offline
Activity: 2268
Merit: 1092
|
|
September 09, 2019, 11:30:44 AM |
|
Suppose I know that the private key for the public (32 bit) 0209c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de69 is in the range of 1-50 bits, can I run a script with an unknown bit size in the range of 1-50?
The Pollard-Kangaroo script from this message seems to find keys even when the specified bit size doesn't match the key mask, but it does take longer. I guess the bits parameter is a hint at where to start searching, rather than a maximum search space limit. For example, both of these runs will find key #32 (b862a62e) pollard_kangaroo.py 34 0209c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de69 pollard_kangaroo.py 30 0209c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de69
|
|
|
|
PrivatePerson
Member
Offline
Activity: 174
Merit: 12
|
|
September 09, 2019, 12:37:34 PM |
|
How much time should a search for a 50-bit key take? If I put a 50-bit key in a 50-bit range, this happens quickly, but a 32-bit key in a 50-bit range has not yet been found.
|
|
|
|
|