Skip to content

Conversation

@balladyna
Copy link
Collaborator

This branch reimplements the RIPEMD-160 algorithm based on the pointycastle library. This hash function produces a 160-bit output, crucial for encoding addresses in Bitcoin and Cosmos based networks.

List of changes:

  • created a_md4_digest.dart to handle message digestion, including byte processing, block management, and state updates. This class can be extended in the future into: RIPEMD-128, RIPEMD-256, RIPEMD-320, SM3Digest and SHA-1, SHA-224, SHA-256 algorithms.
  • created ripemd160.dart to implement the RIPEMD-160 hash function
  • created new methods in register64.dart to support 32 lanes of Register64

This branch reimplements the RIPEMD-160 algorithm based on the pointycastle library. This hash function produces a 160-bit output, crucial for encoding addresses in Bitcoin and Cosmos based networks.

List of changes:
- created a_md4_digest.dart to handle message digestion, including byte processing, block management, and state updates. This class can be extended in the future into: RIPEMD-128, RIPEMD-256, RIPEMD-320, SM3Digest and SHA-1, SHA-224, SHA-256 algorithms.
- created ripemd160.dart to implement the RIPEMD-160 hash function
- created new methods in register64.dart to support 32 lanes of Register64
@balladyna balladyna requested review from dpajak99 and kronikarz March 20, 2025 12:39
@kronikarz kronikarz merged commit 693c5b8 into master Mar 20, 2025
2 checks passed
@kronikarz kronikarz deleted the ow-feature/ripemd160 branch March 20, 2025 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants