Bitcoin Forum
April 13, 2021, 05:38:41 PM *
News: Latest Bitcoin Core release: 0.21.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: SATOHASH - cryptographic key derivation function  (Read 339 times)
watashi-kokoto
Sr. Member
****
Offline Offline

Activity: 434
Merit: 258



View Profile
July 24, 2017, 06:42:58 PM
 #1

tocode released the Satohash function

https://github.com/movedon2otherthings/satohash

The function takes 256bit input (for example a password) and returns a 256bit output (for example a bitcoin private key)

This function can be used as a key derivation function. You only remember the password to your funds.

Another purpose the function can be used for hashing, like when combined with sha256 or any other function like this satohash(sha256(input file))

Code:
$ sha256sum hash.h | ./run
d590e41a6cb9ea0b1952565d29c40d3e09fe3c0d07acf42c089b9c009775d71d

The function also can be mined to create proof of work like bitcoin. But must be again chained with arbitrary input hash function like sha256

There is also a command line code that hashes stdin or the first argument

Examples:

empty input (all zeros)

Code:
$ ./run 0000000000000000000000000000000000000000000000000000000000000000
fe077f0af592477a82d8eb871615add4a53a489402dd9b5a09c4565c66db0814

$ echo -n "" | ./run
fe077f0af592477a82d8eb871615add4a53a489402dd9b5a09c4565c66db0814
$ ./run ""
fe077f0af592477a82d8eb871615add4a53a489402dd9b5a09c4565c66db0814

hello world
Code:
$ ./run satohash
db63fef9f4805eac731877f36f653635865b0a2700aae8cf6af40cb12801ada2

Demonstrate the avalanche effect, changing one letter changes whole output

Code:
$ ./run Satohash
2b4f3c56fd7f93d8d2730cc79f6e0f492dcff1e4784cef58f4a1b24554b11b06

I wish you happy holding of Bitcoin in your head, happy mining and fun. Thanks.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1618335521
Hero Member
*
Offline Offline

Posts: 1618335521

View Profile Personal Message (Offline)

Ignore
1618335521
Reply with quote  #2

1618335521
Report to moderator
1618335521
Hero Member
*
Offline Offline

Posts: 1618335521

View Profile Personal Message (Offline)

Ignore
1618335521
Reply with quote  #2

1618335521
Report to moderator
1618335521
Hero Member
*
Offline Offline

Posts: 1618335521

View Profile Personal Message (Offline)

Ignore
1618335521
Reply with quote  #2

1618335521
Report to moderator
btc_enigma
Hero Member
*****
Offline Offline

Activity: 669
Merit: 508


View Profile
July 25, 2017, 03:41:53 AM
 #2

How does this KDF compare to existing ones and its randomness properties.

CX4048
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
July 01, 2019, 11:15:22 PM
 #3

If we look at it like regex, ? means that the previous selection (word in this case) is optional.

Removing teeth, we get 8 words, 32 characters. (WhyTheCombOfNatashaOtomoskiHas21)

Knowing that Satoshi Nakamoto is highly likely two of the words, we can assume that the other letters in the sentence make up the rest of the words.  That leaves us with 6 words made up of WhyTheCombOfHas21

That should cut down on brute forcing possibilities.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!