urda / nistbeacon

Python 3 Library to access the NIST Randomness Beacon
https://urda.github.io/nistbeacon/
Apache License 2.0
10 stars 2 forks source link
nist nist-randomness-beacon python

Python NIST Randomness Beacon

WARNING: DO NOT USE BEACON GENERATED VALUES AS SECRET CRYPTOGRAPHIC KEYS.

Installation

Prerequisites

A required library :code:pycryptodome is used with :code:nistbeacon.

Ubuntu, and other Linux-based users should have :code:python3-dev installed.

.. code:: bash

apt-get install python3-dev

Installing :code:nistbeacon

To install the beacon library, simply use :code:pip:

.. code:: bash

pip install nistbeacon

Beacon Usage

It is easy to use the beacon. Most queries are performed through :code:NistBeacon which produces :code:NistBeaconValue objects.

Beacon Sample Code

.. code:: python

from nistbeacon import NistBeacon

# In the examples below I will be using 1447873020
# as my <timestamp> when required

# Current Record (or next closest)
# https://beacon.nist.gov/rest/record/<timestamp>
record = NistBeacon.get_record(1447873020)

# Previous Record
# https://beacon.nist.gov/rest/record/previous/<timestamp>
prev_record = NistBeacon.get_previous(1447873020)

# Next Record
# https://beacon.nist.gov/rest/record/next/<timestamp>
next_record = NistBeacon.get_next(1447873020)

# First Record
# https://beacon.nist.gov/rest/record/1378395540
first_record = NistBeacon.get_first_record(download=True)

# Last Record
# https://beacon.nist.gov/rest/record/last
last_record = NistBeacon.get_last_record()

# Verify the record and the record chain
record_chain_result = NistBeacon.chain_check(1447873020)

Further Documentation

Please refer to the official documentation <https://urda.github.io/nistbeacon/>_ to dive deeper into :code:NistBeacon and :code:NistBeaconValue objects.

Contributing

Please refer to the CONTRIBUTING <https://github.com/urda/nistbeacon/blob/master/.github/CONTRIBUTING.md>_ document on GitHub

Project Health

+---------+-----------------+--------------------+----------------------+ | Branch | Linting Checks | Testing Status | Code Coverage Status | +=========+=================+====================+======================+ | Master | |MasterLint| | |MasterTesting| | |MasterCoverage| | +---------+-----------------+--------------------+----------------------+

References

.. |MasterCoverage| image:: https://codecov.io/gh/urda/nistbeacon/branch/master/graph/badge.svg?branch=master .. |MasterLint| image:: https://github.com/urda/nistbeacon/workflows/Linting%20Checks/badge.svg?branch=master .. |MasterTesting| image:: https://github.com/urda/nistbeacon/workflows/Comprehensive%20Testing/badge.svg?branch=master