Author

Topic: How I can Create a private key from a text? (Read 423 times)

legendary
Activity: 3276
Merit: 3537
Nec Recisa Recedit
Yeah, it's interesting, but that's where its usefulness stops. You literally do not want to generate private keys from text anymore because i) if you use pre-packaged tools to do it, they use an algorithm is known by all hackers and they are running programs to brute force private keys with random text ii) if you do this manually with a different algorithm you could forget it, if you also lose your private key.

Don't underestimate the forgetfulness of man. it just struck me again with a few passwords to some services. (I was locked out of LastPass during that time).


Try to guess a private key with brute force it's like impossible if I'll take in account a random text with 500+ characters/special ones/spaces...
Of course is not easy and it's like a waste of time (versus create a private key in the classic manner) since I can use other methods but what I think it's interesting it's the chance to hide a private key inside a text.

About the method to create this wallet, all steps could be easily saved everywhere... I was searching also a way to do everything just from "command line" and not using tools or other stuffs online.

BTW thank you all for you inputs and clarifications, much appreciated Smiley
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
I am trying to realize an address in that way just to understand how it works the generation of a private key from a text.
Anyway I am also trying to realize an address that could be managed with this kind of process...
I find this way for generating key pretty interesting and it's a good way to hide a private key practically everywhere!


Yeah, it's interesting, but that's where its usefulness stops. You literally do not want to generate private keys from text anymore because i) if you use pre-packaged tools to do it, they use an algorithm is known by all hackers and they are running programs to brute force private keys with random text ii) if you do this manually with a different algorithm you could forget it, if you also lose your private key.

Don't underestimate the forgetfulness of man. it just struck me again with a few passwords to some services. (I was locked out of LastPass during that time).
legendary
Activity: 952
Merit: 1385
What I found interesting is the possibility to hide a key directly in a text and not only some word from a seed... by the way thank you all for suggestions.

As we may discuss how practical and reliable this solution is, I must say it looks fancy. You know, "The Da Vinci Code" style. There is always an alternative to steel plate with your 12/24 words engraved ;-)
The main problem for that method is like I said before, the big chance of not being able to repeat the phrase. Italian stamps? OK, but if you lose them, it may be difficult to restore the content. Think about alternative approach - take book X, edition Y from year Z, take page P and first 50 characters, including spaces. IF you lose your book, you will at least know how to find the exact copy.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
12 words. Electrum. (or similar wallet) Offline. Air gapped. Write it down. Write down the correct order too or make it obvious what the order is. Much better and simpler and easier than anything you can try to think of. After being in this space for a long enough time, you will come to the same conclusion. These 12 words (or up to 24), are the equivalent of a thousand addresses and a thousand private keys. There is no real limit, so you can see it is good for a million addresses.
legendary
Activity: 3276
Merit: 3537
Nec Recisa Recedit
@ETbitcoin yes I have saved all steps used for this process...
What order were the pieces of paper in?
...
The words have been reported "clockwise"... about the other questions I have just copy literally what I was able to see clearly on the text (the i has been reported because there is the point of an i). In this example I don't take the easiest way but it could be done also covering with black any letter that is not complete...
This method need a backup like (like a photo).
What I found interesting is the possibility to hide a key directly in a text and not only some word from a seed... by the way thank you all for suggestions.

 
legendary
Activity: 2268
Merit: 18748
I find this way for generating key pretty interesting and it's a good way to hide a private key practically everywhere!
It's also a good way to lose access to your wallet. You come to recover your wallet in a few years' time. You vaguely remember what you did.

What order were the pieces of paper in?
Did you use capitalization or not?
Did you use punctuation or not?
That "i" is cut in half. Did you use "caz" or "cazi"?
What about the cut in half "l" at the bottom of that paper?
You missed out two letter from "Ringraziamen". Do you remember doing that?
Actually, is that last letter "n" or "m"?

So many variables. So many ways to lose your coins. Also, you only have one copy of each of those pieces of paper, and so only one back up (unless you photocopy them all, which introduces more risks).

What advantages does this have over a BIP39 seed phrase?
legendary
Activity: 3276
Merit: 3537
Nec Recisa Recedit
I have a collection of stamps that have on the back some words ... let's see a basic example here (not 500 characters) :

from left to the right, there are the following words/text

Quote
Ringraziam eso uscit fra l il pa sotto cazi lo 9 Maggio XIII. reria dello Stato BBLICAZIONE Lire
Converted uncompressed
Quote
5KCCeg8BB3gBQVM7QsdPnqxJ9EYdU2d6mUjB6azEQWstFHZ5DLY

Quote
148Sx2ojExJCCZTHRZFg7dbcjnyMiz5jMV

I am trying to realize an address in that way just to understand how it works the generation of a private key from a text.
Anyway I am also trying to realize an address that could be managed with this kind of process...
I find this way for generating key pretty interesting and it's a good way to hide a private key practically everywhere!
legendary
Activity: 2268
Merit: 18748
The question is why are you doing it this way?

Do you not trust that a 12 word seed phrase is secure enough? Bitcoin private keys have 128 bits of security, so having a seed phrase with more than 128 bits of security doesn't add very much to your set up. Creating your own method from a 500 character phrase might well have much more security than 128 bits, but it could also have far less. We can't say for sure. And if you want more than 12 words, then you can use 24.

Or do you not trust your hardware to generate a seed phrase? In which case, why not generate your own seed phrase by flipping a (fair) coin 128 or 256 times and calculating the checksum? Then you can be sure that there is no bias or flaws in your hardware or software.

Or do you worry about someone finding your seed phrase and stealing your coins? In that case, swapping to a longer phrase again doesn't add much in the way of security. The best mitigation here is to either use multiple passphrases or to use a multi-sig wallet.

Whatever you are trying to achieve with a custom set up like this is better achieved by using one of the standard tools available, as well as making it far less likely that you forget what you have done and lock yourself out of your wallets in the future.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
No, this text would not something taken from other sources published.
It would be something random / casual made with mixed parts from several text (even with little modification)
That's probably okay. How are you planning to store it? And why choose this instead of 12 seed words?
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
[So, yes - you may say idea with 500 character long text is safe enough, the problem is that is could be too safe Wink A small mistake, missing comma, etc. and access is lost.
Yes, it is safe. But should that still be considered a brainwallet? 500 characters, to backup the private key will even be better while less or not advisable to backup the 500 characters which have more chance of missing character(s) later. Even while generating paper wallet using bitaddress, less than 500 characters are required.
legendary
Activity: 952
Merit: 1385
@PawGo
did you thing that a long text likewise 500 characters (not taken from other sources published) has always the same weakness as brainwallet?

I would reply that way:
Several weeks ago I was contacted by one person who has created his brainwallets 10 years ago, using combination "phrase + big number". He is sure of the phrase, but the numbers are unknown. I have prepared a dedicated software for that, a few GPUs are running... He found one address (so, the method is correct), but unfortunately the one which was already emptied by him years ago. We wait.
So, yes - you may say idea with 500 character long text is safe enough, the problem is that is could be too safe Wink A small mistake, missing comma, etc. and access is lost.
legendary
Activity: 3276
Merit: 3537
Nec Recisa Recedit
did you thing that a long text likewise 500 characters (not taken from other sources published) has always the same weakness as brainwallet?
It depends: can someone reproduce (or find) the text?

No, this text would not something taken from other sources published.
It would be something random / casual made with mixed parts from several text (even with little modification)

legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
did you thing that a long text likewise 500 characters (not taken from other sources published) has always the same weakness as brainwallet?
It depends: can someone reproduce (or find) the text?
legendary
Activity: 3276
Merit: 3537
Nec Recisa Recedit
Thank you all of you.

I am trying to understand better the process to generate a private key from a random text (it means a looong text with special characters / spaces / etc) of course I am doing for research purpose, I don't think to load anything on it.

@PawGo
did you thing that a long text likewise 500 characters (not taken from other sources published) has always the same weakness as brainwallet?
legendary
Activity: 952
Merit: 1385
Hello fellow bitcoiners,
here a silly question...

If I have a text like this one by Dante Alighieri (divina commedia Canto 1 Inferno)

Quote
Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.
I have seen that there is an online generator
https://jhoenicke.github.io/brainwallet.github.io/#generator
that allow to use the function "passphrase" and generate a key

That page is using just a simple sha256 on the given text, even not in very 'strict' way, as they remove end line characters.
You may verify it for example here:
https://emn178.github.io/online-tools/sha256.html
your original text produces hash
Code:
4fe90bf6572b42459af8f08a6c0b3d45f14a403e97507a24cebe9f68db27102d
because it accepts multiline input, but if you remove special characters, and use only:
Code:
Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura, ché la diritta via era smarrita.
you will receive output:
Code:
34ae22f3cbaf0b0adfea0bc52ded6eb4a39c1b325c45c8283ffa04612ed3e273
which is exactly the value from the page you mentioned.

If you want to reproduce it offline and you want to have it all-in-one, you will need for example offline version of bitaddress: https://github.com/pointbiz/bitaddress.org (download zip from /releases/ and launch in browser).
Otherwise, just find sha256 calculator and then convert hash into public key (compressed or not), and then to address you want (legacy, segwit etc).

But first of all: are you sure you want to start with brainwallet? We are in 2022!
https://bitcointalksearch.org/topic/m.60144267


legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
-snip-
it could be possible & how I can create a private key starting from this text just using offline tools?
Any solution or suggestion?
That is an offline tool, you can just download the source from "Forked GitHub Repository" link below the forked version and directly run it using your offline machine's browser,
all the dependencies are already included such as the main HTML file, CSS and Javascript so it will work even in air-gap machine.

Interesting point. What is the calculation made with "Brain Wallet" to convert a text and generate a private key?
I can reproduce with a linux/bash command line?
Use anything that can calculate the "SHA256" sum of texts.
The 256-bit result will be the private key, then use any tool/library to convert it into WIF Private key.

But take note that line-spaces (enter) are also calculated by some tools but brainwalletX wont, so it took the string:
Quote
Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura, ché la diritta via era smarrita.
With SHA256 sum: 34ae22f3cbaf0b0adfea0bc52ded6eb4a39c1b325c45c8283ffa04612ed3e273
When converted to WIF (uncompressed): 5JDVE834PAQ6dPnwLNDfVhrtpvUnLrjMd542K2v6xaxBMJmx5dZ

instead of:
Quote
Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.
With SHA256 sum: 9243d83a0f17d54df5c35d42015d81f9cf3207c0dc7b4c0aa10f16bd07345db7
When converted to WIF (uncompressed): 5Jvhj1T7Gqe23KCQkxDXKWVvanfJqotjE9tVJLHFN752XcHrNRk

Just do it for research purposes only.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
Or use this one https://iancoleman.io/bip39/#italian you can also download it and open it offline
Incoleman generates hierarchical deterministic wallet, although it can be used to generate child private keys, child public keys and their corresponding addresses, and be used as a paper wallet as each child private key and corresponding address corresponds to what paper wallet generates, but not the way brainwallet generates private key and address which are not safe.

The passphrase can also be confusing because the passphrase used in Incoleman is for the hierarchical deterministic wallet in which new keys and addresses are generated through the salting process. This type of passphrase (in HD wallet) is also safe as it is not only used in generating the master private key, it is used along with seed phrase to generate entirely new keys and addresses.

Interesting point. What is the calculation made with "Brain Wallet" to convert a text and generate a private key?
Yes. Filling in the same text will generate the same private key and address. Not safe at all.
legendary
Activity: 3276
Merit: 3537
Nec Recisa Recedit
I hope the first codes is not the private key to the second address and if it is really, u should have private chat immediately to remove his coins there rather than posting. That must have a grievous mistake that  may not be redeemable

It's an empty address Grin of course no coins inside.
I am not doing this experiment to load some coins but just find an interesting way (if possible) to generate crypto keys from random text Wink

...
Why not play with this instead https://coinb.in/#newAddress then enable the "Custom Seed or Brain Wallet" you can download the webpage or in GitHub then open it offline.
...

Interesting point. What is the calculation made with "Brain Wallet" to convert a text and generate a private key?
I can reproduce with a linux/bash command line?

legendary
Activity: 3374
Merit: 3095
Playbet.io - Crypto Casino and Sportsbook
The brainwallet is totally closed according to their GitHub So where did you get this brainwallet GitHub link?

Actually, you can simply run the website offline by downloading the whole page of that site but I don't know if the link is safe to generate a private key since the original source is already closed. So I don't suggest using it.

Why not play with this instead https://coinb.in/#newAddress then enable the "Custom Seed or Brain Wallet" you can download the webpage or in GitHub then open it offline.
Or use this one https://iancoleman.io/bip39/#italian you can also download it and open it offline
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
You cant employ a Passphrase unless you are trying to create a seed/recovery phrase that you can combine with Mnemonic code, each passphrase generates you a unique seed and with a single seed, you can generate private keys as you want with branches of addresses.
Also there is a passphrase means of encryption introduced in BIP38 which can be used for paper wallet private key encryption.

From this, you created a Legacy address with WIF private key, I don't see the use of a passphrase that was required. The online generator is nonsense and a waste of time.
That is why it is called brainwallet, you enter your phrasephrase which you can enter another time to generate you the same private key and address.
hero member
Activity: 1106
Merit: 912
Not Your Keys, Not Your Bitcoin
Isn't that a brain wallet generator? They have poor entropy when you want to generate random numbers, it is a bad idea to use it to generate a private key.

For you to create a private key, you need some randomness to generate 256 bits of numbers (0-1) and with the help of elliptic curve multiplication, it generates your public key and then hashed to give you a short version public key hash and then encoded to address format.

You cant employ a Passphrase unless you are trying to create a seed/recovery phrase that you can combine with Mnemonic code, each passphrase generates you a unique seed and with a single seed, you can generate private keys as you want with branches of addresses.


Quote
5JDVE834PAQ6dPnwLNDfVhrtpvUnLrjMd542K2v6xaxBMJmx5dZ

Quote
1PDxsav11yCjkXCZAF4jXbZPkr8H5RHPpc


From this, you created a Legacy address with WIF private key, I don't see the use of a passphrase that was required. The online generator is nonsense and a waste of time.



I hope the first codes is not the private key to the second address and if it is really, u should have private chat immediately to remove his coins there rather than posting. That must have a grievous mistake that  may not be redeemable

The wallet is empty and it is possible that the owner of that wallet generator will sweep the wallet as soon as the OP fund it.

legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
Note: Brainwallet is not safe, not recommended. You can also just generate paper wallet instead of brainwallet.

You can use https://bitaddress.org html file for it. (No need of clicking on the site, just follow the guide in the link below).

This guide is helpful: How to download bitaddress.org to use offline?

I hope you know how to setup an airgapped device which is the true means you can truly and confidently generate this.
sr. member
Activity: 2240
Merit: 270
SOL.BIOKRIPT.COM
Hello fellow bitcoiners,
here a silly question...

If I have a text like this one by Dante Alighieri (divina commedia Canto 1 Inferno)

Quote
Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.

I have seen that there is an online generator
https://jhoenicke.github.io/brainwallet.github.io/#generator
that allow to use the function "passphrase" and generate a key

Quote
5JDVE834PAQ6dPnwLNDfVhrtpvUnLrjMd542K2v6xaxBMJmx5dZ

Quote
1PDxsav11yCjkXCZAF4jXbZPkr8H5RHPpc

it could be possible & how I can create a private key starting from this text just using offline tools?
Any solution or suggestion?


I hope the first codes is not the private key to the second address and if it is really, u should have private chat immediately to remove his coins there rather than posting. That must have a grievous mistake that  may not be redeemable
legendary
Activity: 3276
Merit: 3537
Nec Recisa Recedit
Hello fellow bitcoiners,
here a silly question...

If I have a text like this one by Dante Alighieri (divina commedia Canto 1 Inferno)

Quote
Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.

I have seen that there is an online generator
https://jhoenicke.github.io/brainwallet.github.io/#generator
that allow to use the function "passphrase" and generate a key

Quote
5JDVE834PAQ6dPnwLNDfVhrtpvUnLrjMd542K2v6xaxBMJmx5dZ

Quote
1PDxsav11yCjkXCZAF4jXbZPkr8H5RHPpc

it could be possible & how I can create a private key starting from this text just using offline tools?
Any solution or suggestion?

Jump to: