Entropy and The Arduino: When Clock Jitter is Useful

What do you do, when you need a random number in your programming? The chances are that you reach for your environment’s function to do the job, usually something like rand() or similar. This returns the required number, and you go happily on your way.

Except of course the reality isn’t quite that simple, and as many of you will know it all comes down to the level of randomness that you require. The simplest way to generate a random number in software is through a pseudo-random number generator, or PRNG. If you prefer to think in hardware terms, the …read more

Continue reading Entropy and The Arduino: When Clock Jitter is Useful

The Grooviest Random Number Generator Ever

Cloudflare is one of those Internet companies you use all the time, but don’t usually know it. Big websites you visit use Cloudflare to shore up their defenses against denial of service attacks. The company needed some truly random numbers for its security solutions, so it turned to some groovy old tech: lava lamps. In their office is a wall of 100 lava lamps monitored by cameras. The reaction of the lamps is unpredictable, and this allows them to generate really random numbers. [Joshua], a Cloudflare employee, talks about the technical details of the system in a recent blog post. …read more

Continue reading The Grooviest Random Number Generator Ever

Generate Random Numbers The Hard Way

Your job is to create a random number generator.

Your device starts with a speaker and a membrane. On this membrane will sit a handful of small, marble-size copper balls. An audio source feeds the speaker and causes the balls to bounce to and fro. If a ball bounces high enough, it will gain the opportunity to travel down one of seven copper tubes. Optical sensors in each of the tubes detect the ball and feed data to an Ardunio Mega. When the ball reaches the end of the tube, a robotic hand will take the ball and put it …read more

Continue reading Generate Random Numbers The Hard Way

Follow the Bouncing Ball of Entropy

When [::vtol::] wants to generate random numbers he doesn’t simply type rand() into his Arduino IDE, no, he builds a piece of art. It all starts with a knob, presumably connected to a potentiometer, which sets a frequency. An Arduino UNO takes the reading and generates a tone for an upward-facing speaker. A tiny ball bounces on that speaker where it occasionally collides with a piezoelectric element. The intervals between collisions become our sufficiently random number.

The generated number travels up the Rube Goldberg-esque machine to an LCD mounted at the top where a word, corresponding to our generated number, …read more

Continue reading Follow the Bouncing Ball of Entropy

Retrotechtacular: ERNIE

Wherever you may live in the world, who do you wish to smile upon you and deliver good fortune? You may be surprised to discover that for a significant number of Brits this role is taken by someone called [Ernie].

What, [Jim Henson]’s Ernie from Sesame Street‘s famous duo Bert and Ernie? Sadly not, because the owner of a [Rubber Duckie] can’t offer you the chance of a million quid every month. Instead, [Ernie] is a computer that has been anthropomorphised in the national imagination. More properly referred to as E.R.N.I.E, for Electronic Random Number I …read more

Continue reading Retrotechtacular: ERNIE

Retrotechtacular: ERNIE

Wherever you may live in the world, who do you wish to smile upon you and deliver good fortune? You may be surprised to discover that for a significant number of Brits this role is taken by someone called [Ernie].

What, [Jim Henson]’s Ernie from Sesame Street‘s famous duo Bert and Ernie? Sadly not, because the owner of a [Rubber Duckie] can’t offer you the chance of a million quid every month. Instead, [Ernie] is a computer that has been anthropomorphised in the national imagination. More properly referred to as E.R.N.I.E, for Electronic Random Number I …read more

Continue reading Retrotechtacular: ERNIE

GPG Patches 18-Year-Old Libgcrypt RNG Bug

New versions of GPG and its crypto library Libgcrypt were released on Wednesday addressing a vulnerability that could allow an attacker to predict Libgcrypt RNG output. Continue reading GPG Patches 18-Year-Old Libgcrypt RNG Bug