CHANGELOG¶
v0.9.4¶
- Project Changes
- Switched to
pycryptodomefrompycrypto. - Started locking versions for
requirements.txt. - Created a
sphinxbased documentation site. - Internal Changes
- Synced
LICENSEfile to use boilerplate notice. - Removed
nist_recordsdependency onNistBeaconValue - Removed
local_record_db. Most records are stored injsonnow.
v0.9.3¶
- Updated
LICENSEto work with GitHub LICENSE features. - Updated
READMElinks for Codecov, - Fixed
CONTRIBUTINGlink inREADME. - Updated library to use additional signing key
- For more details, see:
v0.9.2¶
- Internal Changes
- LICENSE
- Updated for 2016.
NistBeaconget_first_recordnow defaults to downloading the first record.
NistBeaconCrypto- Now computes the
structand other values for theSHA512Hash.
- Now computes the
NistBeaconValue- Pushed
structand signature hash building intoNistBeaconCrypto.
- Pushed
- Project Changes
- Coverage Tool
- Switched from Coveralls to Codecov.
v0.9.1¶
- Internal Changes
NistBeaconNIST_BASE_URLrenamed to_NIST_API_URL, to clarify that the value should NOT be altered under normal circumstances.
NistBeaconCrypto- New helper class for signature checking of
NistBeaconValueobjects. This is NOT a class designed for general use!
- New helper class for signature checking of
NistBeaconValue- Added a helper class
NistBeaconCryptoto handle SHA512 generation and signature checking. This means thatNistBeaconCryptoneeds to be the only reference for key import and signature checking. All otherNistBeaconValuedo not have to generate the full RSA objects. - Started using the now existing
xmlnsproperty directly from NIST.
- Added a helper class
v0.9.0¶
- Features
NistBeaconValue- Added a
pseudo_randomproperty. Returns arandom.Randomobject that has been seeded with theoutput_valuefor a givenNistBeaconValue.
- Added a
v0.8.3¶
- Internal Changes
NistBeaconValue- Creating a beacon value will store the JSON, XML representations
once.
These values do not have to be computed on each
jsonorxmlproperty access now as before.
- Creating a beacon value will store the JSON, XML representations
once.
These values do not have to be computed on each
- Project Changes (for Developers)
pylinthas been added to the project and build process.
v0.8.2¶
- Bug Fixes:
NistBeaconValue- Reported issue where a
xmlnsvalue onrecordended up breaking XML loading. Reported on GitHub. Since this is just a bug fix release. Thisxmlnsvalue will not show up if one was to use thexmlvalue from theNistBeaconValueobject.
- Reported issue where a
v0.8.1¶
- Minor documentation changes
v0.8.0¶
- Features
NistBeaconValue- Added
jsonandxmlas properties (replacesto_json()andto_xml())
- Added
v0.7.0¶
- Name changes
- Changed from
py_nist_beacontonistbeacon - Changed from
NistRandomnessBeacontoNistBeacon - Changed from
NistRandomnessBeaconValuetoNistBeaconValue
v0.6.0¶
- Features
NistRandomnessBeacon- Added a
get_first_recordmethod. An optional boolean flag nameddownloadallows the caller to either use the local first record object, or to download the first record directly from the NIST beacon.
- Added a
v0.5.2¶
- Added a section on installation.
- Updated
CONTRIBUTING - Re-do
PHONYtargets inMakefile - Update
travisbuild steps to include3.5-devandnightly
v0.5.1¶
- Badges made to point to their release branches
v0.5.0¶
- General
- Lots of documentation added through
docstrings! 📝 NistRandomnessBeacon- The beacon now understands how to check the chain. Using the
chain_checkmethod on the beacon with a giventimestampvalue the NIST Randomness Beacon chain can be verified for integrity purposes. 🔗
@classmethod
def chain_check(cls, timestamp: int) -> bool:
"""
Given a record timestamp, verify the chain integrity.
:param timestamp: UNIX time / POSIX time / Epoch time
:return: 'True' if the timestamp fits the chain. 'False' otherwise.
"""
NistRandomnessBeaconValue- ⚠️ All properties of the beacon have been placed behind
@propertydecorators to minimize possible manipulation - ⚠️
verify_signaturehas been removed from beacon values. Replaced with ``valid_signature`` - Introduced
valid_signatureas aboolproperty. Replaces ``verify_signature``
v0.4.0¶
- Added a
verify_signaturetoNistRandomnessBeaconValueobjects. This method returns aTrueorFalseafter 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_valueand the known NIST Beacon X.509 certificate. 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.ceris provided at the root of the project
- Original CER file as a string:
- Second, the
signature_valueis ran through asha512hash to confirm theoutput_valueis correct on the record. - If either of the steps are found to be invalid,
verify_signaturewill return aFalseresult.
v0.3.0¶
- Added
to_xml,to_json, andfrom_jsonmethods on beacon values
v0.2.0¶
- Initial PyPI release package