HarryR
solcrypto
Python

Solidity crypto libraries, ring signatures, proof of knowledge, packed signatures etc. with matching Python implementations for secp256k1 and (alt)BN-256

Last updated Jun 20, 2026
290
Stars
48
Forks
11
Issues
0
Stars/day
Attention Score
65
Language breakdown
Python 93.3%
Makefile 6.7%
Files click to expand
README

SolCrypto

Build Status

This repository contains Solidity and Python implementations of several cryptographic primitives, they are designed to work together and make it easier to build novel cryptosystems using composable primitives. These implementations can be easily switched to either the secp256k1 or alt_bn128 curves.

Algorithms

* Schnorr proof of knowledge: Schnorr.sol, schnorr.py * AOS ring signatures: AOSRing.sol, aosring.py * Linkable AOS ring signatures: UAOSRing.sol, uaosring.py * Packed ECDSA signatures (2x 256bit words, no v): ECDSA.sol, ecdsa.py * Merkle tree: MerkleProof.sol, merkle.py * Fast AOS ring signatures, using ecrecover: HackyAOSRing.sol, hackyaosring.py, see this post on ethresear.ch

TODO

* Pedersen commitments * Security hardening * Documentation

White Papers

* How to Leak a Secret * Linkable Spontaneous Anonymous Group Signature for Ad Hoc Groups * Borromean Ring Signatures: Gregory Maxwell, Andrew Poelstra * One-Time, Zero-Sum Ring Signature: Conner Fromknech * 1-out-of-n Signatures from a Variety of Keys: Masayuki Abe, Miyako Ohkubo and Koutarou Suzuki * One-out-of-Many Proofs: Jens Groth and Markulf Kohlweiss * Non-interactive and Information-Theoretic Secure Verifiable Secret Sharing

© 2026 GitRepoTrend · HarryR/solcrypto · Updated daily from GitHub