When you roll an eight sided dice exactly 3 bits of entropy are generated.
A six sided dice generates 2.585 bits of entropy for each roll. How does being a non-integer number of bits affect the entropy?
times in a row. Repeat this to create samples.
Use
Align the
Each sample of 62 events is a base 6 number totalling 160.26768 bits of entropy, ie 62 × log2(6).
A 160 bit number would be expected 83.066% of the time
Why?
The largest number that can be generated is:
largest_possible_sample = base6(555 ... 62 digits)In binary this is base2(100110100 ... 161 digits)
How many 161 bit samples could be generated?
total_161_bit_samples = largest_possible_sample - base2(111 ... 160 digits)
The portion of 161 bit samples is:
total_161_bit_samples / sample_space_size = 16.934%
In the javascript developer console for this tool, the portion can be calculated like this:
let baseN = 6;
let base2 = 2;
let largest_possible_sample = new BigNumber("".padStart(62, "5"), baseN);
let sample_space_size = largest_possible_sample.plus(1);
let max160 = new BigNumber("".padStart(160, "1"), base2);
let diff = largest_possible_sample.minus(max160);
let portion = diff.div(sample_space_size);
console.log("Portion of 161 bit samples: " + (portion*100).toString() + "%");
This is a set of samples generated from random numbers, one sample per line. The largest number is converted to 0, eg on a six-sided dice the number 6 becomes 0.
For a familiar way of looking at it, these are the same samples in base 10.
This is the same sample set in binary. Leading zeros are added where required.
? samples were 160 bits, ie ?%
? samples were 161 bits, ie ?%
Bit # | 0s | 1s | % 0s |
---|