1 unstable release
0.1.0 | Oct 14, 2024 |
---|
#70 in #zero-knowledge
11KB
156 lines
Pedersen's hash function
This project provides a Rust implementation of Pedersen's Hash Function, a cryptographic hash function that maps fixed-size tuples of elements from modular arithmetic into elements of finite cyclic groups. Pedersen's hash function is widely used in zero-knowledge proofs, cryptographic protocols, and blockchain applications due to its properties of hiding inputs while maintaining commitments.
The implementation focuses on efficiency and security, allowing users to easily compute hash values for various inputs while ensuring the integrity and non-repudiation of the hashed data.
Table of Contents
Installation
To use this implementation, add the following dependency to your Cargo.toml
[dependencies] pedersen-hash = "0.1.0" # Replace with the latest version
Usage
TTo include this Pedersen hash function in your Rust project, add the following to your Cargo.toml
:
[dependencies]
pedersen-hash = "0.1.0" # Replace with the latest version
```
use Pedersen_hash_function::pedersen_hash_function;
let x = 1;
let y = 2;
let cyclic_group = 5;
let pedersen_hash = pedersen_hash_function(x ,y, 0, cyclic_group);
assert_eq!(pedersen_hash,3);
```
## Contributing
1. Fork the repository.
2. Navigate to the project directory:
```bash
cd moon-math
-
Checkout to this branch:
git checkout -b pedersens-hash-function
-
Run the following command:
cargo run
License
This project is licensed under the MIT License.