Author

Topic: Has anyone really tested bitcrack during brute Forcing?! (Read 224 times)

hero member
Activity: 714
Merit: 1004
Goodnight, ohh Leo!!! 🦅
@ETF blackHatCoiner
Yeah, sorry for the late replies
absolutely, 1:16^2 is gonna cut it! I guess the outcome of an `00' count a thousand times in 128,000 hashes.
You tried tried to re-arrange that fact earlier on,I think your analysis are correct Wink

@cricktor

Can you just allow a chance for people that understands my questions?
If you know everything then back off Sad
hero member
Activity: 714
Merit: 1010
Crypto Swap Exchange
Priv and public keys were usually created out of bitcoin addresses right?
What are you talking about? You can't get public keys from public addresses as you would need to reverse the hashing of RIPEMD160(SHA256(public key)). You can't reverse ECDSA without brute guessing to reverse ECDSA(private key)-->public key.
legendary
Activity: 1344
Merit: 6415
Farewell, Leo
When calculating the SHA256,is `00' not the first value to achieve if it is formulated correctly or I'm I wrong?
It's not necessarily the first value, but if you want it to be the first value (or the first two characters, call it whatever you want) it's 1 in 16^2.

Since random numbers are picked, (which automatically brings in probability) what the prob that a number is picked at random and it produces an `00'.?
So the odds of having a "00" appeared in your hash, in any position? Definitely less than 1 in 16^2.

You have 1:16^2 chances to get:
Code:
00xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
And 1:16^2 chances to get:
Code:
x00xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
And it goes on, and on.

I'm not a mathematician, but let's say we want to find the chances of getting either of the first two cases. I presume that would be a 2:16^2, or 1 in (16^2)/2, which means 1 in 128.

To make sure it's correct, I'll calculate thousands of hashes and see how frequent the appearance of 00x... and x00... is.

I just wrote this small node.js code that does what I said:
Code:
const crypto = require('crypto'),
hash = crypto.getHashes();

var times = 0;

for(var i=1; i<128001; i++){
hashPwd = crypto.createHash('sha256')
   .update(i.toString())
   .digest('hex');


var first_and_second = hashPwd.slice(0, 2);
var second_and_third = hashPwd.slice(1, 3);


if(first_and_second == "00"){
times += 1;
}
if(second_and_third == "00"){
times += 1;
}



}

console.log("times: " + times);

It returns me "times: 991" for 128,000 hashes, and I expected about 1,000. So, I assume I'm correct. If you increase the number of hashes to millions, it becomes even more accurate.



Back to your question. "00" can appear in 63 positions. This means you have 63:16^2 chances, or 63 in 256, which is ~24.6%.

This new code checks for "00" in any position. We should get it ~24.6% of our times.  
Code:
const crypto = require('crypto'),
hash = crypto.getHashes();

var times = 0;

for(var i=1; i<1000001; i++){
hashPwd = crypto.createHash('sha256')
   .update(i.toString())
   .digest('hex');


   if(hashPwd.includes("00")){
    let count = (hashPwd.match(/00/g) || []).length;
    times+=count;
   }

}

console.log("times: " + times);

It returned me 231570.
hero member
Activity: 714
Merit: 1004
Goodnight, ohh Leo!!! 🦅

Jackg, you're awesome and I appreciate your efforts but I'm afraid thats not just where I was thriving at though but,that not withstanding,I have also learnt something. ☺️
I read a little about HD wallets and I'm satisfied with your contributions Cheesy

@almightyruler
Quote
What a strange coincidence, I just bumped/updated a 3 year old post of mine with information about mini private keys, and then I find  thread started 7 hours earlier.
Oh really a coincidence? That's to make it logical that some members haven't seen solutions to their problems which were posted already, several decades ago  Cheesy
hero member
Activity: 714
Merit: 1004
Goodnight, ohh Leo!!! 🦅
Quote
A "00" at start? That'd be 1 in 16^2.
When calculating the SHA256,is `00' not the first value to achieve if it is formulated correctly or I'm I wrong?
Since random numbers are picked, (which automatically brings in probability) what the prob that a number is picked at random and it produces an `00'.?
Why I'm asking? I wanna know how in random a number can be picked and tossed and how many times it can brute-Force before giving a valid mini privkeys.
Quote
I don't understand what you mean here.
That prolly was about the development of addresses...
Priv and public keys were usually created out of bitcoin addresses right? I'm seeing a different thing during my study sessions: K-K-A which simply means that the whole thing starts from the elliptic curve multiplication and ends with a hashing function. is that hard to understand?
legendary
Activity: 3402
Merit: 10424
The search space even for the less secure mini private key is still massive (58^22, I guess?). Any attempts at cracking would be an academic curiosity rather than a way to make (ie: steal) funds.
There shouldn't technically be any difference between strength of a 22-word mini private key and a regular bitcoin private key since both of them provide the same level of security (128-bits).
58^22=6.2e+38 and 2^128=3.4e+38
Keep in mind that the mini keys act as the entropy used to derive the key from.
legendary
Activity: 2268
Merit: 1092
Mini privkeys
I wanted to understand how it's calculated and I was told that when the there's a product,if the very first byte results to `00', it's well calculated.
Question:
+Since the SHA256 hash is calculated just by the selection process of random numbers, which forms a polynomial and prolly an interger, what's the probability of getting an `00' just by choosing at random?

What a strange coincidence, I just bumped/updated a 3 year old post of mine with information about mini private keys, and then I find your thread started 7 hours earlier.

See: https://bitcointalksearch.org/topic/m.60704068

The search space even for the less secure mini private key is still massive (58^22, I guess?). Any attempts at cracking would be an academic curiosity rather than a way to make (ie: steal) funds.

As for cracking a 256 bit private key directly, fuggedaboudit. The exception being weak keys (like the top 240 bits being all zero) that are used for fun and occasionally by mistake.

copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
Why is the generation of priv and public keys from bitcoin address archaic but the elliptic curve multiplication and the hash function can rather be used symmetrically? Which looks like the best way for a derivatives

Going of the word "derivatives" do you mean hierarchical determination (HD) wallets as a backup instead of using individual public-private key pairs? The difference here is an antire wallet can be store on a piece of paper/ahead of its use which can be used as a full backup without any risk of losing funds/keys because you've not backed up since your keypool got full/didn't print that private key.

There's also an argument for error reduction in HD wallets as writing down a nmemonic makes mistakes easier to find (electrum is a good example of how this can be done as you can select words as you type them so you'll know a lot of the time if something's written down wrong).
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Has anyone really tested bitcrack? Of course, many people have. There is even a megathread for it with 50+ pages.

Bitcrack doesn't deal with WIFs or Base58Check. It finds the RIPEMD160 data of the private key hex numbers directly, to avoid expensive calls to Base58Check during each iteration.
legendary
Activity: 1344
Merit: 6415
Farewell, Leo
0x01 and 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140 .. it runs on its range of secp256k1 ECDSA right
A valid private key is any number between this range, and secp256k1 is the curve, yes.

Mini privkeys
I wanted to understand how it's calculated
You mean mini private key format? Read: https://en.bitcoin.it/wiki/Mini_private_key_format

Since the SHA256 hash is calculated just by the selection process of random numbers, which forms a polynomial and prolly an interger, what's the probability of getting an `00' just by choosing at random?
A "00" at start? That'd be 1 in 16^2.

+ Why is the generation of priv and public keys from bitcoin address archaic
I don't understand what you mean here.
hero member
Activity: 714
Merit: 1004
Goodnight, ohh Leo!!! 🦅
Hey community Embarrassed
I'm very ill,not for some petty sentiments for real;dunno if feminism has anything to do with that😔  ..anyways that's on the contrary.
I teach people too so don't blame me if I'm a little skeptical..
Priv keys are the gateway to unlock or transact Sats; I have also seen some peeps wearing avatars with 'NOT YOUR KEYS,NOT YOUR COIN' indited on it.

The standard privkey is a 256bit: 0x01 and 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140 .. it runs on its range of secp256k1 ECDSA right?
 Now I have learnt that in order to make mistakes, WIF(wallet import format) could help the whole stress,of which it runs on base58Check. well thats not the point,just had to detail out atleast someone could get the fact that I understand maybe a little..
Mini privkeys
I wanted to understand how it's calculated and I was told that when the there's a product,if the very first byte results to `00', it's well calculated.
Question:
+Since the SHA256 hash is calculated just by the selection process of random numbers, which forms a polynomial and prolly an interger, what's the probability of getting an `00' just by choosing at random?
+ Why is the generation of priv and public keys from bitcoin address archaic but the elliptic curve multiplication and the hash function can rather be used symmetrically? Which looks like the best way for a derivatives
ECDSA ; this should be my next topic
I'm not really sound though 🥺
Thanks for response and infact, I really need alot of opinions cus I need to learn ahead.
Sandra_
Jump to: