Pages:
Author

Topic: Questions on Private Key Generation (Read 1995 times)

legendary
Activity: 1302
Merit: 1008
January 27, 2015, 05:14:57 AM
#24
this is why we are experimenting with simple home-made Quantum True RNG here (the thread is in Russian).
this RNG is cheap, simple and surprisingly stable, but with SBM-20 geiger counter it is slow, just 0.1-0.5 bits per second.
using new alpha-sensitive counter excited with Am247 source I hope we will have at least 10kbps soon.
legendary
Activity: 1974
Merit: 1029
January 27, 2015, 02:30:01 AM
#23
I think this would take a ridiculous amount of time to generate a private key, plus the fact that rolling dice this way is going to both increase the chances of making an error as well as you getting impatient and just using "random" number from your head part of the way through the process

Obviously you didn't try it, did you? With 6 dice you only need 17 iterations of the loop "roll, write down", easily done in under 3 minutes (at 10 seconds per iteration, which is more than enough). No faulty/compromised RNGs, just pure entropy from the universe, no source code needed. You only have to take care of reading the dice always in the same order, eg. start at yellow and go clockwise.
sr. member
Activity: 420
Merit: 250
January 26, 2015, 08:24:57 PM
#22
What is that?

Second try:



Those aren't mine, though Tongue.
I think this would take a ridiculous amount of time to generate a private key, plus the fact that rolling dice this way is going to both increase the chances of making an error as well as you getting impatient and just using "random" number from your head part of the way through the process
legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!
January 26, 2015, 11:41:02 AM
#21
From a google search, I discovered hexadecimal dice too. Unfortunately, I can't find any to order in the UK.

But do they have the same probabilities for each side? I think only platonic solids have that property. An icosahedron would be fine, turning 16 to zero and discarding 17 to 20.

It is possible to make fair dice for any n number of sides (one solution is pencil shaped with n-polygon cross section), but platonic solids are definitely cooler Smiley   
legendary
Activity: 1974
Merit: 1029
January 26, 2015, 08:53:32 AM
#20
From a google search, I discovered hexadecimal dice too. Unfortunately, I can't find any to order in the UK.

But do they have the same probabilities for each side? I think only platonic solids have that property. An icosahedron would be fine, turning 16 to zero and discarding 17 to 20.
hero member
Activity: 688
Merit: 500
ヽ( ㅇㅅㅇ)ノ ~!!
January 26, 2015, 08:44:47 AM
#19
Does anyone know of an app or script or something that will generate private key / paper wallet from a series of dice throws?

I use the following perl script:

Code:
#!/usr/bin/perl

use warnings;
use strict;

my $rolls = '123456123456';

my $len_diff = 99 - length $rolls;
if ($len_diff > 0) {
    warn "warning: need $len_diff more rolls\n";
    $rolls = sprintf '%s%s', $rolls, '1'x$len_diff;
} elsif ($len_diff < 0) {
    warn sprintf "warning: discarding %d extra rolls\n", -$len_diff;
    $rolls = substr $rolls, 0, 99;
}

$rolls = join '', map { $_ - 1 } split //, $rolls;
print "temp base6 number: $rolls\n";

my $hex = qx{echo 'obase=16; ibase=6; $rolls' |bc}; chomp $hex;
printf "%s%s\n", '0'x(64-length $hex), $hex;

Edit line 6 ("my $rolls = …") to enter the rolls, from 1 to 6. If you enter less than 99 digits, the program fills the missing ones with 1s (but that isn't entropy of course); if you enter too many, the extra ones are discarded. The output is an hexadecimal number ready to paste into bitaddress for recoding it into WIF.

Thanks!

From a google search, I discovered hexadecimal dice too. Unfortunately, I can't find any to order in the UK.
legendary
Activity: 1974
Merit: 1029
January 26, 2015, 08:27:36 AM
#18
Does anyone know of an app or script or something that will generate private key / paper wallet from a series of dice throws?

I use the following perl script:

Code:
#!/usr/bin/perl

use warnings;
use strict;

my $rolls = '123456123456';

my $len_diff = 99 - length $rolls;
if ($len_diff > 0) {
    warn "warning: need $len_diff more rolls\n";
    $rolls = sprintf '%s%s', $rolls, '1'x$len_diff;
} elsif ($len_diff < 0) {
    warn sprintf "warning: discarding %d extra rolls\n", -$len_diff;
    $rolls = substr $rolls, 0, 99;
}

$rolls = join '', map { $_ - 1 } split //, $rolls;
print "temp base6 number: $rolls\n";

my $hex = qx{echo 'obase=16; ibase=6; $rolls' |bc}; chomp $hex;
printf "%s%s\n", '0'x(64-length $hex), $hex;

Edit line 6 ("my $rolls = …") to enter the rolls, from 1 to 6. If you enter less than 99 digits, the program fills the missing ones with 1s (but that isn't entropy of course); if you enter too many, the extra ones are discarded. The output is an hexadecimal number ready to paste into bitaddress for recoding it into WIF.
legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!
January 26, 2015, 08:15:36 AM
#17

It's not that it is not safe anymore, it never was safe to generate an address using a browser based generator downloaded from some site. A couple of sites have stood the test of time and are more trusted than others, so they might be ok to use in OFFLINE mode ONLY, and remember to clear all browser cache afterwards.

I cannot fully grasp what "dangerous implementations" and "no cryptographic security" means, but "have never been reviewed by a third party" is easy enough to understand.


1)  There is no offline "mode".  Either you are isolated or not. 

2)  You will find most software needs to be downloaded from some site. 

legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!
January 26, 2015, 08:13:44 AM
#16
Does anyone know of an app or script or something that will generate private key / paper wallet from a series of dice throws?

Sorry to be that nitpicker, but:    a private key needs no work to generate, as it is simply a random number.  You don't need an app or script.  However, you will need to use some software to find the corresponding public key and address. 
hero member
Activity: 688
Merit: 500
ヽ( ㅇㅅㅇ)ノ ~!!
January 26, 2015, 08:11:24 AM
#15
Does anyone know of an app or script or something that will generate private key / paper wallet from a series of dice throws?
hero member
Activity: 910
Merit: 1000
January 26, 2015, 07:39:01 AM
#14
I suppose you can generate a public-private key pair with something like Vanitygen. Or run bitcoin-qt on an offline computer and use the console to export the keys. Having those you can make the QR codes and print the paper separately.
hero member
Activity: 672
Merit: 502
January 26, 2015, 06:03:50 AM
#13
I would recommend avoiding any browser based key generators. Many of them have dangerous implementations which provide little to no cryptographic security at all, most of them have never been reviewed by a third party.

So using bitaddress.org is not safe anymore? what do you recommend then to make paper wallets off-line?

It's not that it is not safe anymore, it never was safe to generate an address using a browser based generator downloaded from some site. A couple of sites have stood the test of time and are more trusted than others, so they might be ok to use in OFFLINE mode ONLY, and remember to clear all browser cache afterwards.

I cannot fully grasp what "dangerous implementations" and "no cryptographic security" means, but "have never been reviewed by a third party" is easy enough to understand.


Well up until now I was under the impression it was safe and today I learn this, I just don't get it anymore. I guess nothing is safe.
legendary
Activity: 1974
Merit: 1029
January 26, 2015, 05:55:41 AM
#12
What is that?

Second try:



Those aren't mine, though Tongue.
legendary
Activity: 952
Merit: 1005
--Signature Designs-- http://bit.ly/1Pjbx77
January 26, 2015, 05:53:53 AM
#11
I would recommend avoiding any browser based key generators. Many of them have dangerous implementations which provide little to no cryptographic security at all, most of them have never been reviewed by a third party.

So using bitaddress.org is not safe anymore? what do you recommend then to make paper wallets off-line?

It's not that it is not safe anymore, it never was safe to generate an address using a browser based generator downloaded from some site. A couple of sites have stood the test of time and are more trusted than others, so they might be ok to use in OFFLINE mode ONLY, and remember to clear all browser cache afterwards.

I cannot fully grasp what "dangerous implementations" and "no cryptographic security" means, but "have never been reviewed by a third party" is easy enough to understand.
hero member
Activity: 672
Merit: 502
January 26, 2015, 05:47:30 AM
#10
what do you recommend then to make paper wallets off-line?



What is that?
legendary
Activity: 1974
Merit: 1029
January 26, 2015, 05:42:29 AM
#9
what do you recommend then to make paper wallets off-line?

hero member
Activity: 672
Merit: 502
January 26, 2015, 05:34:08 AM
#8
The beginning encodes some metadata, like a version id; so you shouldn't expect the first two characters to be very random. But if the software you're using generates keys beginning with 5 instead of L or K it is outdated and producing keys which will result in significantly more data-size in your transactions.

I would recommend avoiding any browser based key generators. Many of them have dangerous implementations which provide little to no cryptographic security at all, most of them have never been reviewed by a third party.

So using bitaddress.org is not safe anymore? what do you recommend then to make paper wallets off-line?
legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!
January 25, 2015, 08:28:45 PM
#7
The beginning encodes some metadata, like a version id; so you shouldn't expect the first two characters to be very random. But if the software you're using generates keys beginning with 5 instead of L or K it is outdated and producing keys which will result in significantly more data-size in your transactions.

I would recommend avoiding any browser based key generators. Many of them have dangerous implementations which provide little to no cryptographic security at all, most of them have never been reviewed by a third party.

Wow, this is a bombshell.  Do you include the bitaddress.org project in this (run on an offline computer of course)?
sr. member
Activity: 280
Merit: 250
January 25, 2015, 06:25:10 PM
#6
I've used bitaddress.org to generate mine and  bit concerned now Sad
sr. member
Activity: 420
Merit: 250
January 25, 2015, 06:22:10 PM
#5
In response to (1) if you have some kind of random number generator then you should use it to generate a random number and convert it to hex format (?). If not then you should use some kind of wallet software that you are sure you can trust in order to create a new private key
Pages:
Jump to: