A wrapper for the NIST Randomness Beacon 'cause sometimes you need to get a 512-bit full-entropy bit-string programmatically. You never know.
Inspiration: http://hackaday.com/2014/12/19/nist-randomness-beacon/
NIST project description: http://www.nist.gov/itl/csd/ct/nist_beacon.cfm
API Description: https://beacon.nist.gov/home
Add this line to your application's Gemfile:
gem 'nist_randomness_beacon'
And then execute:
$ bundle
Or install it yourself as:
$ gem install nist_randomness_beacon
require 'nist_randomness_beacon'
client = NISTRandomnessBeacon::Client.new
record = client.last
# => NISTRandomnessBeacon::Record
record.output_value
# => "4838827EDEE67CD5F58139933709764D1C51B4FC362DCAAB06B1572AC533F15F648F5EA98C5276187EBB87148852AEE291DB735F821CDC04E53DD7331AB1D3B6"
# Pass an optional time to initialize:
three_days = 3 * 24 * 60 * 60
client = NISTRandomnessBeacon::Client.new(Time.now - three_days)
record = client.current
record.output_value
# => "1B080E1C3B8A8A0FFA51831B1F830D23CE66C2FF47BF35361CF05D8095CA0AFC69A78D6711774C2653108CA355C3EA4A63926655452048A4B211BC871FC812F8"
WARNING: DO NOT USE BEACON-GENERATED VALUES AS SECRET CRYPTOGRAPHIC KEYS. See this StackExchange thread.
You can generate docs locally with the command rake yard
.
You can view the docs for the latest release at RubyDoc.info.
Pull requests welcome! Please see the contribution guide.
MIT License
Some documents were produced and provided by NIST.