Pages:
Author

Topic: Keyhunt - development requests - bug reports - page 15. (Read 15221 times)

hero member
Activity: 630
Merit: 731
Bitcoin g33k
as keyhunt-cuda find successful the key for puzzle #65, shouldn't we expect that it works fine for #66, too ?
hero member
Activity: 862
Merit: 662
Maybe albert0bsd refer to bug of using -m address (single, NOT -m addresses ) which will miss the key.

Not is not that, the bloom filter that he is using have some bugs i report those bugs to the developer of the bloomfilter

https://github.com/jvirkki/libbloom/issues/20

But the developer update it some year before that, i solve by my own implementation.

I notify to KV but he didn't solve as far i can remember

So for small list of address it work fime, but for bigger lists it can fail.

I updated my bloom filter implementation to use xxhash (64 bits) instead of murmurhash (32bits), because with murmurhash if the number of addresses in the list, is near to 32 bits then the bloom may be some saturated because almost any data tha that you pass to the bloom filter will do a collision.

Look the original code in https://github.com/jvirkki/libbloom/blob/master/bloom.c#L57

With a 64 bit hash the problem will be solved, but the original bloom may never change it because compatibility reasons.

the KV version may have some other bugs but since it was some kind of copy of my keyhunt, i prefer to improve my own version than fix another versions.
jr. member
Activity: 61
Merit: 6
Maybe albert0bsd refer to bug of using -m address (single, NOT -m addresses ) which will miss the key.
full member
Activity: 1232
Merit: 242
Shooters Shoot...
I don't develop keyhunt-cuda, also I don't recommend it, it have some bugs that may missing some keys.

interesting. Can you provide some more detailled information and explain how to reproduce this issue ?
I second this!

Do tell albert0bsd, thank you!
hero member
Activity: 630
Merit: 731
Bitcoin g33k
I don't develop keyhunt-cuda, also I don't recommend it, it have some bugs that may missing some keys.

interesting. Can you provide some more detailled information and explain how to reproduce this issue ?
hero member
Activity: 862
Merit: 662
Dear albert0bsd,

Which GPU do you recommend on Keyhunt-Cuda?

Do you have information about benchmarking result on latest 3090, 4090 or Tesla 32gb cards?

I don't develop keyhunt-cuda, also I don't recommend it, it have some bugs that may missing some keys.

newbie
Activity: 6
Merit: 0
Dear albert0bsd,

Which GPU do you recommend on Keyhunt-Cuda?

Do you have information about benchmarking result on latest 3090, 4090 or Tesla 32gb cards?

I want to open this thread to talk about the tool that i develop Keyhunt available on github.

https://github.com/albertobsd/keyhunt

Telegram group

Keyhunt use the BSGS algorimth to find privatekeys with the publickey, the program runs on CPU and make several use of RAM to boost the speed.

To try to find the privatekey from the 120 puzzle you need to add this publickey "uncompress" to a txt file:

How to use

  • Add the publickey to a file


120.txt
Code:
02CEB6CBBCDBDF5EF7150682150F4CE2C6F4807B349827DCDBDD1F2EFA885A2630

you can run the tool agains that file:

Code:
./keyhunt -m bsgs -f 120.txt -b 120 -R


output

Code:
[+] Version 0.1.20210321 K*BSGS
[+] Setting mode BSGS
[+] Min range: 800000000000000000000000000000
[+] Max range: ffffffffffffffffffffffffffffff
[+] Setting random mode.
[+] Opening file 120.txt
[+] Added 1 points from file
[+] Bit Range 120
[+] Setting N up to 17592186044416.
[+] Init 1st bloom filter for 4194304 elements : 14.00 MB
[+] Init 2nd bloom filter for 209716 elements : 0.00 MB
[+] Allocating 128.0 MB for 4194304 aMP Points
[+] Precalculating 4194304 aMP points
[+] Allocating 3.00 MB for 209716 bP Points
[+] precalculating 4194304 bP points
[+] Sorting 209716 elements
[+] Thread 0: 000000000000000000000000000000000092dd2b47cff81ad94120bf853ef87f
[+] Thread 0: 0000000000000000000000000000000000f7fe7fccb98e136a97c2fa9d41de7b
[+] Thread 0: 00000000000000000000000000000000008d4882d7f596851a73ae35543c4dcd
Total 35184372088832 keys in 30 seconds: 1172812402961 keys/s
[+] Thread 0: 00000000000000000000000000000000009e80f97d3e3ff0fddbdcf02894e41d
^C

Speed: 1 Terakeys/s

Well in that example (same in github) we can reach 1Terakeys/s with one thread.

Wan to more speed? use the "-k value" param to boots the speed

Code:
./keyhunt -m bsgs -f 120.txt -b 120 -R -k 20

Output:

Code:
[+] Version 0.1.20210321 K*BSGS
[+] Setting mode BSGS
[+] Min range: 800000000000000000000000000000
[+] Max range: ffffffffffffffffffffffffffffff
[+] Setting random mode.
[+] Setting k factor to 20
[+] Opening file 120.txt
[+] Added 1 points from file
[+] Bit Range 120
[+] Setting N up to 17592253153280.
[+] Init 1st bloom filter for 83886080 elements : 287.00 MB
[+] Init 2nd bloom filter for 4194304 elements : 14.00 MB
[+] Allocating 6.0 MB for 209716 aMP Points
[+] Precalculating 209716 aMP points
[+] Allocating 64.00 MB for 4194304 bP Points
[+] precalculating 83886080 bP points

[+] Sorting 4194304 elements
(Thread output omited....)
Total 703690126131200 keys in 30 seconds: 23456337537706 keys/s
(More thread output omited....)
Total 2814760504524800 keys in 120 seconds: 23456337537706 keys/s

Speed: ~23 Terekeys/s

Tips

  • you can quiet the thread output with -q
  • you can load the precalcutalted bPtable -p yourfile.bin

Do you still want to more speed? Well Use more RAM, the -k 128 will use some 2.5 GB of RAM

This file will take some minutes for the value -k 128, but the speed worth it!

Code:
./keyhunt -m bsgs -f 120.txt -b 120 -R -k 128 -p ./bPfile.bin

Output:

Code:
[+] Version 0.1.20210321 K*BSGS
[+] Setting mode BSGS
[+] Min range: 800000000000000000000000000000
[+] Max range: ffffffffffffffffffffffffffffff
[+] Setting random mode.
[+] Setting k factor to 128
[+] Opening file 120.txt
[+] Added 1 points from file
[+] Bit Range 120
[+] Setting N up to 17592186044416.
[+] Init 1st bloom filter for 536870912 elements : 1840.00 MB
[+] Init 2nd bloom filter for 26843546 elements : 92.00 MB
[+] Allocating 1.0 MB for 32768 aMP Points
[+] Precalculating 32768 aMP points
[+] Allocating 409.00 MB for 26843546 bP Points
[+] Reading 536870912 bP points from file ./bPfile.bin
[+] Sorting 26843546 elements
(Thread output omited....)
Total 4345269952970752 keys in 30 seconds: 144842331765691 keys/s
(More thread output omited....)
Total 17539409486282752 keys in 120 seconds: 146161745719022 keys/s

Speed: ~146 Terakeys/s one single thread

OK at this point maybe you want to use ALL your RAM memory to solve the puzzle 120, just a bigger -k value

I already tested it with some 24 GB used with -k 1024 and I get 1.16 Petakeys/s per thread.

Using the same configuration with 4 threads I get 4.5 Petakeys/s total

Image:
https://albertobsd.dev/uploads/1616428067_bd1fc052-9441-4cbb-9bd1-d2e393489e18.jpg



FAQ

Q: Why the Progress is not displayed?
R: The speed depent of the number of target publickeys if you load 1000 publickeys, it will take some more time, the speed is only displayed when at least one thread finish one of his cycles

Q: Can we faster this code with Gpu?
R: Well yes, but the BSGS algo use RAM, only high end video cards have a lot of RAM, for GPU is better to use Kangaroo

Q: How long will take the scan the 120 bit range?
R: Human brain usually can't handle big numbers, the 120 bit space have 664613997892457936451903530140172287 (six hundred sixty four decillion...) and we speed is about 1000000000000 (one trillion or one terakey/s) the spected time acording with your speed is:
Code:
Puzzle 120 @ 1 Terakeys/s :     21074771622667996 years
Puzzle 120 @ 1 Petakeys/s :     21074771622667 years

Q: Why should i keep using brute force tools?
R: You should not, but people hope in luck.

Q: Is avaible for Windows?
R: Natively no, but you can install the ubuntu shell for windows and compile it from there

Q: It have dependencies?
R: Just libgmp for BigIntegers install it with

Code:
apt-get install  libgmp3-dev

Q: Why your program use alot of RAM?
R: Actuallly i keep in RAM two things (Bloomfilter and a Full bPTable ) im working in one way to remove or reduce the bPTable.


Nexts releases

  • BSGS with K factor Release in 6/March
  • Network/Pool versión
  • Pollard rho

Best regards!

hero member
Activity: 862
Merit: 662
Can use it for get ecdsa K value to recover Private key ?

Why you quoted all my post? Anyway your question is not specific, what are you trying to do? I know what are you talking about but do you know what are you trying to achieve? It is some special case?
jr. member
Activity: 32
Merit: 1
Guys how do I store a few GB of public keys/data in compressed format and when I have done it, do I need a tool to be able to read such data?

Because notepad becomes unresponsive when we load it with even less than a GB.
I'd appreciate if anyone can help.
Regards ~ dig.

Emeditor
copper member
Activity: 1330
Merit: 899
🖤😏
Guys how do I store a few GB of public keys/data in compressed format and when I have done it, do I need a tool to be able to read such data?

Because notepad becomes unresponsive when we load it with even less than a GB.
I'd appreciate if anyone can help.
Regards ~ dig.
hero member
Activity: 862
Merit: 662
Before I lose my mind, can someone please tell me, why is generating public keys and comparing them with target can reach Tk/s, but adding just a sha256 and a rmd160 could reduce the speed to Mk/s? I thought EC calculation was the hardest part of key generation process, is it not?

The difference is that with publickey you can apply Bsgs algorithm (you can do arithmetic operations with the publickey that are directly linked with the privatekey)

And the problem with hashes is that you can't do those operations ( well you can add them or Subtract them but the result is not linked to anything not publickey or privatekey).

About windows version i recommend to use it on the WSL environment.
member
Activity: 194
Merit: 14
Dear albert0bsd, We need as soon as possible a GPU version of Keyhunt  Cry puzzle 125 stands at 12.5 bitcoins now! This is a LOT OF money!

With as less as the lowest puzzle,(66), i can finally actually buy home now Cheesy
copper member
Activity: 1330
Merit: 899
🖤😏
Before I lose my mind, can someone please tell me, why is generating public keys and comparing them with target can reach Tk/s, but adding just a sha256 and a rmd160 could reduce the speed to Mk/s? I thought EC calculation was the hardest part of key generation process, is it not?

If I could reach Tk/s speed, it would be a giant leap for my research, is there any windows version?
hero member
Activity: 862
Merit: 662
Also, i think you have a little knowledge about how Bitcoin works

He knows more or less what he is talking about.

I think that method will be some inefficient, if you already have the publickeys i think that is better homologate the search to an only one Kind of search, all by Xpoint or rmd160 or addresses

Current search for address is this:
Code:
Publickeys->address->(search here)

What he proposes is something like:
Code:
Publickeys->(search here)->rmd160->(search here)->address->(search here)

But if you already have the publickets of your target then is more easy:
Code:
Publickeys->(search here by xpoint or BSGS)

Transform your publickeys to rmd160 search
Code:
Publickeys->rmd160->(search here by rmd hash)
member
Activity: 194
Merit: 14
OMG, Alberto guess what? I just discovered a new formula to attack 3 targets at the same time, there is a way to break ECC, SHA256- and RIPEMD-160 in one try, here is the procedure:
We perform *RIP-160 on public keys, and save the resulting addresses or just their hashes, and then we go after finding just one of them and when we find that one, we'll have a SHA-256 and a RIP-160 collision, but unfortunately that would break the ECC as well. Though in order to demonstrate how serious this attack could be, for the involved parties in development to see and think about the solution, we need to do this with all our forces combined.

So to everyone let's pool our shitty hardware together in order to prove our point, who is with me? Lol.


lol

I seriously didn't understand anything. What are you talking about?  Please don't join this forum if you're drunk.

Also, i think you have a little knowledge about how Bitcoin works

Thank you
copper member
Activity: 1330
Merit: 899
🖤😏
OMG, Alberto guess what? I just discovered a new formula to attack 3 targets at the same time, there is a way to break ECC, SHA256- and RIPEMD-160 in one try, here is the procedure:
We perform *RIP-160 on public keys, and save the resulting addresses or just their hashes, and then we go after finding just one of them and when we find that one, we'll have a SHA-256 and a RIP-160 collision, but unfortunately that would break the ECC as well. Though in order to demonstrate how serious this attack could be, for the involved parties in development to see and think about the solution, we need to do this with all our forces combined.

So to everyone let's pool our shitty hardware together in order to prove our point, who is with me? Lol.

*= we should call it that, "Rest In Peace" soldier from now on because we are here.🤣
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Can i ask you, how long did it take to you to be this good at C/C++? How did you practice? A little tips would be so good for us

I learn to develop C, twenty years ago,. But some of those years I didn't develop or practice anything. I just learn some others computer languages.

So I only have some 5-6 years of experience in that language.

About tips, learn to do algorithms and flowchars for computer programming.
Search for the regional and mundial ICPC problem set and solve it in less than a 24 hrs (Those algorithm problems are made to be solve in 3-4 hrs).

I am not a genius, I am just an average programmer, well that is what I think, i have some problems finding a good job, maybe I am part of those who knows something well enough to know all things that I don't know, aka dunning kruger effect

That amount of experience is enough to make you a professional (for context, I have about half that amount), but it seems that CUDA is becoming something of an Achilles heel for me, not because of the lack of hardware or anything but because the GPU chip is so fundamentally different from the CPU.
hero member
Activity: 862
Merit: 662
Can i ask you, how long did it take to you to be this good at C/C++? How did you practice? A little tips would be so good for us

I learn to develop C, twenty years ago,. But some of those years I didn't develop or practice anything. I just learn some others computer languages.

So I only have some 5-6 years of experience in that language.

About tips, learn to do algorithms and flowchars for computer programming.
Search for the regional and mundial ICPC problem set and solve it in less than a 24 hrs (Those algorithm problems are made to be solve in 3-4 hrs).

I am just an average programmer, well that is what I think, i have some problems finding a good job, maybe I am part of those who knows something well enough to know all things that I don't know, aka dunning kruger effect
member
Activity: 194
Merit: 14

Thank you, yes there is nothing to be worried because I didn't anything.

Exactly.

Wow, that's awesome!! Thank you so much Alberto! You are one of the few geniuses left that are still active programming new things.
Can i ask you, how long did it take to you to be this good at C/C++? How did you practice? A little tips would be so good for us, because we also want to be like you  Grin

Maybe if we manage to make BSGS a little bit more faster, added GPU to it, we could probably hit puzzle #125 with small chances. Who knows. It's luck in the end using Random.

hero member
Activity: 862
Merit: 662
which has a potential of endangering billions of dollars investments.

I did my program for puzzles and I recommend to everyone stay in puzzles. I need to add a disclaimer in the github repository

I would definitely avoid revealing street address or even the name of the city however. It helps a lot.

Yes i know that now, in the bad way... Sad

There is nothing to be worried of.

Thank you, yes there is nothing to be worried because I didn't anything.

By my mental health i prefer not talk about that topic anymore.

By the way, i just found a way to double the current speed of keyhunt in BSGS mode, it need a lot of changes in the code i will work in that soon.
Pages:
Jump to: