Crypta Labs QRNG white Paper

White Paper Authored by Jose Coello phd.
and Oliver Maynard Founders of Crypta Labs Limited

Crypta Labs' Quantum Random Number Generator (QRNG) white paper leverages quantum optics to deliver certified, high-entropy randomness, enabling quantum-safe communications for OEM integrations into FPGAs, MCUs, and custom adapters. This white paper explores our innovative technology, designed for mass adoption in critical sectors.

Table of Contents

1. What is a quantum random number generator

This white paper explains that a Quantum Random Number Generator (QRNG) is a hardware device which measures quantum events, such as photonic activity, to derive a random number which can be used by any system requiring a robust source of entropy. An example use case could be Cryptographic operations such as key generation.

2. QRNG System Overview

The Crypta Labs Quantum Random Number Generator (QRNG) system consists of 3 main subsystems: 

  • DDSCS (Dynamic Dual Shot-Noise Capture System) 

A physical, hardware device consisting of a packaged sensor and light source, each generating a shot noise as electrons are dynamically arriving at the sensor to capture the photons from the light source from which quantum noise will be captured and passed to the processing host. See Section 4 

  • The Capture Module. 

A software package which is responsible for driving the DDSCS in such a way that quantum noise is dominant on the sensor and then capturing the data. The capture module must also contain Health Monitoring capabilities to ensure captured data remains in the quantum regime throughout continued use. 

  • The Post Processing Module. 

A software function which is responsible for uniforming the entropy from the raw quantum noise. We apply certified algorithms (as defined by NIST). Once post processed, the data is fed from the device as uniform quantum random numbers. See Section 5.1 

3. Reference Implementations

Crypta Labs have developed several reference implementations of our technology as Proof of Concepts. 

The DDSCS measures 1cm x 1cm and is built using off the shelf discrete components. It outputs an analogue signal which interfaces with an ADC. The QRNG system comprises the Hardware DDSCS module and accompanying software library which has been implemented on a range of microcontroller units, as well as an FPGA for evaluation purposes. 

Designed for mass adoption, the DDSCS module has been tested at temperatures ranging -14 – +90 degrees and draws only 14mA. Our software library controls the capture of photons from the DDSCS and implements a health check suite to ensure the hardware is fully operational and has not been tampered with. 

In our reference implementations, we have measured output speeds ranging from 0.5Mbps to  800Mbps. The DDSCS sensor itself is capable of higher output (we calculate in the region of 1.6 Gbps) and limitations on the numbers above are due to the host ADC and processor.

White Paper - Crypta Labs Block Diagram
4. Dynamic Dual Shot-Noise Capture System (DDSCS)

The DDSCS is a discrete circuit which contains a light source which emits photons and a sensor which detects them. Its primary characteristics are: 

  • The light source must be independently controllable. 

The amount of light emitted by the light source must be able to be increased or decreased, and the system must know how much light is being emitted at any time. 

  • The Sensor must be capable of detecting quantum noise as dominant. 

This is determined through Characterisation. A sensor will read events from its environment but not all events will be photonic and, therefore, the sensor readout will reflect dark count and other environmental noise as well as quantum noise. The sensor must be capable of being driven such that the system can isolate the quantum noise. 

  • The DDSCS must be suitably packaged. 

The light source and sensor must be driven in a controlled environment, free from any external ambient light. It must also be housed such that the sensor is shielded from environmental factors such as heat, electromagnetic radiation, vibration etc – all which have an effect on the operating output.

How do we define Quantum Noise?

Quantum noise is defined as having a ’Fano Factor’* of one in the number of quantum events, such as the fluctuation of an electric charge obtained in a detector. This means that the mean = variance when plotting the Poisson distribution of sensor output when exposed to a controlled light source. Within the DDSCS, the LED will emit photons, of which a fraction will be captured by the sensor. At a constant rate of light emission, we can measure resultant noise that equals the square root of the amount of photons absorbed on the sensor. Observing this behaviour, we can conclude that quantum noise is dominant while other sources of noise represent a small percentage, and that we are operating in the quantum noise regime. 

We can measure the quantum noise by monitoring the output of the sensor under test conditions. In order to qualify noise as being of quantum origin rather than environmentally occurring, we first need to characterise the sensor to establish the optimal operating parameters. For our reference implementation, this process must be performed on each model of sensor used, as each differs in design and performance. 

We have studied the relationship of the noise in our sensor with respect to the intensity of the light, and we have found that it fits perfectly with a root square function. We also observe that the amount of noise in our sensor when there is no light is several orders of magnitude smaller compared to when light is present. Thus we conclude that the dominant noise is coming from the quantum properties of spontaneous emission.

*a measure of noise in quantum events (like photon detection). A Fano Factor of 1 means the variance equals the mean in the Poisson distribution of the sensor’s output, confirming that quantum shot noise is dominant over other sources. Helps prove we’re in the true quantum regime for reliable entropy.

5. Software Library

The Software library contains several modules and has been built as a portable SDK. It has been implemented on a range of ARM microcontrollers, as well as a hardware implementation on an FPGA.

Capture Control : The module which drives photon emission and captures data from the DDSCS.

Auto Calibration Health Check : After our sensor has been characterised, we can use our Auto Calibration module during run-time to control the output range of values (depending on the intensity of the LED) in such a way that we can counteract the effects of temperature fluctuations, ageing of components, etc. 

This Auto-calibration has been built in such a way that it can also detect tampering or potential external malicious interference with the device. Health tests verify that the device is working as expected and alert the host if not. 

Conditioning : Measuring any quantum random phenomena will reveal a non-uniform distribution. Conditioning is required to eliminate bias from the RAW data. We have utilised conditioning algorithms in line with NIST 800-90B specifications which meet standards required for cryptographic Key generation, as well as custom conditioning modes as government agencies sometimes require.

6. Appendix - Entropy and Test Results
Raw Data

Our Dynamic Dual Shot-Noise Captures analogue data which is converted using an ADC. We study the Fourier transform of each bit position of the data from the ADC, and only use the bits that show no evidence of predictability over extended capture.

Crypta Labs raw entropy results

In this example readout of our data at 10 bit resolution, we capture a very uniform spectrum for the 5 less significant bits. This observed behaviour is expected in the ideal white noise, and so these bits will be captured and make up our RAW data.

Entropy

The NIST 800-90B standard specifies that, in order for an entropy source (in our case a QRNG) to be used in cryptographic operations such as key generation, its output must satisfy full entropy for words of 8 bit length. This means that each 8 bit word produced must have the same probability of appearing in the generated output, independently of each other. 

Crypta Labs utilises the NIST guidelines. The first step for us is to know the minimum entropy of the device. The minimum entropy is the most conservative way to measure entropy. We consider the device to have the bias of the most common event or word of an 8 bit output, Applying this as the worst possible scenario for the entropy generation (our minimum entropy), we can now recover the full entropy by increasing the measurements taken. 

In our case we have a collection of atoms emitting light in each measurement time the outcome of the number of photons in a given time will be different Therefore, we need to study the minimum entropy of our Raw Random Numbers. NIST provides code and software for the estimation of the Min entropy in non independent identically (non-IID) distributed events.

NIST 800-90B results for non-IID of 100MB Raw data using 5 bits per sample.
Crypta labs Entropy results

Crypta Labs QRNG scores a Min entropy of 4.280344 of entropy out of 5 possible bits.

Results

Crypta Labs passed all the NIST 800-22 tests after applying NIST 800-90B conditioning to recover full entropy. 

We also don’t fail any of the Dieharder tests. 

Crypta Labs previous Random Number Generators have been independently tested by Kent University and the National Physics Laboratory under the AQuRand project reaching the same conclusion of passing all the NIST 800-22 tests that determine the quality of the outcome of Random Number Generator.

Below: Our most compact device, the Qcicada HSM: 1950 post processed QRNG’s per second.

Crypta Labs QCicada QRNG QHSM
Click the image to see more
Shopping Cart
Scroll to Top