Randomness source v6.0.2

The quantum seed is used by the Quantum Origin library to extract high quality, proven randomness, from a source on the local system.

Where file-based configuration is used, logging is configurable through wsr section of the file.

Tip

rdseed or qo_jitter are the recommended randomness sources for most use-cases.

wsr stands for ‘weak source of randomness’, a phrase used within the academic research community to describe one of the inputs to the internal processes.

When an RDSEED enabled CPU is available, Quantinuum recommends using rdseed.

wsr:
    type: rdseed

Where RDSEED is unavailable, or as otherwise directed, Quantinuum recommends qo_jitter. QO Jitter is a non-physical NIST-certified entropy source providing NIST-certified Full Entropy.

wsr:
    type: qo_jitter

Tip

You can view the corresponding NIST certificate on the NIST website: https://csrc.nist.gov/projects/cryptographic-module-validation-program/entropy-validations/certificate/214

Randomness Sources

Type

Description

Requires path

Supported Adaptors

rdseed

Uses the Intel or AMD-provided RDSEED mechanism which is commonly available on many modern machines

No (ignored if provided)

All (RDSEED-enabled CPUs only)

qo_jitter

Uses a modified verison of jitter entropy that includes Quantum Origin and is approved by various reputable bodies

No (see below)

All

jitter

Uses an external/user-supplied entropy source by specifying the path to a local shared library. Such a library can be built from the sources at: https://github.com/smuellerDD/jitterentropy-library

Yes

All on Linux

file

Uses a file-based source of randomness, such as /dev/hwrng

Yes

All

callback

Uses a user-provided C function which can provide entropy on demand. Review the SDK documentation for further information.

No

SDK Only

The following shows a sample configuration using a path-based randomness source:

wsr:
    type: file
    path: /dev/hwrng

Note

No path value is required for either RDSEED or QO Jitter.

QO Jitter and support for RDSEED are embedded within Quantum Origin distributables. No external library is required.

If a path value is provided for QO Jitter, then it must point to a Quantinuum-provided Quantum Origin Jitter Package. If QO Jitter is selected and the path does not contain a Quantinuum-provided Quantum Jitter Package (e.g. a standard build of Jitter or an invalid path) then an error will occur.

It is recommended to always use the embedded QO Jitter library when QO Jitter is required, i.e. do not provide a “path”. By default, the interactive config generator will only generate configs which use the embedded QO Jitter.

If a path is provided for RDSEED, it is ignored.