Z1FFER – A True Random Number Generator for Arduino (and the post-Snowden era)

[two_columns_one] Name: Z1FFER
Author: Rob Seward (VHS Design LCC)
Version: 0.3.2

Description: Z1FFER is a true random number generator (TRNG) shield for Arduino. It uses a thermal noise technique known as Modular Entropy Multiplication to generate random numbers.
[/two_columns_one] [two_columns_one_last]

Compatibility: Optimized for Arduino Uno
Price: $35.00

[/two_columns_one_last] [divider]

Developed by Brooklyn-based artist and programmer Rob Seward, Z1FFER is a low-cost, open-source Hardware or True Random Number Generator (TRNG) shield for Arduino that harnesses thermal noise in a Modular Entropy Multiplication architecture to provide a robust random bitstream for research and experimentation. Z1FFER was first announced together with OpenRandom.org (a recource site for all things RNG) at Eyeo 2014 and has been in development since. The release candidate – version 0.3.2 – launched in November 2016 and is now available in the CAN shop.

Z1FFER uses thermal noise from a resistor that is put through something known as a Modular Entropy Multiplier architecture. This was invented by Peter Allan in 1999, and later reinvented by Bill Cox (2013) – the circuit is very close to Bill Cox’s design. It involves taking the small noise signal and doubling it repeatedly, causing it to grow exponentially. Once it crosses a threshold the voltage range is added and the result modulated – this has a subtractive effect that is repeated until the voltage falls below the threshold. The signal moves back and forth above and below the threshold in a random manner, which is converted into a random bitstream.

↑ Z1FFER analog values (top) and binary output (bottom) as visualized in Swift
↑ Z1FFER oscilloscope output showing the analog values (bottom) and the binary conversion (top)

Z1FFER is not designed to be self-monitoring or secure against side-channel attacks, so if you plan on using it for security purposes, do so at your own risk. Also: Z1FFER is primarily intended for hobbyists and developers, and while Rob does provide a few scripts and instructions to get you started, it does not come with any software to help you integrate the bitstream into your own projects or systems. “It is not particularly user-friendly; it essentially pours a stream of randomness into your computer via USB,” writes Rob on the Z1FFER website. Why you should get one anyway: “Because you are cursed with the inclination to be interested in this kind of thing.”

Rob Seward is also recognised for his artist practice. Noteworthy past projects include Four Letter Words (2010), a kinetic matrix of fluorescent lights designed to display algorithmically generated word sequences (which we broke down on CAN here), Bloc Jam (2010/11), a large-scale interactive music sequencer developed for MUTEK Montréal, and the playful Bauhaus-inspired pattern generator app Kunst Bauen (2008/10), as featured on CAN here.

Project website | GitHub | Rob Seward | CAN Shop