9 ms·
RTL-entropy: Uses RTL-SDR to turn a DVB-T dongle into an entropy source
- Tomte 9y agoNice project, but obviously: don't rely (solely) on this entropy. There are all kinds of conceivable failure modes that software cannot detect, let alone handle. Statistic tests are good, but only of limited use.
- bloopernova 9y agoDo you have any recommendations for other, high quality, sources of entropy?
- lathiat 9y agoIn most cases you can use the Intel CPU included RNG by installed rng-tools to feed it into the kernel entropy pool Otherwise I’d be happier using a similarly priced USB tool that is at least designed for the job such as the ChaosKey which is also open hardware and firmware and has a Linux driver in tree
- paulie_a 9y agoWith all the issues with Intel, I would be weary of trusting their implementation.
- dchest 9y agoAnalysis of Intel’s Ivy Bridge Digital Random Number Generator http://www.rambus.com/wp-content/uploads/2015/08/Intel_TRNG_Report_20120312.pdf http://www.rambus.com/wp-content/uploads/2015/08/Intel_TRNG_...
- jnbiche 9y agoIt's "wary". The word "weary" means tired. Edit: Just curious: are people downvoting because they disagree with my proposed spelling, or because they don't like the correction? Please let me know so I can integrate this knowledge into future comments.
- jk2323 9y agoAvalanche noise... https://emergent.unpythonic.net/01257868826 https://emergent.unpythonic.net/01257868826
- Tomte 9y agoNo. The main problem is not the type of physical process, but the lack of any detection of failures. Hardware fails. Can you reliably detect that? The board you linked to cannot at all. Most HWRNGs can, but only partially.
- DamonHD 9y agoIn general, use a pool and worry less for most purposes as long as some of them are good enough. An old project of mine: http://random.hd.org/ http://random.hd.org/ It was good enough to use for a financial application when whitened / XORed with system sources.
- Kagerjay 9y agoCloudflare uses a wall full of lava lamps, theres a tom scott video on it https://youtu.be/1cUUfMeOijg https://youtu.be/1cUUfMeOijg
- squarefoot 9y agoThermal and other noise by analog electronic parts (resistors, transistors pushed to high gain etc.) comes to mind. They are much safer compared to an online service, app or a piece of hardware one doesn't have the source for, but I have no idea if that noise is good once sampled to be used in cryptography or other non-analog fields.
- DanBC 9y agoYou have to sample the noise, and deskew it, and check the components are still operating. This is where the errors normally lie. It's probably a fun project to try, but I'd be wary of using it for cryptography if only because we have other better methods. I collected a bunch of links a while ago. Here they are, I don't know if these are still working or interesting, but they might be useful: https://news.ycombinator.com/item?id=6060636 https://news.ycombinator.com/item?id=6060636
- mikevin 9y agoThanks for this! I was looking for something like this to play with.
- zuzun 9y agoFSF sells a true random number generator: [1] https://shop.fsf.org/storage-devices/neug-usb-true-random-number-generator https://shop.fsf.org/storage-devices/neug-usb-true-random-nu... [2] https://lwn.net/Articles/647502/ https://lwn.net/Articles/647502/ [3] https://lwn.net/Articles/648550/ https://lwn.net/Articles/648550/
- mtreis86 9y agoA geiger counter next to an ionization smoke detector should have some entropy, though I don't know how high the quality would be. https://www.sparkfun.com/products/14209 https://www.sparkfun.com/products/14209 https://www.newegg.com/Product/Product.aspx?Item=0EF-005S-00040&cm_re=ionization_smoke_alarm-_-0EF-005S-00040-_-Product https://www.newegg.com/Product/Product.aspx?Item=0EF-005S-00...
- howard941 9y agoIf on an embedded system the low order bit of an infrequently sampled ADC input might be acceptable.
- widea 9y agoInfnoise: https://github.com/waywardgeek/infnoise https://github.com/waywardgeek/infnoise https://www.tindie.com/products/WaywardGeek/infinite-noise-true-random-number-generator/ https://www.tindie.com/products/WaywardGeek/infinite-noise-t...
- mitchellberry 9y agoXOR it with /dev/urandom, the result will be as strong as the best source of entropy.
- adrianN 9y agoI don't think this is true without some assumptions. The two bitstreams could cancel out if cleverly chosen.
- Tomte 9y agoIf you know "the other" bitstream, sure. The only sensible premise is that you don't.
- simias 9y agoThat would mean that the attacker can already predict /dev/urandom, rendering it effectively useless. So the parent is right, "the result will be as strong as the best source of entropy", if both sources are bad then the result will be as well.
- dTal 9y agoIf both bitstreams are cleverly chosen, then neither is a source of entropy.
- jonathanstrange 9y agoIt is true under the assumption that the two sources are independent of each other. If one of the sources is entirely known or predictable, this will not affect the entropy of the other source.
- mseebach 9y agoBut isn't the point of a hardware entropy source that you don't quite trust /dev/urandom?
- tednoob 9y agoYou have two adversaries. Adversary A have control over your hardware source, and adversary B have control over /dev/urandom. If you XOR them A and B must cooperate to compromise your random generator. You can combine as many sources of randomness as you want, and each increase the difficulty for an adversary to defeat your generator.
- VMG 9y agoIs it better than a webcam image piped through sha256?
- IgorPartola 9y agoNo? Yes? Neither? Both? I've seen enough of these discussions to be able to parrot back to you some of the usual responses. Basically, say that you point your webcam at a perfectly black sheet (0x000000 in color). Will you get any actual entropy from this? No. Now say you point your webcam at the night sky. On a clear night, I will more or less know what your camera is looking at, and will be able to to narrow down the huge field of possible values presented by sha256 to a much smaller set of possibilities. Knowing when you generated your private key and your method of getting entropy, I will be able to crack your key much easier (doesn't mean easy, just many orders of magnitude easier). Now, say you point your webcam at a lava lamp, or the display showing characteristics of some quantum process, or something else provably random. Here I can't really tell wtf your camera is looking at. I can of course go and slide that black sheet in front of your camera for a bit. Or stand in front of it. But if you physically secure your camera, then yeah you are doing something right (though of course not everything, as it's quite possible that something in your algorithm is in fact reducing your possible output to only some subset of possible values produced by sha256). It's the same thing with radio. If you tune it to a signal that's producing a sine wave with a stable frequency... I know exactly what your input is. If you tune it to something like the BBC, I know exactly what your input is, even with some noise. If you tune it to something really random, can I just put a very strong transmitter near your receiver and overwhelm the spectrum such that you are listening to only my signal? And the best part is that you won't know that this is happening even more than with a webcam. Personally, I wouldn't really want to trust these devices. They are fun. but they aren't practical for this purpose. Where you need real entropy is a data center. And a data center won't be receiving too much radio. Again, parroting every other thread about this, a reverse biased transistor will give you true quantum randomness which is very cheap, very easy to produce, and is difficult to temper with at a distance without disrupting the rest of your equipment too. Again, you don't need as much entropy as you think. Your kernel will seed a CSPRNG with a tiny bit of entropy, which is enough to keep you safe for eons after that. You can't "run out" of entropy with that scheme. The biggest issue is to initialize the random number generator with true entropy before you start using it, which is only difficult if you are running virtual machines and the host doesn't provide entropy to it. I believe at least in some schemes the seed used is based on time or some such predictable factor, which doesn't help.
- mitchellberry 9y agoWould be interesting to see this run through some statistical batteries. DieHarder and TestU01 still seem to be the gold standards.
- bdz 9y agoI use mine to track airplanes. Much more fun.
- mlamat 9y agoI did the same thing, but then realised it's pointless when you have flightradar24.com ...
- bdz 9y agoSome of the military and cargo planes are not showing up on Flightradar yet you can track them on your own.
- garaetjjte 9y agoFlightradar actually sources data from ADS-B receivers operated by volunteers.
- tomswartz07 9y agoI think what's so attractive about the RTL-SDR devices is that they're so cheap and have such a huge variety of applications. With a $10 dongle, you can go from tracking airplanes, to reading your wireless electric meter, to listening to local amateur radio, and then to an additional entropy source. I double I'll ever get tired of playing with this little radio.
- pishpash 9y agoPutting it in a box (what they suggest as an alternative) is better, and you don't need the RTL for that. The whole point is to take as local a measurement as you can.
- jlgaddis 9y agoThis is an interesting project and I've played with it in the past. Note, however, you should not use this for any real purpose. I saw a video on Youtube a while back of the author presenting this (at a LUG meeting or some such) and even he warns against using it for any real purpose. So play around with it, hack on it, etc., but do not, by any means, incorporate this into any process that requires actual entropy for cryptographic purposes.
- SlowBro 9y agoWhy not?
- IntelMiner 9y agoSpeculation: A digital TV signal is a lot more repeatable than an analog one. A digital signal doesn't have the "TV static" effect of an analog signal that may introduce different entropy between two devices pulling the same signal in different locations
- jamesmcnalley 9y agoI'm not sure I agree that a digital TV signal has more repetition than analog. It is possible, but worth investigating. That said, although the DVB-T dongles were intended for digital TV use, the typical demodulators (such as http://www.amateur-radio-wiki.net/index.php?title=RTL2832 http://www.amateur-radio-wiki.net/index.php?title=RTL2832) have an extremely wide frequency range and can be repurposed all over that range. Absolutely use extreme caution when adopting a new source of entropy.
- ce4 9y agoPlease note that the rtl-sdr dongle is used as a generic software defined radio receiver, it can be tuned to any frequency range it supports. It has a few issues like the usb packaging does some retiming, plus the rtl chip documentation is under nda and else.
- deleted 9y ago[deleted]
- nimbius 9y agoone of the dangers of the RTL entropy source project is not that it is predictable, but that it can be made to become predictable. By determining the frequency the device is listening on, you could inject a signal over the air that causes the entropy to conform to a known pattern. Even Lavarand users blend their entropy sources. Ive used the RTL as a blended entropy source for my kubernetes pi cluster project, but blended it with signal data from the open source FST-01 from the flying stone project. this in turn gets randomly audited by dieharder. http://webhome.phy.duke.edu/~rgb/General/dieharder.php http://webhome.phy.duke.edu/~rgb/General/dieharder.php My RTL entropy generator changes frequencies every 6 hours to a frequency determined by a script referencing /dev/urandom.
- vvanders 9y agoOne solution there is to pick a frequency(cell/military bands) where the FCC really comes down on transmissions that aren't authorized. Or you could randomize it, the RTL has a pretty wide receive range.
- ladberg 9y agoIt's still always possible to just generate any radio signal close to the SDR at a low enough power that no one else can pick it up. Also, it would require special SDR transmitters, but you could in theory transmit on every frequency that an RTL-SDR could pick up (again, close by at a low power so you don't disturb other stuff).
- snops 9y agoA simple comb generator would fill all the frequencies nicely, and is very cheap compared to an SDR transmitter. I have no idea how useful the comb waveform is to "break" the RNG output though. Here is one for $99, I'm sure you could DIY one for less with reduced output power: https://www.tekbox.net/test-equipment/comb-generators/tbcg1-radiating-comb-generator https://www.tekbox.net/test-equipment/comb-generators/tbcg1-...
- amelius 9y ago
- 2aa07e2 9y agoI have used youtube-dl with video_entropyd on a newly created DO server. Could be a nice alternative for anyone who hasn't physical access to their server to install such a dongle.
- kkielhofner 9y agoMy company sponsored some enhancements to this project several years ago and I blogged about it back then (without much interest). I still think it's a great effort but as others have pointed out here it shouldn't be your only source of entropy and I'd feel a lot better about it if it were properly reviewed/hammered on. Still, it's really cool to randomly see the project front page on HN years later!
- JoeDaDude 9y agoVon Neumann debiasing is well known, but I was unable to find a reference for Kaminsky debiasing . Can anyone point me to a description of what that is?
- eythian 9y agoThis might help: https://www.finnie.org/2012/08/14/twuewand-2-0-released/ https://www.finnie.org/2012/08/14/twuewand-2-0-released/