Quantum Random Numbers Generator

This Quantum Random Numbers Generator (QRNG) creates randomness by measuring quantum processes, which are, by nature fully non-deterministic.


Category:

Description

Description

This QRNG can be used in multiple applications across different sectors such as Finance, Industry, Telco or Research and in multiple Use Cases: Metaverse, Cryptography, Automotive, Scientific modeling, Gaming

Benefits of Quantum Random Numbers vs. Classic

  • Most of Classic RNGs are Pseudo Random Number Generators (PRNG)
  • The source of randomness is unpredictable and controlled by quantum process.
  •  The entropy source tends to produce true random output.
  • Live/ real-time monitoring of entropy source is possible and highly effective as well.
  • All attacks on the entropy source are detectable.

Use Cases

Quantum Random Numbers for the Metaverse

There are multiple use cases in the Metaverse where Quantum Random Numbers can be applied. These are some of them where the fully non-deterministic nature of Quantum Randomness provides a great advantage:

  • Blockchain gaming
  • NFT collections
  • DeFi Protocols
  • Custodial and Non-Custodial Draws
  • Randomizing Rebase Times
  • Marketing Campaigns and Loyalty Rewards
  • Fair Selection and Ordering Processes
  • Authentication and Security

Quantum Random Numbers for Security and Cryptography

Random numbers are important in computing. TCP/IP sequence numbers, TLS nonces, ASLR offsets, password salts, and DNS source port numbers all rely on random numbers. In cryptography randomness is found everywhere, from the generation of keys to encryption systems.

Some applications where the QRNG can be applied are:

  • Secure wireless communications, including 802.11i, 802.15.3, 802.15.4 (ZigBee), MBOA, 802.16e
  • Electronic financial transactions
  • Content protection, digital rights management (DRM), set-top boxes
  • Secure RFID
  • Secure Smart Cards

Automotive (V2X, CAN, Infotainment, etc)

Detailed simulation models have to incorporate random effects. Since the generation of randomness is subject to several shortcomings, this needs to be considered for the selection of the randomness generator.
Random sequences are necessary for the domain of V2X (Vehicle-to-everything). It is important to avoid skewed results caused by classic or pseudo random number generation and ensure the statistical relevance of the simulation series.

Artificial Intelligence (Machine and Deep Learning)

Quantum Randomness can be used as a tool in preparing data and in learning algorithms that map input data to output data in order to make predictions. It is used to help the learning algorithms be more robust and ultimately result in better predictions and more accurate models.

Scientific Modeling & Simulations

A QRNG can be used to help the learning algorithms be more robust and ultimately result in better predictions and more accurate models.

Gaming applications

Random number generators are continuously used for more and more gaming functions and algorithms. Quantum randomness allows you to make your games less ‘determined’ and thus more difficult for the player to beat, which means less patterns and more potential for replay.

Features

  • Easy-to-use SaaS endpoint
  • Request from 32 bits to 1MB of random data per request
  • Online service based on True Random Numuber Generators that relay on hardware components using Photonic Integrated Chips (PICs).

Brand

Brand

QLabz

Additional information

Additional information

Sustainability focus

Sector

, , , , , , , ,

Use case

Usage REST API

Usage REST API

Quside’s QRNG is directly accessible through the QCentroid Platform API.

Three steps are needed to get a rondom number using this method:

  1. Authentication: Obtain an access token using your credentials
  2. Random number request: Request the random number using the access token obtained in step 1 and obtain a Job Id.
  3. Obtain the result: Check the job status and obtain the result.

Step 1: Login/authentication

Authentication to the QCentroid Platform API is done through the following endpoint:

POST   https://api.qcentroid.xyz/login

And providing the following JSON data in the request body:

{
    "username": "your-username",
    "password": "your-password"
}

The response will be in JSON format, containing the access token and will look like this:

{
    "access_token": "eyJ0eXAiOiJKV1  ...  iXWgdfolI"
}

Step 2: Quantum Random Number Request

Perform a POST request to the following endpoint:

POST   https://api.qcentroid.xyz/problem/raw_certified_random

Include Authrization type: Bearer token:

"Authorization: Bearer {access_token}"

Also, include the following request body in JSON format:

{
    "data": {
        "size": 30
    },
    "solvers": [{
        "name": "quside-solver-random"
    }]
}
Where solver.name is the name of the solver you want to use, in this case “quside-solver-random”
And data.size is the size of the Quantum Random Number you want to request. This value goes from 1 to 255 bytes.
The response to this rquest will be the Job Id of your request in JSON format:
{
    "detail": "Authorized. Processing file",
    "job": "RI5XXXXXX11F"
}
You can use this Job Id later to obtain the result.

Step 3: Obtain the result

To obtain the result, perform a GET request to the following endpoint using the Job Id obtained in step 2:

GET   https://api.qcentroid.xyz/job/{job_id}

While the solver is working, the response to this request will include the following status information:

{
    "job": {
        "RI5XXXXXX11F": {
            "status": "PENDING",
            ...
        }
    }
}

Once the Job has been fullfilled, you will obtain the following JSON response that includes the result:

{
    "job": {
        "RI5XXXXXX11F": {
            "status": "FINISHED",
            "started_at": "07/27/2022, 09:28:56",
            "end_at": "07/27/2022, 09:30:15",
            "executions": {
                "quside-solver-random": {
                    "started_at": "",
                    "end_at": "07/27/2022, 09:30:02",
                    "status": "SUCCESS",
                    "data": {
                        "size": 30
                    },
                    "arguments": null,
                    "result": "b"xf4x7fix8dPxa51x86xb8xc9dxb2C&x95xf4=x83x9cxcaxe3xf7xe7!xcfxe8xf0x0fx8exc2Mxf9x8ax87xc2Jxc7O=xd5xf8xcexf5xc1n6Ux17rxa0xdbxccx07*5x08x95xeexcd%x9cx8ax90Exf7!Ux0cx99xccxccx8cxe5xd1xefx0b;xcbx9fx1fxdfxd9xf6x88!x04Oxeax8dIx90zxfex01x1f+xa4Bxaax8axd0xe1Uxe23xa1x87xdbxc6Wxe0nxa2xe3Fxb2x84xc9xc6xeb""
                }
            }
        }
    }
}

 

Usage from Smart Contract

Usage from Smart Contract

Usage details from a Smart Contract