Home > News & Updates > Electronics News Updates > OneRNG Project Documentation

OneRNG Project Documentation

Summary of OneRNG Project Documentation


The OneRNG is a low-cost, open-source USB entropy generator designed to provide reliable random data for cryptographic applications. It features open-source hardware and firmware, allowing users to verify its contents and program it externally. The device generates approximately 350kbits per second of entropy, packaging data at roughly 7.8 bits per byte, which approaches 8 bits per byte when used at lower rates.

Parts used in the OneRNG:

  • USB stick
  • Cheap RF system platform
  • USB stack
  • External programmer

Change list

  • 26 Jul 2015 – added rework instructions for those who want to do it themselves
  • 21 Jun 2015 – new software version to add optional (but default) whitening support between the OneRNG and rngd
  • 20 Apr 2015 – new software version to support another issue with firmware verification – if your board was failing verification (starting up then the LED went out) you should grab this new version. If your board is working OK there’s no reason to upgrade.
  • 19 Apr 2015 – new software version to support issues with python versions, and some gentoo udev issues – if your board was failing verification (starting up then the LED went out) you should grab this new version. If your board is working OK there’s no reason to upgrade.
  • 10 Apr 2015 – new software version to support issues with rngd defaults and different rngd versions
  • 26 Mar 2015 – new software versions to support new Version 3 firmware (and old V1 firmware)
  • 16 Dec 2014 – added pointers to the programmer’s design files and firmware source
  • 14 Dec 2014 – cleaned up for first major release, added links to github repositories and added top and bottom images
  • 13 Nov 2014 – fixed issue disabling echo on tty devices
  • 11 Nov 2014 – added at as a dependency, minor doc changes
  • 5 Nov 2014 – added firmware validation, fixed multiple startup issues, support for buggy udevs
  • 7 May 2014 – included .deb and .rpm files for Linux installation
  • 29 Apr 2014 – added first part of Windows installation, added pics
  • 22 Feb 2014 – Created

OneRNG Project Documentation

Contents

Introduction

Beta testers

Note to Linux beta testers if you got a beta unit prior to November 2014 your unit does not contain a signed firmware image – the software currently released on this page now checks the OneRNG’s firmware integrity before starting rngd – if your unit is working well there’s no real reason to update the software, if you’re having occasional reliability issues starting the unit then probably you should grab this new version of the support software, you can disable the firmware check by editing the configuration file /etc/onerng.conf

Goals

Simply:

  • Cheap
  • Reliable
  • Open
  • Hackable

Overview

Paranoia abounds! well maybe a bit – we are in a situation where we don’t trust our tools – especially our crypto tools – this project is an attempt to create a cheap open source entropy generator that’s open enough that one can verify and trust it.

We’ve based our design on an existing platform – our Cheap RF system – mostly because it’s cheap to build, we had existing hardware, and had just finished bringing up a USB stack for it

Our simple device is a USB stick, it is open source hardware, you can build your own, runs open source firmware – and you can physically open it to make sure that what’s inside is what you expect. With an external programmer you can also program it with your own firmware.

We generate ~350kbits per second of entropy packaged at ~7.8 bits/byte – if you use the entropy data at a lower it accumulates and we quickly approach 8 bits/byte.

 

For more detail: OneRNG Project Documentation

Quick Solutions to Questions related to OneRNG:

  • What is the primary goal of the OneRNG project?
    The goals are to be cheap, reliable, open, and hackable.
  • How much entropy does the OneRNG generate per second?
    It generates approximately 350kbits per second of entropy.
  • Can users build their own OneRNG device?
    Yes, the design is open source hardware so you can build your own.
  • Does the OneRNG require proprietary software?
    No, it runs open source firmware and uses open source hardware.
  • How can users verify the internal components of the device?
    You can physically open it to ensure what is inside matches expectations.
  • Is it possible to program custom firmware on the OneRNG?
    Yes, with an external programmer you can program it with your own firmware.
  • What happens if the entropy data is used at a lower rate?
    The data accumulates and quickly approaches 8 bits per byte.
  • Why was the Cheap RF system chosen as the base design?
    It was chosen because it is cheap to build and existing hardware was available.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top