Open Hardware Random Number Generator

OneRNG is a reliable and Open verifiable USB-connected hardware entropy source & random number generator.

Verifying and using your OneRNG

We are working to populate these pages as quickly as possible, so please bear with us!

Verify the Hardware

VersionPictureVisual InspectionCPUDiagrams

V3.0 internal
Built in China
early 2017

CC2531 F256

V2.0 internal
Built in China
(Kickstarter stretch reward)

CC2531 F256

Built in China
(Kickstarter $50 reward)

CC2531 F256

Built in NZ
(Kickstarter $110 reward)

CC2531 F256

Test the Hardware

Plug the OneRNG into a USB socket, and confirm that it powers up. For the V2 internal device, please consult these installation instructions on how to connect this device to your motherboard.

Once connected, the LED light should come on and stay brightly lit, indicating that the entropy pool is populated and available.

It is possible that your computer will attempt to probe the OneRNG, mistaking it for a modem device (for example, if you have an old version of the Linux modem-manager package). If this happens you might see the LED flicker momentarily.

Remove the OneRNG from your system before proceeding to the Software steps.

We appreciate that these steps might be inconvenient for the V2.0 Internal hardware version, but strict verification is very important for all users of OneRNG.

Install the Host Software

Both the V1.0 and V2.0 units being shipped currently come with the V3.0 signed firmware. These are intended to be used with the V3.n Host Software. (Beta-test users have the V1.0 hardware, but unsigned V0.0, V1.0 or V2.0 firmware, and therefore have to be careful with their Host Software verification settings)

We provide an architecture-independent set of scripts to connect your OneRNG to the rngd daemon present on most Linux distributions.

The pre-requisites for these scripts are small : at, rng-tools, python-gnupg and openssl. Arch Linux users will need to install and enable atd to support the at

These scripts check the firmware every time they start communicating with OneRNG, and will refuse to use the unit if the signature checks fail.

Debian package

  • Install prerequisites:
    sudo apt-get install rng-tools at python-gnupg openssl
  • Download the package (via HTTPS from GitHub): onerng_3.6-1_all.deb (9.7K)
  • Verify the package checksum
    SHA256: a9ccf7b04ee317dbfc91518542301e2d60ebe205d38e80563f29aac7cd845ccb
       MD5: 682e6cb648a58a0443b51ff773197a50
  • Install:
    sudo dpkg -i onerng_3.6-1_all.deb
  • Uninstall:
    sudo dpkg -r onerng

RedHat package

  • Install prerequisites:
    sudo yum install rng-tools at python-gnupg
  • Download the package (via HTTPS from GitHub): onerng-3.6-1.fc20.noarch.rpm (11K)
  • Verify the package checksum
    SHA256: 2ebebadea4f77a59ae2793ed457a19afdd5d68a92f13f748f8d2dceeb10d9c11
       MD5: 6cfbbebe1998bc0e7733cc9f752a0548
  • Install:
    sudo rpm -i onerng-3.6-1.fc20.noarch.rpm
  • Uninstall:
    sudo rpm -e onerng


  • Install prerequisites
  • Download the package (via HTTPS from GitHub): onerng_3.6.orig.tar.gz (106K)
  • Verify the package checksum
    SHA256: 66a6d4be9725642488c33effa04b389bf24e4dd66b45f7316f3403142c1d80a3
       MD5: f1ffd033c56c9d66425304cef7d50f68
  • Install:
    tar xzf onerng_3.6.orig.tar.gz
    cd onerng_1
    sudo make install
    sudo udevadmin control --reload-rules
  • Uninstall:
    sudo rm /usr/lib/udev/rules.d/79-onerng.rules /sbin/

Test OneRNG Operation

Once the Host Software has been installed, insert your OneRNG. Test the correct operation of the hardware and software combined by demanding large quantities of data from /dev/random.

cat /dev/random >/dev/null

If OneRNG is working correctly, you should see the LED light dim as the onboard entropy pool is rapidly depleted.

When you interrupt the cat command (by pressing control-C) the LED should return to normal brightness.

Support for OneRNG

Please join the OneRNG Discussion Group for support queries, or contact members of the OneRNG team directly.