Hi!
I came over this post:
https://bitcointalksearch.org/topic/my-technique-to-split-seed-for-cold-storage-2096081 and was inspired to make this command line tool to be able to hide text in plain sight. I just love the idea of splitting something up in parts, and where you need a certain amount of parts to be able to get a secret back. So, perfect for a bitcoin wallet. Do like 10 minimum needed, and 50 shares and put them all around. Nobody has any idea what they are for. And you need 10 of them to get the secret. Or something.
I'm working on another larger project (which I will post about very soon), and thought to include this tool there. However, I figured, why not start with giving this away for free to show that I'm a giving person.
And also, to start building up trust and hope that as many as possible can join my larger project later. I can't wait to open it up to the public! Anyway, more about that later. Now more about this tool.
In the spirit of trust, I put the code up here:
https://github.com/Chillance/gsssaNot perfect, as it was just thrown together in a short period of time. But it should work. Please go ahead and test it out.
I've also build binaries for your convenience:
gsssa_linux_amd64 -
https://virustotal.com/#/file/be5c05c3a36e4d9602f33252c3666356c4d8d550d8d0979d6671d0d3dc37f3af/detectionhttps://ufile.io/uf17vgsssa_windows_amd64.exe -
https://virustotal.com/#/file/a60617be6745fc8b23987a25a42271373a9474dd7eaf740c74fce84fcc4d1799/detection Ok, so this one reports
TrojanDropper.Dapato.yae for some reason. I run Ubuntu and the binaries are build through Docker, so I'm guessing it's a false positive. Same file here using another service:
https://virusscan.jotti.org/en-US/filescanjob/n4g4r7ulq6I asked in IRC and someone said:
"Cylance often triggers when it sees binaries it's never seen before"
"also, we're now seeing some Go malware in the wild, so it's likely picking up on common strings across all Go compiled executables for windows"
I will skip this for now. You can build from the source code, or let me know if you want me to put the binary online.
Here is an example run. I use the defaults of 2 minimum, 3 amount of shares, but you can change this with the --min and --amount parameters. After creating the shares, I remove "Share 2". And as you can see, it still works to get back the "secret". For now, a new line in the share there is important. And yes, there will be more words on longer secret. I know, it might be a pain to write it all down by hand which I would have preferred myself too. Oh well, might be something to solve in the future.
~$ ./gsssa create "my secret sentence"
# Share 1
assume another atom adjust attract believe athlete attitude ball bulb base apple boss blossom bulk broccoli blossom abuse bring acquire betray brass blur bacon above amateur blind bachelor bomb bench any artefact
board answer birth budget barrel basic bird become banana bring alcohol banner boat absurd assume anxiety ankle aspect angle before arrest boss animal around bring alone alone area aerobic avoid buzz baby
# Share 2
broccoli author boil acquire budget budget because aunt between abstract auction apology blind actual black alert arrive action already balance brother brush bubble boring board address bleak balcony area brain bench bundle
ball brother battle apart blind bless believe about attitude bleak bounce age age busy addict cabbage act balcony assault alter breeze bring bottom battle around balance atom absorb awake across brief attend
# Share 3
anchor album accident cabbage barrel brain allow alien april address brass arch addict among bundle become asthma beach axis arch busy axis april any arctic away bind brother because affair august air
bamboo angle attend artefact auto blood broken arrow boy alpha before brother below body balcony absurd attract arrest barely abuse assist aspect blast bicycle bachelor behind bench balance average acquire buffalo awkward
# You need 2 shares out of these 3 shares to be able to get your secret back.
The file "shares.txt" is now created with above shown information.
~$
~$ vim shares.txt
~$
~$ cat shares.txt
# Share 1
assume another atom adjust attract believe athlete attitude ball bulb base apple boss blossom bulk broccoli blossom abuse bring acquire betray brass blur bacon above amateur blind bachelor bomb bench any artefact
board answer birth budget barrel basic bird become banana bring alcohol banner boat absurd assume anxiety ankle aspect angle before arrest boss animal around bring alone alone area aerobic avoid buzz baby
# Share 3
anchor album accident cabbage barrel brain allow alien april address brass arch addict among bundle become asthma beach axis arch busy axis april any arctic away bind brother because affair august air
bamboo angle attend artefact auto blood broken arrow boy alpha before brother below body balcony absurd attract arrest barely abuse assist aspect blast bicycle bachelor behind bench balance average acquire buffalo awkward
~$
~$ ./gsssa reveal
RESULT: my secret sentence
Thank you.