Bitcoin Forum
December 06, 2016, 08:05:25 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Fibkeyz - deterministic key generator - a lot of keys from 1 or 2 passphrase(s)  (Read 827 times)
Ukigo
Hero Member
*****
Offline Offline

Activity: 924


View Profile
October 02, 2011, 02:41:34 PM
 #1

It's there :
       https://github.com/ukigo/fibkeyz

Choose your passphrase wisely -- security of your keys depends on it.

1) passphrase must be LONG and include more than 5 words.
2) it must probably contain some secret "token" word and special symbols.
3) some tricky padding also needed ?

"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
1481054725
Hero Member
*
Offline Offline

Posts: 1481054725

View Profile Personal Message (Offline)

Ignore
1481054725
Reply with quote  #2

1481054725
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Ukigo
Hero Member
*****
Offline Offline

Activity: 924


View Profile
October 13, 2011, 11:02:11 AM
 #2

UPDATE :
       There is newer and more secure project :
     http://github.com/ukigo/fbkz

     major improvements are :

     1) keys are generating from TWO passphrases mixed into
      long ( 197 symbols ) secure pseudo-random string.

     2) there is small semi-auto importing script for keys.

    Will work only with Jackjack's fork of pywallet.py (included).
   
    For more info see README file there.

    

"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
etotheipi
Legendary
*
expert
Offline Offline

Activity: 1428


Core Armory Developer


View Profile WWW
October 13, 2011, 03:55:09 PM
 #3

Can you describe the algorithm used for generating the keys?

  • How are address sequences generated?  Hashing the previous private key to get the next?
  • How is the first address generated?
  • What algorithm is used to convert passphrase into private key data?  (kinda the same questions as above
  • Is it possible for someone to link the addresses together?  What information does one need, to be able to determine that two different addresses from this sequence belong to the same person.

This is especially important to know if someone were to create the addresses/keys with their passphrase, and then an update to the project changes the generation algorithm to produce a different sequence.  Users need to know how to recover their private keys from the original passphrase.

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
Ukigo
Hero Member
*****
Offline Offline

Activity: 924


View Profile
October 13, 2011, 07:14:07 PM
 #4

All answers below are full valid for "fbkz" generator.

Can you describe the algorithm used for generating the keys?

  • How are address sequences generated?  Hashing the previous private key to get the next?
  • How is the first address generated?
  • What algorithm is used to convert passphrase into private key data?  (kinda the same questions as above
1) two passphrases through some obfuscation process produce long pseudorandom
string(here i'll call it pass_string.
It is possible to restore all keys in sequence ( and generate more i.e. extend sequence further with additional keys ) from this same pass_string.
The pass_string even could be stored in safe place instead of remembering of passphrases, though it is not the most secure decision.

2)Then from pass_string and one of Fibonacci numbers script will generate private key.
Every next key will be generated from this same pass_string and next Fibonacci number.

So the first key is not any different from others by method of creation.
And not, next and previous keys in seq. do not link together through hashing, but only
through Fibonacci sequence and using of the same pass_string.

Here we call it "sequence" and indeed the keys are sorta "linked"
through Fib. numbers sequence.
But i prefer to think of it as of set of 667 keys.
One can use any of them, a smaller subset of full.
Quote
  • Is it possible for someone to link the addresses together?  What information does one need, to be able to determine that two different addresses from this sequence belong to the same person.

This is especially important to know if someone were to create the addresses/keys with their passphrase, and then an update to the project changes the generation algorithm to produce a different sequence.  Users need to know how to recover their private keys from the original passphrase.

Everyone who will have your two passphrases will be able to recreate all your keys.
So keep them unique and top secret Smiley

There are two measures against changes in project's  algo (made by developers in the future) :
1) After checkout of "fbkz" store multiple copies of it on various media you can access.
2) You can fork this project on github.com

For restoring lost private keys one will need to have :
1) 2 initial passphrases.
2) Exactly the same set of utilities (esp. "fbkz" script) that were used for creation of sequence of private keys.

Sidenote :
  Even more security can be achieved by custom tweaking of "fbkz" script
in several places.
Even minimal changes will result in completely diff. sequence of keys from the same pass_string.
For example :
In fbkz in string
Code:
xbase_chars = '~!@#$%^&*()-+[]?ABCDEFGHJKLMNOPQRSTUVWXYZ0123456789abcdefghijkmnopqrstuvwxyz'
drop any 1 character in right side of equation you don't like or change it to another or add one somewhere.
Say add "+" at the end :
Code:
xbase_chars = '~!@#$%^&*()-+[]?ABCDEFGHJKLMNOPQRSTUVWXYZ0123456789abcdefghijkmnopqrstuvwxyz+'
Save and remember YOUR changes. Now you have your own special top-secret keygenerator.

"...Enemies are everywhere ! Angka is all rage ! Be a good soldiers, blow everything... " <-- Pol Pot (C)
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!