OneRNG

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


V2.0
Built in China
(Kickstarter $50 reward)



CC2531 F256


V1.0
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.5-1_all.deb (9.6K)
  • Verify the package checksum
    SHA256: 9f4a596aed6a0ab5b79c74c26292c6b0898496bf21dc68f2f6e70fe162494cc1
       MD5: aa5f4ae697b49b418c87ca29a978bd15
  • Install:
    sudo dpkg -i onerng_3.5-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.5-1.fc20.noarch.rpm (11K)
  • Verify the package checksum
    SHA256: edfdf2446b98e150a0414f226863d058a24111fae185fec258204a3eeed33da5
       MD5: 36ef9e4a833836bc26ce3feef548dd47
  • Install:
    sudo rpm -i onerng-3.5-1.fc20.noarch.rpm
    
  • Uninstall:
    sudo rpm -e onerng

Tarball

  • Install prerequisites
  • Download the package (via HTTPS from GitHub): onerng_3.5.orig.tar.gz (90K)
  • Verify the package checksum
    SHA256: afd6d0b64ad8e5557d10b497a9afb4ddeaf5e8d967069921941927f49b93fb16
       MD5: 9a9829375c70c10f1f9c66b8ff939f73
  • Install:
    tar xzf onerng_3.5.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/onerng.sh

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.