# US 11,907,686 B1 · True random number generation based on instrument data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,686 B1
- Document ID: US11907686B1
- Status: Granted
- Kind: B1
- Application number: 18/448,854
- Filed: 2023-08-11
- Granted: 2024-02-20
- Earliest claimed: 2023-08-11
- Assignees: Veiovia Ltd.
- Applicants: Veiovia Limited
- Inventors: Darren Hurley-Smith; Alastair Droop; Remy Lyon; Roxana Iuliana Teodor
- Web page: https://patentgrep.com/patent/US11907686B1

## CPC

- G06F 7/588: {Random number generators, i.e. based on natural stochastic processes}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure provides computing apparatuses, methods and software for generating random numbers. Data is received from an instrument characterising macromolecules in a sample, the data including measurement event information relating to measurements of individual macromolecules recorded over time. For each measurement event in a sequence of measurement events in the data, an event timing representative of the duration of event or the time passing between consecutive events is determined. This is compared with a comparator value to generate a binary output, and a bit value is determined based on the binary output. Data representative of a random number is generated by assembling a vector of bit values determined from the event timings in sequence. The determined sequence of event timings for the sequence of measurement events represents a source of entropy extracted by the comparison step to generate the random number.

## Claims

### Claim 1

A computer-implemented method of generating random numbers, comprising:
receiving data output from an instrument characterising macromolecules in a sample, the data including measurement event information relating to measurements of individual macromolecules recorded over time;
determining, for each measurement event in a sequence of measurement events in the data, an event timing (or dwell) representative of the duration of event or the time passing between consecutive events;
comparing data based on each event timing with a comparator value to generate a binary output;
determining a bit value based on the binary output of the comparison for each event timing;
generating data representative of a random number by assembling a vector of bit values determined from the event timings in sequence;
wherein the determined sequence of event timings for the sequence of measurement events represents a source of entropy extracted by the comparison step to generate the random number.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the received data output from the instrument is genomics data from a sequencer characterising DNA, RNA, or proteomics data output from an instrument characterising biopolymers in a biological sample.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the received data output from the instrument is data representative of a current measured across a nanopore as a nucleic acid sequence passes through the nanopore.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein comparing data based on each event timing with a comparator value to generate a binary output comprises:
generating an integer representation of the event timing;
performing a modulo 2 operation on the integer representation of the event timing to determine a remainder value;
determining the binary output based on the modulo 2 operation.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the integer representation of the event timing is a binary number, and the modulo 2 operation determines the remainder value as the value of the last bit of the integer representation of the event timing.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein comparing data based on each event timing with a comparator value to generate a binary output comprises:
comparing each event timing with an adjacent event timing in the sequence;
generating a binary value indicative of whether the event timing is longer or shorter than the adjacent event timing;
determining the binary output based on the binary value.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising receiving the data output from the instrument as a datastream as the instrument characterises polymers in a biological sample; and
generating the random numbers from the datastream as it is received.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein generating data representative of a random number by assembling a vector of bit values determined from the event timings in sequence further comprises performing a cryptographic function or a hash function on the assembled vector of bit values.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, further comprising causing the generated data representative of a random number to a recipient responsive to a request for a random number.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising operating a plurality of computing apparatuses to generate random numbers from data output from an instrument characterising macromolecules in a sample received at that computing apparatus, and causing the plurality of computing apparatuses to operate together to provide a distributed randomness beacon to provide a randomness pool sending random numbers responsive to requests from computing apparatus.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, where in the output data representative of a random number is used in cryptography, secure authentication, secure communications, lotteries, statistical simulations, random sampling, randomized algorithms, or as a seed for a pseudo random number generator.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, wherein the source of entropy is the physical randomness arising from the interaction between the macromolecules and the environment in which the macromolecules are measured by the instrument.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1, wherein the source of entropy is the physical randomness arising from the fluid dynamics measured by observing the passage of the macromolecules through a microfluidic structure during measurement by the instrument.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1, wherein the data including measurement event information includes the timing in reading events of macromolecules in their passage through a flow cell.

### Claim 15 (depends on 1)

The computer-implemented method of claim 1, wherein an event timing represents one of:
the duration for which the instrument registers a signal indicative of an active measurement of a Macromolecule; or
a duration for which the instrument registers a signal indicative of a background or null activity during which no Macromolecule is being actively measured.

### Claim 16

Apparatus for generating random numbers, comprising:
one or more processors; and
a memory storing instructions that, when executed by the processor, configure the apparatus to:
receive data output from an instrument characterising macromolecules in a sample, the data including measurement event information relating to measurements of individual macromolecules recorded over time;
determine, for each measurement event in a sequence of measurement events in the data, an event timing representative of the duration of event or the time passing between consecutive events;
compare data based on each event timing with a comparator value to generate a binary output;
determine a bit value based on the binary output of the comparison for each event timing;
generate data representative of a random number by assembling a vector of bit values determined from the event timings in sequence;
wherein the determined sequence of event timings for the sequence of measurement events represents a source of entropy extracted by the comparison step to generate the random number.

### Claim 17 (depends on 16)

Apparatus as claimed in claim 16, further comprising the instrument configured for characterising macromolecules in a sample;
wherein the instructions further configure the apparatus to:
receive the data output from the instrument as a datastream as the instrument characterises polymers in a biological sample; and
generate the random numbers from the datastream as it is received.

### Claim 18 (depends on 16)

A distributed randomness beacon comprising:
a plurality of the apparatuses for generating random numbers as claimed in claim 16 communicatively coupled via a network;
wherein each apparatus further comprises instructions that further configure each apparatus to:
generate random numbers from data output from an instrument characterising macromolecules in a sample received at that computing apparatus; and
cause the plurality of apparatuses to operate together to provide a randomness pool sending random numbers responsive to requests from computing apparatus.

### Claim 19

A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:
receive data output from an instrument characterising macromolecules in a sample, the data including measurement event information relating to measurements of individual macromolecules recorded over time;
determine, for each measurement event in a sequence of measurement events in the data, an event timing representative of the duration of event or the time passing between consecutive events;
compare data based on each event timing with a comparator value to generate a binary output;
determine a bit value based on the binary output of the comparison for each event timing;
generate data representative of a random number by assembling a vector of bit values determined from the event timings in sequence;
wherein the determined sequence of event timings for the sequence of measurement events represents a source of entropy extracted by the comparison step to generate the random number.
