-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi guys,
I just finished my first go at an entropy gathering tool for rtl-sdr, it's licensed under GPL (will add LICENSE file next!) and available at:
https://github.com/pwarren/rtl-entropy
My aim was to have a utility that ran with a minimum of dependencies, so it could be done easily on a raspberry pi, and without trying to get a whole gnuradio stack working!
I'm not a crypto expert, but I've read enough to know that you really should pass the output through rng-test or similar before using.
As I mention in the Readme, I plan on doing these tests and eventually getting it to the stage where the entropy can be plumbed in to /dev/random.
So, thanks for making the rtl-sdr libraries and making them easy to work with!
Cheers - -- Paul Warren
On 2/15/13, Paul Warren pwarren@pwarren.id.au wrote:
I just finished my first go at an entropy gathering tool for rtl-sdr.
Take a look at snd-egd, http://code.google.com/p/snd-egd/ . It does something very similar but with the microphone. It uses the same bit-wise algo you do, but adapted to work with the higher bits as well. (More of a concern for audio with its limited bandwidth.) The one step you are missing is the feedback/mixing. Snd-egd xors fresh random bytes with the old random bytes sitting in the ring buffer. This step seems to be pretty important in most systems. Others go an extra mile and xor hashed random numbers with the old stream.
As I mention in the Readme, I plan on doing these tests and eventually getting it to the stage where the entropy can be plumbed in to /dev/random.
Snd-egd is also a great example of how to do the plumbing. Also mentioned in your readme is frequency hopping, though that looks unimplemented.
Best of luck convincing tinfoil hat folk to use an RNG that is literally controlled by radio waves. A 50 ohm terminator + shielding would probably be a good idea, so that you are tapping into the thermal noise of the ADC and amps.
-Kyle http://kmkeen.com
Awesome Paul!
I think this is a great idea, I experimented a bit with an rtl-sdr based RF noise random generator, but for Python only:
https://github.com/michelp/randio
Mostly for fun. As you mentioned running it through rng-test would be ideal but I haven't had the time. You've got the right idea making yours work as a kernel-level random device. Good luck!
-Michel
On Fri, Feb 15, 2013 at 4:27 AM, Paul Warren pwarren@pwarren.id.au wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi guys,
I just finished my first go at an entropy gathering tool for rtl-sdr, it's licensed under GPL (will add LICENSE file next!) and available at:
https://github.com/pwarren/rtl-entropy
My aim was to have a utility that ran with a minimum of dependencies, so it could be done easily on a raspberry pi, and without trying to get a whole gnuradio stack working!
I'm not a crypto expert, but I've read enough to know that you really should pass the output through rng-test or similar before using.
As I mention in the Readme, I plan on doing these tests and eventually getting it to the stage where the entropy can be plumbed in to /dev/random.
So, thanks for making the rtl-sdr libraries and making them easy to work with!
Cheers
Paul Warren -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlEeKZQACgkQkwz3ZmaDjV4e+QCeMG6rOr+PZ+yHnIeXGFJRnpsr e9oAn3vQBEW7L2mcJLJE0tyNUnZpGori =dlzx -----END PGP SIGNATURE-----