Author

Topic: Is it possible to convert a part of HASH string into human-readable format? (Read 219 times)

copper member
Activity: 421
Merit: 29
...$35714$...
35714 - Why is this number 5 characters? What is the function of this number? If this is a date, then show me the converter program?

You could find out yourself by looking at the source code of the first bitcoin2john.py:
https://github.com/openwall/john/blob/89bf80fbd6df52ae7d04d94b3c3a826000b30549/run/bitcoin2john.py

Code:
len(cry_master): 64
    cry_master : 71fe0d4dc27b24dcd1ea6639d644e8daeff04c38e30d05f0a74b17d28f25667e
  len(cry_salt): 16
      cry_salt : df6cabc03425d39a
    cry_rounds : 35714
      len(ckey): 96
          ckey : 8c4ef4ce5ba442673a21d89afdc1810c653e0615c1e2537d7f61a0e03ecc152c47771b863d3b399894ba9086f1e7f261
len(public_key): 130
    public_key : 04ffaa7a530a04504856eff814839320835cdec5dc446ee4811fc3db490a1a986013e6dff24d5f0c908e5dac7f0be8c7fd523de8e91eae27fba3e851dd0272daab

There are no hashes in the above numbers.

Some test vectors, including some with 5-digit number of rounds, as well as what happens with all these values, can be found here:
https://github.com/openwall/john/blob/bleeding-jumbo/src/bitcoin_fmt_plug.c

The exact decryption can be seen here.

How the number of rounds is set can be seen here.



You have done a great job and proved to me that these 5 or 6 characters will not help in any way to speed up the decryption of the wallet password.
If the password setting date was encrypted in these 5-6 characters, then this would help to find out if the wallet is fake or not. Thank You Good Luck!
full member
Activity: 206
Merit: 447
...$35714$...
35714 - Why is this number 5 characters? What is the function of this number? If this is a date, then show me the converter program?

You could find out yourself by looking at the source code of the first bitcoin2john.py:
https://github.com/openwall/john/blob/89bf80fbd6df52ae7d04d94b3c3a826000b30549/run/bitcoin2john.py

Code:
len(cry_master): 64
    cry_master : 71fe0d4dc27b24dcd1ea6639d644e8daeff04c38e30d05f0a74b17d28f25667e
  len(cry_salt): 16
      cry_salt : df6cabc03425d39a
    cry_rounds : 35714
      len(ckey): 96
          ckey : 8c4ef4ce5ba442673a21d89afdc1810c653e0615c1e2537d7f61a0e03ecc152c47771b863d3b399894ba9086f1e7f261
len(public_key): 130
    public_key : 04ffaa7a530a04504856eff814839320835cdec5dc446ee4811fc3db490a1a986013e6dff24d5f0c908e5dac7f0be8c7fd523de8e91eae27fba3e851dd0272daab

There are no hashes in the above numbers.

Some test vectors, including some with 5-digit number of rounds, as well as what happens with all these values, can be found here:
https://github.com/openwall/john/blob/bleeding-jumbo/src/bitcoin_fmt_plug.c

The exact decryption can be seen here.

How the number of rounds is set can be seen here.

copper member
Activity: 421
Merit: 29
My best GUESS, from the limited information you've given is that:
  • The big number is probably a hash of password?
  • The smaller number is probably an integer indicating the number of rounds to use in the password salting process?
  • The number just to the left of that is probably the salt that is used in the password salting process

[/quote]

Okay, let me ask you two questions. Is your theory correct, look at some numbers I got from the HASH of 28 different wallets?

62719
37167
37698
38193
61764
63894
298530
68014
35714
107430
37698
35211
126145
56081
35714
35714
37480
128289
35714
41175
63443
68432
61570
70312
72580
37167
60692
52162

And the second question. Can you prove to me that it is possible to get 5 characters in HASH from a genuine wallet?
Even the question is not so much about genuine wallet, but that do you have an example of such a wallet for which
You know the password and that when extracting HASH this number would be not 6, but 5 characters?
I'm wondering how this number helps the Hashcat program to check if the password is correct?
If this number is not used in any way by the Hashcat program, then it probably means the password change date,
but then we need to know how to convert this number to a human-readable date format.
legendary
Activity: 3472
Merit: 4801
The link to the program gives a short HASH and it contains these 5 or 6 characters that I am interested in and this is the main thing.

The linked program gives 5 different pieces of information.  Which one of those are you interested in? Without access to your program it is difficult to know exactly what your program is doing. It could be doing just about anything.

Why am I interested in this topic with 5 or 6 characters? Because it is these characters that change when changing the password to the wallet and I wonder what information is encoded in these 5 and 6 characters.
Also, when changing the password, a long number changes, but it does not interest me yet.
71fe0d4dc27b24dcd1ea6639d644e8daeff04c38e30d05f0a74b17d28f25667e
ff134f9f03da571e5b256dec561730aaa674ff37d8a698d3c2c5e66fdbb07335


My best GUESS, from the limited information you've given is that:
  • The big number is probably a hash of password?
  • The smaller number is probably an integer indicating the number of rounds to use in the password salting process?
  • The number just to the left of that is probably the salt that is used in the password salting process
copper member
Activity: 421
Merit: 29
That program doesn't output a hash. It outputs 5 pieces of information:
  • the length of master
  • master
  • the length of the salt
  • salt
  • the number of rounds

Your output, on the other hand, has 8 outputs. I don't think your output came from that program?

Or perhaps, since I just briefly skimmed over it,  I overlooked something in the program? If so, someone will come along shortly to correct me.

[/quote]

The link to the program gives a short HASH and it contains these 5 or 6 characters that I am interested in and this is the main thing.
I have a program that extracts a long string from the wallet, but I don’t have a link to GITHUB. I received this program as a gift from KEYCHAINX.IO
Why am I interested in this topic with 5 or 6 characters? Because it is these characters that change when changing the password to the wallet and I wonder what information is encoded in these 5 and 6 characters.
Also, when changing the password, a long number changes, but it does not interest me yet.
71fe0d4dc27b24dcd1ea6639d644e8daeff04c38e30d05f0a74b17d28f25667e
ff134f9f03da571e5b256dec561730aaa674ff37d8a698d3c2c5e66fdbb07335


legendary
Activity: 3472
Merit: 4801
The only way to know is to see the software that produced these strings. What software did you use? These are not things that Bitcoin Core produces.

This program creates a short HASH, but the string with the fragment I'm interested in is the same.

That doesn't look like a hash.  That looks like several separate pieces of binary data represented in hexadecimal and separated by '$' characters.


That program doesn't output a hash. It outputs 5 pieces of information:
  • the length of master
  • master
  • the length of the salt
  • salt
  • the number of rounds

Your output, on the other hand, has 8 outputs. I don't think your output came from that program?

Or perhaps, since I just briefly skimmed over it,  I overlooked something in the program? If so, someone will come along shortly to correct me.
copper member
Activity: 421
Merit: 29
The only way to know is to see the software that produced these strings. What software did you use? These are not things that Bitcoin Core produces.

This program creates a short HASH, but the string with the fragment I'm interested in is the same.
https://github.com/openwall/john/blob/bleeding-jumbo/run/bitcoin2john.py
I understand that the wallets shown in my two examples may not be real, but that's not the point.
I want to make sure it's possible to generate a real wallet that has 5 characters in a HASH string.
I'm also interested in the question of what information is encoded in this HASH fragment. Thanks!
staff
Activity: 3458
Merit: 6793
Just writing some code
The only way to know is to see the software that produced these strings. What software did you use? These are not things that Bitcoin Core produces.
copper member
Activity: 421
Merit: 29
https://blockchain.com/btc/address/179ubgmB4sTRQSutRMovStFoAHxfoVnDK5
$bitcoin$64$71fe0d4dc27b24dcd1ea6639d644e8daeff04c38e30d05f0a74b17d28f25667e$16$df6cabc03425d39a$35714$96$8c4ef4ce5ba442673a21d89afdc1810c653e0615c1e2537d7f61a0e03ecc152c47771b863d3b399894ba9086f1e7f261$130$04ffaa7a530a04504856eff814839320835cdec5dc446ee4811fc3db490a1a986013e6dff24d5f0c908e5dac7f0be8c7fd523de8e91eae27fba3e851dd0272daab

35714 - Why is this number 5 characters? What is the function of this number? If this is a date, then show me the converter program?
 

https://blockchain.com/btc/address/1KDUcZh5Z6H1of4Pwoy5ojJtkQxcQBHhnH
$bitcoin$64$ff134f9f03da571e5b256dec561730aaa674ff37d8a698d3c2c5e66fdbb07335$16$125d64b2bab4c437$136217$96$e3e9e392c47b4547644c5941104405f33e007e017eb2803c13ffb42dfde63af941e0f9e9594a0f590991f69fcae41ad1$130$041ebfac69910efb17ab697db5f2a4ff815e1d37c05e40d56977031a3a36b80464ea6782ad2913e2a5ec33e187f0fee50675bc78a25d657846e08e8425f2384b2a

136217 - Why is this number 6 characters? What is the function of this number? If this is a date, then show me the converter program?


Who can send me any empty wallet that has 5 characters inside the HASH? Thank you in advance.
The wallet must be verified by you and I must know the password for it. I need it for experiments.
All the wallets I've created these days have a HASH number inside that is 6 characters long.

To better understand me, see my other topic: https://bitcointalksearch.org/topic/is-it-possible-to-convert-a-bitcoin-core-timesmart-into-human-readable-format-5381492
Jump to: