Inmetro's Randomness Beacon

Inmetro's Randomness Beacon is a web service, part of the SICCCiber project's effort to generate reliable and public sources of random numbers

About this page

Currently, they are generated by using a simple Photonic TRNG (True Random Number Generator) method. The key purpose is to define and construct a system based on quantum entanglement for generating the random numbers:

PLEASE, DO NOT USE THE BEACON GENERATED VALUES AS CRYPTOGRAPHIC KEYS.

Inmetro's Randomness Beacon is a web service, part of the SICCCiber project's effort to generate reliable and public sources of random numbers. Contact us for more details

In addition to the beacon, we developed two application prototypes using VDF. A prototype for combining beacons and a public api where any user can contribute values to generate a new random number. Both can be found here.

The service is available via a public REST API. Consumers need to provide a pulse generation time in POSIX format. See http://en.wikipedia.org/wiki/Unix_time for more information and http://www.epochconverter.com for an online timestamp converter.

Pulse at a specific time (or next closest):
beacon.inmetro.gov.br/beacon/2.1/pulse/time/<timestamp>
Example: beacon.inmetro.gov.br/beacon/2.1/pulse/time/1742165940000

Previous Pulse:
beacon.inmetro.gov.br/beacon/2.1/pulse/time/previous/<timestamp>
Example: beacon.inmetro.gov.br/beacon/2.1/pulse/time/previous/1742165940000

Next Pulse :
beacon.inmetro.gov.br/beacon/2.1/pulse/time/next/<timestamp>
Example: beacon.inmetro.gov.br/beacon/2.1/pulse/time/next/1742165940000

Last Available Pulse:
beacon.inmetro.gov.br/beacon/2.1/pulse
Example: beacon.inmetro.gov.br/beacon/2.1/pulse

First Pulse of the first Chain:
beacon.inmetro.gov.br/beacon/2.1/chain/1/pulse/1
Example: beacon.inmetro.gov.br/beacon/2.1/chain/1/pulse/1

Pulse <pulseIndex> in the chain <chainIndex>:
beacon.inmetro.gov.br/beacon/2.1/chain/<chainIndex>/pulse/<pulseIndex>
Example: beacon.inmetro.gov.br/beacon/2.1/chain/2/pulse/370109

Sequence of Pulses between two Timestamps:
beacon.inmetro.gov.br/beacon/2.1/skiplist/time/<startTimestamp>/<endTimestamp>
Example: beacon/2.1/skiplist/time/1703089020000/1742166000000

Short Sequence of Pulses in a chain according to an anchor and target pulses based on their timestamps:
beacon.inmetro.gov.br/beacon/2.1/skiplist?anchorTime=<startTimestamp>&targetTime=<endTimestamp>&chainId=
Example: beacon/2.1/skiplist?targetTime=1703089020000&anchorTime=1742166000000&chainId=2

Short Sequence of Pulses in a chain according to an anchor and target pulses based on their indexes:
beacon.inmetro.gov.br/beacon/2.1/skiplist?anchorTime=<startTimestamp>&targetTime=<endTimestamp>&chainId=
Example: beacon/2.1/skiplist?targetId=1&anchorId=370110&chainId=2

If a request for a Pulse results in no found Pulse, a 404 response is returned.

Viewer

Pulse
Record


Applications

  • Inmetro's Combination Beacon is a proposal for combining beacons built on the NISTR reference. The prototype uses Verifiable Delay Funcion(VDF) to combine random numbers from NIST, Chile and Brazil to generate a secure and reliable random number. See more details.
  • Inmetro's Unicorn App is a prototype that uses Verifiable Delay Function(VDF). The application allows any user to submit contributions for the publication of the new random number. See more details.