boosting a database of sequential public keys with brute-force

13 replies 72 views
sage_moonSenior Member
Posts: 273 · Reputation: 1371
#1May 11, 2020, 10:17 PM
BigDb is one way to massively expand a database filled with sequentially arranged public keys. A Bloom filter is used to create and keep track of these sequential points. Creating the Database To whip up a database with 1 million points: Once it's up and running, a log file gets generated to keep track of the point count. In this case, the log will show that we have 1 million points. This log is super useful for both growing the database and doing precise searches. Example of Expanding the Database If we want to pile on another million points: We start generating points from where the log tells us to. So in this example, we'd go from 1 million to 2 million (since we're adding another million). Using the Database After our database is set up, we run: The -f flag reads from "30.txt" to determine the search range and the target public key, plus it builds a hash table with the -ht flag. Here's how the hash table works: It checks the log file to find out the size of our database. Then it deducts this amount (2 million in our sample) from the target as many times as indicated by -ht (1,000 in this case). This means subtracting 2 million from the public key 1,000 times in a row, temporarily saving all the intermediate results in the hash table. We've now boosted the range of our database by a factor of 1,000, so it now covers 2 billion points (2,000,000 * 1,000). Note that this enhancement does require more computing power for searches (more on that later). Search For the search in this case, we stick to good old brute force:
6 Reply Quote Share
L0neDegenSenior Member
Posts: 331 · Reputation: 1464
#2May 11, 2020, 11:36 PM
Hi thanks for this. Thought i would give win wsl a bash and get many build errors. First was SECP256k1.h renamed to SECP256K1.h fixed that Then secp256k1/Timer.h and bloom/bloom.h missing #include <cstdint> done that after that i now get In file included from bloom/bloom.cpp:6: /usr/include/openssl/md5.h:52:38: note: declared here    52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n, Now it builds but when running Bigdb -bs 1000000 it gives Bigdb: command not found Just a heads up maybe its my setup or maybe i smoked too much but i like tinkering with things like this so ill update when running. well that was quick got it running on wsl. ./BigDb -bs 1000000 didnt work for me renaming to ./Bigdb -bs 1000000 worked Bigdb v0.1(alpha) by Mcdouglasx [======================================================================] 100 % Now i can play.
0 Reply Quote Share
sage_moonSenior Member
Posts: 273 · Reputation: 1371
#3May 12, 2020, 05:50 AM
It is strange what you say, perhaps it is a problem with your WLS or missing libraries.
2 Reply Quote Share
L0neDegenSenior Member
Posts: 331 · Reputation: 1464
#4May 12, 2020, 07:24 AM
Possibly either way its working as you stated. So i generated the DB with 1,000,000 pubs and only 1 million then the search for puzzle 30 and 40 the results PrivateKey found: 1033162084 PublicKey: 030D282CF2FF536D2C42F105D0B8588821A915DC3F9A05BD98BB23AF67A2E92A5B Time to find key: 0.57816 seconds PrivateKey found: 995061478358 PublicKey: 03CCC97D220A22C4CA538882BD93BFC11356F5C57EC1B5DAEAE47D705C4689905A Time to find key: 2.62869 seconds still a lot more to play about with but nice times so far.
1 Reply Quote Share
omega_bearFull Member
Posts: 116 · Reputation: 780
#5May 12, 2020, 01:31 PM
keyhunt cant work with 1,000,000 point, all regivme's I was try. I make this : priv in outlut is a priv of substracted pubkey result: 3991 priv 0x100011a8f5b4002da0001f4 iIii 0x242276ecdc7ddee17700001 698945340000000000000000001 K 69894535 k 543992 priv 0x10000bef1e52203cfd801f4 iIii 0x24227ca6b3dfbed21980001 698947030000000000000000001 K 69894704 k 543993 priv 0x1000076d86ff0a82a5001f4 iIii 0x242281284b32d48c7200001 698948360000000000000000001 K 69894837 k 543994 priv 0x100001b3af9d2a9202801f4 iIii 0x242286e22294b47d1480001 698950050000000000000000001 K 69895006 k 543995 K this is total pubkeys k this is mach smaler pubkeys what is good  for brute Can you implement k to your scrypt with sach param: result: 784884 priv 0xc3d06aa7760afac0af iIii 0x34227c58cb8767ae6754146 1008431949999999999899156806 K 100843196 k 784885 priv 0x8bfa4b90a28ea2c116 iIii 0x34227fd62d78d4e62cd40df 1008432979999999999899156703 K 100843299 k 784886 priv 0x54242c79cf124ac17d iIii 0x342283538f6a421df254078 1008434009999999999899156600 K 100843402 k 784887 priv 0x1c4e0d62fb95f2c1e4 iIii 0x342286d0f15baf55b7d4011 1008435039999999999899156497 K 100843505 k 784888 so, 0x1c4e0d62fb95f2c1e4 - one pubkey 2^69 in 784888 pubkeys input key 2^90  0x34228895d231df0f17001f5 What you think
3 Reply Quote Share
ninj42016Full Member
Posts: 45 · Reputation: 251
#6May 12, 2020, 04:22 PM
I ran the below command and the BabyStep.bf file overwrites after it reached 2GB, could this be a bug? ./Bigdb -bs 1000000000
2 Reply Quote Share
sage_moonSenior Member
Posts: 273 · Reputation: 1371
#7May 12, 2020, 04:54 PM
It's not a bug, it's normal!
4 Reply Quote Share
ninj42016Full Member
Posts: 45 · Reputation: 251
#8May 13, 2020, 06:03 PM
How can I create a database with 1,000,000,000 or bigger?
1 Reply Quote Share
Posts: 5 · Reputation: 141
#9May 13, 2020, 10:41 PM
BloomFilter load successfully. terminate called after throwing an instance of 'std::out-of-range'   what():   stol Aborted (core dumped)
3 Reply Quote Share
sage_moonSenior Member
Posts: 273 · Reputation: 1371
#10May 14, 2020, 12:23 AM
You would need to optimize the Bloom filter to make it lighter like Keyhunt. Maybe you are using an incongruent hex range
0 Reply Quote Share
Posts: 5 · Reputation: 141
#11May 14, 2020, 06:48 AM
How to improve and optimize search computation speed. What is the maximum database that can be created?200,000,000Tested maximum value Maximum hexadecimal range 7FFFFFFFFFFFFFFF Tested maximum value The program cannot function beyond this value.
0 Reply Quote Share
sage_moonSenior Member
Posts: 273 · Reputation: 1371
#12May 16, 2020, 05:08 AM
This code is a proof of concept, it is not intended for that but optimizing bloom and integrating it into another algorithm such as bsgs would have better results.
4 Reply Quote Share
Posts: 5 · Reputation: 141
#13May 16, 2020, 06:54 AM
Can you further optimize the code to make it run in practice?
3 Reply Quote Share
sage_moonSenior Member
Posts: 273 · Reputation: 1371
#14May 16, 2020, 08:30 AM
Maybe next month if work allows me.
0 Reply Quote Share

Related topics