- Added a `verify_signature` to `NistRandomnessBeaconValue` objects.
This method returns a `True` or `False` after verifying the provided
record. The record is verified using two steps:
- First, using a combination of input data of the record, a simple message
is packed to create a message. That message is then used in combination with
the record's reported `signature_value` and the **known**
[NIST Beacon X.509 certificate](https://beacon.nist.gov/certificate/beacon.cer).
This certificate is available for download, but is baked into the application
as follows:
- Original CER file as a string: `nist_beacon_constants.py - NIST_CER_FILE`
- Original Public Key as a string: `nist_beacon_constants.py - NIST_RSA_KEY`
- Hard copy of `beacon.cer` is provided at the root of the project
- Second, the `signature_value` is ran through a `sha512` hash to confirm the
`output_value` is correct on the record.
- If either of the steps are found to be invalid, `verify_signature` will
return a `False` result.