Author

Topic: Vanitygen: Vanity bitcoin address generator/miner [v0.22] - page 188. (Read 1153383 times)

full member
Activity: 140
Merit: 430
Firstbits: 1samr7
I just tried running the windows binary, but get the error "vanitygen.exe - Entry Point Not Found; The procedure entry point GetActiveProcessorCount could not be located in the dynamic link library KERNEL32.dll"

Am I missing a dependency?

Yep, you were missing a major dependency: Windows 7.  Cheesy

Sorry about that.  Version 0.7 is up now, and has been tested on XP SP3.
hero member
Activity: 518
Merit: 500
I just tried running the windows binary, but get the error "vanitygen.exe - Entry Point Not Found; The procedure entry point GetActiveProcessorCount could not be located in the dynamic link library KERNEL32.dll"

Am I missing a dependency?
legendary
Activity: 1400
Merit: 1005
New error.  Cheesy

Quote
Could not add prefix '1worLd': overlapping?

I get this for a good number of targets.  Can't see a particular pattern to the ones that error out, and they are only in the list once...

New version 0.6 is now up.  This version should be more specific about which prefixes it thinks overlap each other.  Try it out and let me know what you find.
Thanks, that definitely helps!  I just didn't understand what the error meant, but this makes it crystal clear.
full member
Activity: 140
Merit: 430
Firstbits: 1samr7
New error.  Cheesy

Quote
Could not add prefix '1worLd': overlapping?

I get this for a good number of targets.  Can't see a particular pattern to the ones that error out, and they are only in the list once...

New version 0.6 is now up.  This version should be more specific about which prefixes it thinks overlap each other.  Try it out and let me know what you find.
legendary
Activity: 1400
Merit: 1005
New error.  Cheesy

Quote
Could not add prefix '1worLd': overlapping?

I get this for a good number of targets.  Can't see a particular pattern to the ones that error out, and they are only in the list once...
full member
Activity: 140
Merit: 430
Firstbits: 1samr7
The source code in the original article doesn't seem to be complete, where can I download the full .c file?  Please put it on github or a dropbox or something.

Oh my, the forum truncated that post and left the code tag open.  Sorry about that, the source code is up on github now, and pastebin.
legendary
Activity: 1400
Merit: 1005
Can results be logged to a text file?

Add '> file' to the command line. The greater-than character means "redirect output to file".


It can.  The -r switch was the trick.

I assumed you were using it Smiley.
Thanks.  Thought I tried '> file' already, but maybe it failed because I didn't use a space.

Haha, and rightly so!  It's even in the help file shown...  I failed, my bad.
legendary
Activity: 1974
Merit: 1029
Can results be logged to a text file?

Add '> file' to the command line. The greater-than character means "redirect output to file".


It can.  The -r switch was the trick.

I assumed you were using it Smiley.
hero member
Activity: 566
Merit: 500
Unselfish actions pay back better
The source code in the original article doesn't seem to be complete, where can I download the full .c file?  Please put it on github or a dropbox or something.

Cheers,
legendary
Activity: 1400
Merit: 1005
Regardless, still getting the invalid character '[' error without pipes in the text file.  Any other suggestions?

What's the exact error message?  Is it, "Invalid character '[' in prefix?"

The only suggestion (which might get me in trouble) is to run with "-r".

So can the brackets [] not be used for finding an address with a specific prefix?
It can.  The -r switch was the trick.
hero member
Activity: 546
Merit: 500
Regardless, still getting the invalid character '[' error without pipes in the text file.  Any other suggestions?

What's the exact error message?  Is it, "Invalid character '[' in prefix?"

The only suggestion (which might get me in trouble) is to run with "-r".

So can the brackets [] not be used for finding an address with a specific prefix?
legendary
Activity: 1400
Merit: 1005
Ok, last request I promise.  Cheesy

Can results be logged to a text file?
full member
Activity: 140
Merit: 430
Firstbits: 1samr7
Regardless, still getting the invalid character '[' error without pipes in the text file.  Any other suggestions?

What's the exact error message?  Is it, "Invalid character '[' in prefix?"

The only suggestion (which might get me in trouble) is to run with "-r".
full member
Activity: 140
Merit: 430
Firstbits: 1samr7
I just pasted version 0.5.

  • Now with worker threads and CPU count detection, suggested by davux and others
  • Exact prefixes can now be matched case-insensitively with "-i", for SgtSpike
  • Fixed an integer overflow problem with the status display

By default, it will use all available CPU cores.  If you want the old single-threaded behavior, run with "-t 1".
legendary
Activity: 1974
Merit: 1029
I have the targets stored in a text file.  [...] It seemed that the command window changed the double quotes to an o with two dots over it

Hmm, that's probably due to some encoding issue. Why don't you try generating things step by step? First a plain "1", which should always succeed, then "1a", then "1a" inside a file (no quotes needed), then "1[Aa]" in the command line (unquoted, single and double), then the same in a file... until it bombs.
member
Activity: 112
Merit: 10
Firstbits: 1yetiax
I have the targets stored in a text file.  I tried encapsulating each regex in single and double quotes, both errored out.  It seemed that the command window changed the double quotes to an o with two dots over it, and the single quotes to one of those AE letter combos.  Not sure what's up with that.

Regardless, still getting the invalid character '[' error without pipes in the text file.  Any other suggestions?
You mean like ö and æ? Wink Seems the character encoding is off, though it could only be a display error if you use an SSH session.
Usually " and ' shouldn't give "funny" characters, because they are even contained in 7-bit ASCII. Thus no collision when using different 8-bit encodings. Problems usually arise when the shell uses "fancy" quotation marks like ‘, ’, “ or ”, which are not contained in all character sets / have a different byte interpretation in other charsets.
legendary
Activity: 1072
Merit: 1181
If you tell me your address, i only need 2^160 attempts (=EC multiplication + hashing) to find a private key whose address collides. That's all i need to steal your funds.

Hence, unless you use send-to-pubkey (which the default client only uses for generations), bitcoin keys have a security level of no more than 160 bits.
sr. member
Activity: 252
Merit: 250
That's not entirely true: as addresses are only 160 bits, it suffices to try 2^160 private keys to have a reasonable chance of finding one that matches a given address. Thus, a private key only needs 160 of randomness.

Th 160-bit reduction of addresses of public keys is a way to keep shorter chains with still good collision resistance. But inside this, there is a true 256-bit public key

Thus, the task-force needed to blow up a private key (that is: the number of tries in EC-product in order to find one private key that matches the targeted public key) is ~2^256 because the EC-multiplier is just a 256 bit number (a 78-decimal-digit integer, if you want).

If you resign 96 bits of good entroy, you are giving a chance to an attacker to resolve your priv. key after 2^160 tries. It is still huge but... why resign the full strength of the elliptic curve?
legendary
Activity: 1072
Merit: 1181
That's not entirely true: as addresses are only 160 bits, it suffices to try 2^160 private keys to have a reasonable chance of finding one that matches a given address. Thus, a private key only needs 160 of randomness.

Furthermore, if you limit eg. four base58 characters of the address to particular string (as this patch allows you to), you already lock log(58^4)/log(2)=23.4 bits of those 160 bits through other means.

I say you need 136.6 bits of entropy per vanity key found (assuming the above restriction), not per attempt, as the attacker cannot observe your failed attempts.
sr. member
Activity: 252
Merit: 250
Btw using just time() was quite secure anyway. Assuming Vanitygen runs at least several minutes, the amount of keys to brute-force is >2^64:
 - 15 bit PID

To be used once (for one key). If used twice or more times, the full chain of keys can be compromised.

- 21 bit timeframe (1 month)

Again, to be used once. Consecutive keys will have a time variation about perhaps 8~10 bits.

- 7-8 bit CPU speed, + a few bits of time uncertainty each EC_KEY_generate_key()

To be used for one key. The entropy between keys drastically falls.

- 2^20+ keys to generate  

I don't understand your claim: each key needs 256 bits to be builded. And these 256 bits should have high entropy quality (ideally, 256 bits of entropy). So, picking up 256 bits really random is a hard task.

Guys: velocity and good entropy cannot be pushed together. Use these vanity addresses only if you like strong emotions.
Jump to: