Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Changes:
Add an algorithm:
This pull request introduces a Python implementation of the VerusHash algorithm, a unique proof-of-work (PoW) hashing algorithm used by Verus Coin (VRSC). VerusHash combines SHA-256 and Keccak-256 in a specific sequence to create a secure and ASIC-resistant hashing algorithm. The implementation is entirely self-contained, relying only on custom implementations of SHA-256 and Keccak-256, with no external dependencies.
Documentation change:
Added detailed documentation for the VerusHash implementation, including:
Checklist:
Details of the Implementation:
Custom SHA-256 Implementation:
sha256
function is implemented from scratch, following the official SHA-256 specification. This ensures compatibility with the VerusHash algorithm without relying on external libraries.Custom Keccak-256 Implementation:
pycryptodome
.VerusHash Algorithm:
verushash
function implements the VerusHash sequence:Example Usage:
verushash
function to compute the hash of a sample input.Doctests:
Example Usage:
Output:
Performance Considerations:
References:
Let me know if you need further assistance or enhancements!