Consuming of entropy
Clash Royale CLAN TAG#URR8PPP
up vote
3
down vote
favorite
When I put:
sudo watch tail /proc/sys/kernel/random/entropy_avail && dd if=/dev/random of=/dev/zero
It shows that available entropy is "consumed".
What I can't understand is:
Why does generating random consume entropy? Why does generating random bits cause that entropy to become useless?
entropy
New contributor
add a comment |Â
up vote
3
down vote
favorite
When I put:
sudo watch tail /proc/sys/kernel/random/entropy_avail && dd if=/dev/random of=/dev/zero
It shows that available entropy is "consumed".
What I can't understand is:
Why does generating random consume entropy? Why does generating random bits cause that entropy to become useless?
entropy
New contributor
add a comment |Â
up vote
3
down vote
favorite
up vote
3
down vote
favorite
When I put:
sudo watch tail /proc/sys/kernel/random/entropy_avail && dd if=/dev/random of=/dev/zero
It shows that available entropy is "consumed".
What I can't understand is:
Why does generating random consume entropy? Why does generating random bits cause that entropy to become useless?
entropy
New contributor
When I put:
sudo watch tail /proc/sys/kernel/random/entropy_avail && dd if=/dev/random of=/dev/zero
It shows that available entropy is "consumed".
What I can't understand is:
Why does generating random consume entropy? Why does generating random bits cause that entropy to become useless?
entropy
entropy
New contributor
New contributor
edited 1 hour ago
hunter
2,45531428
2,45531428
New contributor
asked 2 hours ago
Carol
161
161
New contributor
New contributor
add a comment |Â
add a comment |Â
2 Answers
2
active
oldest
votes
up vote
4
down vote
Why generating random consumes an entropy?
For the same reason that to generate true random bits using coin throws, one needs to throw a coin for each bit generated. Any attempt to use less throws is doomed (against a computationally unbounded adversary, or if the technique relies on few simple bit combinations).
Why generating a random bit causes that entropy to become useless?
Revealing a generated random bit is what makes it useless towards generating further secure random bits.
There's a solution: generate a sufficient number of random bits (like 256 or more) and use these, exclusively, to seed a Cryptographically Secure Pseudo Random Number Generator which will supply an endless stream of bits that have all testable properties of truly random bits. That's part of the strategy of Unix's /dev/urandom
add a comment |Â
up vote
0
down vote
It doesn't. You're not really generating entropy. The operating system does that for you, admittedly with your help as you interact with the machine. You're actively throwing it into the bin with:-
dd if=/dev/random of=/dev/zero
That bit reads any entropy available from /dev/random
, and throws it away by trying to overwrite 0. Although it's more common to throw stuff into /dev/null
. So it's the same as tossing coins and then forgetting which way they landed.
Try just:-
watch cat /proc/sys/kernel/random/entropy_avail
only, and see it grow as you update your email and send out Facebooks. The more you interact, the more entropy is accumulated, mainly from your keystrokes. You might see it go down sometimes though as the OS uses entropy for it's normal operations.
If you do this in a seperate terminal:-
dd if=/dev/random bs=1 iflag=fullblock | xxd
you'll see the entropy scroll down your screen...
add a comment |Â
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
4
down vote
Why generating random consumes an entropy?
For the same reason that to generate true random bits using coin throws, one needs to throw a coin for each bit generated. Any attempt to use less throws is doomed (against a computationally unbounded adversary, or if the technique relies on few simple bit combinations).
Why generating a random bit causes that entropy to become useless?
Revealing a generated random bit is what makes it useless towards generating further secure random bits.
There's a solution: generate a sufficient number of random bits (like 256 or more) and use these, exclusively, to seed a Cryptographically Secure Pseudo Random Number Generator which will supply an endless stream of bits that have all testable properties of truly random bits. That's part of the strategy of Unix's /dev/urandom
add a comment |Â
up vote
4
down vote
Why generating random consumes an entropy?
For the same reason that to generate true random bits using coin throws, one needs to throw a coin for each bit generated. Any attempt to use less throws is doomed (against a computationally unbounded adversary, or if the technique relies on few simple bit combinations).
Why generating a random bit causes that entropy to become useless?
Revealing a generated random bit is what makes it useless towards generating further secure random bits.
There's a solution: generate a sufficient number of random bits (like 256 or more) and use these, exclusively, to seed a Cryptographically Secure Pseudo Random Number Generator which will supply an endless stream of bits that have all testable properties of truly random bits. That's part of the strategy of Unix's /dev/urandom
add a comment |Â
up vote
4
down vote
up vote
4
down vote
Why generating random consumes an entropy?
For the same reason that to generate true random bits using coin throws, one needs to throw a coin for each bit generated. Any attempt to use less throws is doomed (against a computationally unbounded adversary, or if the technique relies on few simple bit combinations).
Why generating a random bit causes that entropy to become useless?
Revealing a generated random bit is what makes it useless towards generating further secure random bits.
There's a solution: generate a sufficient number of random bits (like 256 or more) and use these, exclusively, to seed a Cryptographically Secure Pseudo Random Number Generator which will supply an endless stream of bits that have all testable properties of truly random bits. That's part of the strategy of Unix's /dev/urandom
Why generating random consumes an entropy?
For the same reason that to generate true random bits using coin throws, one needs to throw a coin for each bit generated. Any attempt to use less throws is doomed (against a computationally unbounded adversary, or if the technique relies on few simple bit combinations).
Why generating a random bit causes that entropy to become useless?
Revealing a generated random bit is what makes it useless towards generating further secure random bits.
There's a solution: generate a sufficient number of random bits (like 256 or more) and use these, exclusively, to seed a Cryptographically Secure Pseudo Random Number Generator which will supply an endless stream of bits that have all testable properties of truly random bits. That's part of the strategy of Unix's /dev/urandom
edited 50 mins ago
answered 1 hour ago
fgrieu
73.2k6149310
73.2k6149310
add a comment |Â
add a comment |Â
up vote
0
down vote
It doesn't. You're not really generating entropy. The operating system does that for you, admittedly with your help as you interact with the machine. You're actively throwing it into the bin with:-
dd if=/dev/random of=/dev/zero
That bit reads any entropy available from /dev/random
, and throws it away by trying to overwrite 0. Although it's more common to throw stuff into /dev/null
. So it's the same as tossing coins and then forgetting which way they landed.
Try just:-
watch cat /proc/sys/kernel/random/entropy_avail
only, and see it grow as you update your email and send out Facebooks. The more you interact, the more entropy is accumulated, mainly from your keystrokes. You might see it go down sometimes though as the OS uses entropy for it's normal operations.
If you do this in a seperate terminal:-
dd if=/dev/random bs=1 iflag=fullblock | xxd
you'll see the entropy scroll down your screen...
add a comment |Â
up vote
0
down vote
It doesn't. You're not really generating entropy. The operating system does that for you, admittedly with your help as you interact with the machine. You're actively throwing it into the bin with:-
dd if=/dev/random of=/dev/zero
That bit reads any entropy available from /dev/random
, and throws it away by trying to overwrite 0. Although it's more common to throw stuff into /dev/null
. So it's the same as tossing coins and then forgetting which way they landed.
Try just:-
watch cat /proc/sys/kernel/random/entropy_avail
only, and see it grow as you update your email and send out Facebooks. The more you interact, the more entropy is accumulated, mainly from your keystrokes. You might see it go down sometimes though as the OS uses entropy for it's normal operations.
If you do this in a seperate terminal:-
dd if=/dev/random bs=1 iflag=fullblock | xxd
you'll see the entropy scroll down your screen...
add a comment |Â
up vote
0
down vote
up vote
0
down vote
It doesn't. You're not really generating entropy. The operating system does that for you, admittedly with your help as you interact with the machine. You're actively throwing it into the bin with:-
dd if=/dev/random of=/dev/zero
That bit reads any entropy available from /dev/random
, and throws it away by trying to overwrite 0. Although it's more common to throw stuff into /dev/null
. So it's the same as tossing coins and then forgetting which way they landed.
Try just:-
watch cat /proc/sys/kernel/random/entropy_avail
only, and see it grow as you update your email and send out Facebooks. The more you interact, the more entropy is accumulated, mainly from your keystrokes. You might see it go down sometimes though as the OS uses entropy for it's normal operations.
If you do this in a seperate terminal:-
dd if=/dev/random bs=1 iflag=fullblock | xxd
you'll see the entropy scroll down your screen...
It doesn't. You're not really generating entropy. The operating system does that for you, admittedly with your help as you interact with the machine. You're actively throwing it into the bin with:-
dd if=/dev/random of=/dev/zero
That bit reads any entropy available from /dev/random
, and throws it away by trying to overwrite 0. Although it's more common to throw stuff into /dev/null
. So it's the same as tossing coins and then forgetting which way they landed.
Try just:-
watch cat /proc/sys/kernel/random/entropy_avail
only, and see it grow as you update your email and send out Facebooks. The more you interact, the more entropy is accumulated, mainly from your keystrokes. You might see it go down sometimes though as the OS uses entropy for it's normal operations.
If you do this in a seperate terminal:-
dd if=/dev/random bs=1 iflag=fullblock | xxd
you'll see the entropy scroll down your screen...
answered 55 mins ago
Paul Uszak
6,00511332
6,00511332
add a comment |Â
add a comment |Â
Carol is a new contributor. Be nice, and check out our Code of Conduct.
Carol is a new contributor. Be nice, and check out our Code of Conduct.
Carol is a new contributor. Be nice, and check out our Code of Conduct.
Carol is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcrypto.stackexchange.com%2fquestions%2f62720%2fconsuming-of-entropy%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password