Metadata-Version: 2.4
Name: zkbp
Version: 0.1.5
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python
Classifier: Programming Language :: Rust
Classifier: Typing :: Typed
Summary: ZKBP Python bindings
Keywords: zk,crypto,bn254
Author: JP Morgan Chase
License: Apache-2.0
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Source Code, https://github.com/jpmorganchase/padl

# zkbp

zkbp is an efficient Python interface for zero-knowledge proof (ZKP) development using the BN254 elliptic curve, built on top of `Ark-bn254` and `Secp256k1` libraries.

---

## 🔍 Project Description

This project provides a Python wrapper for the `zkbp` library, enabling:

- Zero-knowledge proof construction using **Sigma protocols**
- **Range proofs** and **Bulletproof-style extensions**
- Cryptographic primitives for secure and private ledger applications

The core implementation is based on **BN254** (Barreto–Naehrig curve), making it compatible with common zk tools and EVM.

---

## 📦 Use Cases

zkbp is particularly suited for:

- Exploring ZKP-based ledger applications
- Prototyping cryptographic workflows in Python
- Can be used directly with [PADL](https://github.com/jpmorganchase/PADL), a python ledger dev kit by applied-research at JPMorganChase.

---

## 🔧 Features

- Pythonic interface to `Ark-bn254` and `Secp256k1` libraries
- Direct access to ZK primitives and Sigma proof generation
- Extendable with advanced ZKP constructs

---

## 🚀 Getting Started

You can install or use the wrapped `zkbp` library in your Python projects. Example usage will be provided in future updates or within the `examples/` directory (if available).

---

## 📄 License

This software is licensed under the **Apache 2.0 License**. See the [LICENSE](LICENSE) file for details.

> ⚠️ **Note:** This is **research code only** and not intended for production use.

---

## 🤝 Contributions

This project is open to feedback and academic collaboration. 
