# ECVRF Library
A custom Elliptic Curve Verifiable Random Function (ECVRF) implementation.
## Features
- Key Generation and Management
- Proof Generation and Verification
- Hash-to-Curve Mapping
- Comprehensive Testing Suite
- Security Audits and Static Analysis
## Installation
```bash
pip install -e .
```
## Usage
```python
from ecvrf import KeyManager, VRF, VRFVerifier
```
# Initialize KeyManager
```python
km = KeyManager()
```
# Generate Key Pair
```python
private_pem, public_pem = km.generate_keypair()
```
# Initialize VRF and Verifier
```python
vrf = VRF(km)
verifier = VRFVerifier(km)
```
# Input Data
```python
alpha = b"Sample input for ECVRF."
```
# Generate Proof and Beta
```python
beta, proof = vrf.prove(private_pem, alpha)
```
# Verify Proof
```python
is_valid = verifier.verify(public_pem, alpha, beta, proof)
print(f"Verification successful: {is_valid}")
```
## Contributing
Contributions are welcome! Please open an issue or submit a pull request.
## License
MIT License
Raw data
{
"_id": null,
"home_page": "https://github.com/OmneDAO/python-ecvrf",
"name": "python-ecvrf-4o",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.7",
"maintainer_email": null,
"keywords": "ecvrf cryptography vrf elliptic-curve verifiable-random-function",
"author": "OmneDAO Foundation",
"author_email": "leadership@omne.foundation",
"download_url": "https://files.pythonhosted.org/packages/0d/c7/4d51d895d6095b9046020ace1048e8b44fa03013871f7321fd88570c5948/python_ecvrf_4o-0.1.1.tar.gz",
"platform": null,
"description": "# ECVRF Library\n\nA custom Elliptic Curve Verifiable Random Function (ECVRF) implementation.\n\n## Features\n\n- Key Generation and Management\n- Proof Generation and Verification\n- Hash-to-Curve Mapping\n- Comprehensive Testing Suite\n- Security Audits and Static Analysis\n\n## Installation\n\n```bash\npip install -e .\n```\n\n## Usage\n```python\nfrom ecvrf import KeyManager, VRF, VRFVerifier\n```\n\n# Initialize KeyManager\n```python\nkm = KeyManager()\n```\n\n# Generate Key Pair\n```python\nprivate_pem, public_pem = km.generate_keypair()\n```\n\n# Initialize VRF and Verifier\n```python\nvrf = VRF(km)\nverifier = VRFVerifier(km)\n```\n\n# Input Data\n```python\nalpha = b\"Sample input for ECVRF.\"\n```\n\n# Generate Proof and Beta\n```python\nbeta, proof = vrf.prove(private_pem, alpha)\n```\n\n# Verify Proof\n```python\nis_valid = verifier.verify(public_pem, alpha, beta, proof)\nprint(f\"Verification successful: {is_valid}\")\n```\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request.\n\n## License\n\nMIT License\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An Elliptic Curve Verifiable Random Function (ECVRF) library, initially designed for Omne.",
"version": "0.1.1",
"project_urls": {
"Documentation": "https://github.com/OmneDAO/python-ecvrf#readme",
"Homepage": "https://github.com/OmneDAO/python-ecvrf",
"Source": "https://github.com/OmneDAO/python-ecvrf",
"Tracker": "https://github.com/OmneDAO/python-ecvrf/issues"
},
"split_keywords": [
"ecvrf",
"cryptography",
"vrf",
"elliptic-curve",
"verifiable-random-function"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b605ae89d52c663dc8b80d2aceba338d0e655e7b1006e51c26d73b325492c267",
"md5": "7e6e2e99c749c32e08a610082fffea10",
"sha256": "31f971f2bc155354730404dc34dbf388525e97914704c2d7760ad2cde7ebab79"
},
"downloads": -1,
"filename": "python_ecvrf_4o-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7e6e2e99c749c32e08a610082fffea10",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.7",
"size": 9337,
"upload_time": "2025-01-04T19:38:38",
"upload_time_iso_8601": "2025-01-04T19:38:38.504988Z",
"url": "https://files.pythonhosted.org/packages/b6/05/ae89d52c663dc8b80d2aceba338d0e655e7b1006e51c26d73b325492c267/python_ecvrf_4o-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0dc74d51d895d6095b9046020ace1048e8b44fa03013871f7321fd88570c5948",
"md5": "0e08bc0c92d115fe012bcc5df0d19aad",
"sha256": "f992b6c45e4298c1f7b85354fe26528e237d5bba244956dd648787ac62f81e9e"
},
"downloads": -1,
"filename": "python_ecvrf_4o-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "0e08bc0c92d115fe012bcc5df0d19aad",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.7",
"size": 13674,
"upload_time": "2025-01-04T19:38:40",
"upload_time_iso_8601": "2025-01-04T19:38:40.573226Z",
"url": "https://files.pythonhosted.org/packages/0d/c7/4d51d895d6095b9046020ace1048e8b44fa03013871f7321fd88570c5948/python_ecvrf_4o-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-04 19:38:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OmneDAO",
"github_project": "python-ecvrf",
"github_not_found": true,
"lcname": "python-ecvrf-4o"
}