0
$\begingroup$

so i would like to know what the author means by "pressing keys gives the machine entropy" to my crude understanding by pressing at a certain time it will provide specific weight for generating keys therefore being truly random. Please help me understand and share your perspective. enter image description here

$\endgroup$
2
  • $\begingroup$ Many, perhaps most, random number generators in common use are only pseudo-random. The sequence of values generated is fixed with a period which is so long, that it is not noticeable in practice. But for some applications this is too predictable and hence too open to attack. So a common device - when generating "random paswords", for example - is to get the user to press maybe a dozen keys. The precise timing and sequence of keys is captured and provides an unpredictable element, which is usually used to "seed" the main pseudo-random generator. $\endgroup$
    – almagest
    Jan 15 '20 at 18:08
  • $\begingroup$ I think, it is meant that you determine the seed by pressing keys. If this seed is truely random, the sequence will become almost impossible to be predicted. $\endgroup$
    – Peter
    Jan 15 '20 at 21:23
0
$\begingroup$

The timing of pressing the key is certainly hard to predict but it is not truly random. A nice example to explain this would be the coin flip. If we know the initial force, torque and other factors when the coin in flipped, we can calculate the outcome (heads or tails). A truly random input would be something which cannot be traced to its original condition which would mean that it cannot be predicted.

One way to generate truly random data would be to use quantum effects which are fundamentally random. You could also measure thermal noise from a resistor in a circuit or atmospheric noise.

$\endgroup$
0
$\begingroup$

Let's do a thought experiment. Imagine a computer that does not have access to any source of entropy. This means it has no network access, no inputs, no unpredictable hardware: in short, it's not much of a computer - it's just an elaborate contraption that can produce a completely predictable sequence of outputs. There would be no way to tell if this "computer" was actually computing anything, or simply emitting a pre-recorded sequence of outputs. The outputs can look "random", i.e. have no discernable pattern or structure, but this is meaningless since you get the same sequence every time the computer is run. (Relevant xkcd)

What I just described is essentially the same thing as a PRNG. No matter how random the sequence it generates looks, it can be completely predicted if the starting seed is known. And if there is no input, that means the starting seed is always the same. Hence, the entropy is zero.

From this thought experiment, it is clear that a computer needs some kind of input in order to produce something with non-zero entropy. Since pressing keys is a form of user input that can be highly unpredictable (from the computer's perspective), it serves as a source of entropy and thus can be used to generate random output.

$\endgroup$
0
$\begingroup$

There is a recent US patent on "physically unclonable function" by Gurierri et al which uses the quantum uncertainty and a high quality random filter based on the BiEntropy algorithm to assist in the generation of truly random - uncloneable - sequences

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.