neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
gnark-crypto는 BN·BLS12·BLS24·BW6 곡선 위의 타원곡선·페어링 암호와 영지식증명에 유용한 알고리즘을 제공합니다
gnark-crypto provides elliptic curve and pairing-based cryptography on BN, BLS12, BLS24 and BW6 curves. It also provides various algorithms (algebra, crypto) of particular interest to zero knowledge p
개발 도구Go · Go TemplateGitHub @Consensys-Incorporated직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
gnark-crypto provides elliptic curve and pairing-based cryptography on BN, BLS12, BLS24 and BW6 curves. It also provides various algorithms (algebra, crypto) of particular interest to zero knowledge proof systems
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗gnark-crypto provides efficient cryptographic primitives, in Go.
It is actively developed and maintained by the team ([email protected] | HackMD) behind gnark: a framework to execute (and verify) algorithms in zero-knowledge.
Each pairing-friendly curve has a twistededwards companion sub-package for efficient elliptic-curve cryptography in zkSNARK circuits. BLS12-381 also has the bandersnatch companion curve.
Additional non-pairing-friendly curves: secp256r1 (P-256), secp256k1, grumpkin, stark-curve.
Small prime fields for STARK-style provers:
koalabear and babybear — 31-bit fields with AVX-512 and NEON vector kernels; degree-2/4/6 extensionsmamabear — 49-bit field with AVX-512 IFMA kernels; a degree-3 extensiongoldilocks — 64-bit field; a degree-2 extensionfft, poseidon2, sis (Ring-SIS) and iop; KoalaBear and MamaBear additionally provide the experimental vortex commitment schemeecdsa - ECDSA signatures, on every curve aboveeddsa - EdDSA signatures, on the companion twistededwards curvesmimc - MiMC hash function using Miyaguchi-Preneel constructionposeidon2 - Poseidon2 permutation and compression functionhash - registry of field-typed hash functionskzg - KZG commitment schemempcsetup - multiparty setup ceremony primitives (MMPORPG)shplonk / fflonk - batched polynomial commitment openingspedersen - Pedersen vector commitmentsfft - Fast Fourier Transformiop - polynomial IOP building blocks (multilinear, quotients, ratios)permutation - Permutation proofsfiatshamir - Fiat-Shamir transcript builderfield/generator - Finite field arithmetic code generator (blazingly fast big.Int)merkletree - Merkle tree accumulatoreisenstein / lattice - Eisenstein integer arithmetic and lattice reduction for scalar decompositiongnark-crypto is not fully audited and is provided as-is, use at your own risk. In particular, gnark-crypto makes no security guarantees such as constant time implementation or side-channel attack resistance.
To report a security bug, please refer to gnark Security Policy.
gnark-crypto packages are optimized for 64-bit architectures (amd64 with AVX-512 where available, arm64 with NEON) and tested on Linux, macOS and Windows. Pure Go fallbacks are provided for all other platforms.
See list of audits for gnark and gnark-crypto
gnark-crypto requires Go 1.26 or newer (see go.mod); CI tests against Go 1.26.x.
gnark-cryptogo get github.com/consensys/gnark-crypto
Note that if you use go modules, in go.mod the module path is case sensitive (use consensys and not ConsenSys).
Most (but not all) of the code is generated from the templates in internal/generator.
The generated code contains little to no interfaces and is strongly typed with a field (generated by the gnark-crypto/field package). The two main factors driving this design choice are:
gnark-crypto algorithms manipulate millions (if not billions) of field elements. Interface indirection at this level, plus garbage collection indexing takes a heavy toll on perf.To regenerate the files, see internal/generator/main.go. Run:
go generate ./...
Benchmarking pairing-friendly elliptic curves libraries
The libraries are implemented in different languages and some use more assembly code than others. Besides the different algorithmic and software optimizations used across, it should be noted also that some libraries target constant-time implementation for some operations making it de facto slower. However, it can be clear that consensys/gnark-crypto is one of the fastest pairing-friendly elliptic curve libraries to be used in zkp projects with different curves.
If you use gnark-crypto in your research a citation would be appreciated.
Please use the following BibTeX to cite the most recent release.
@software{gnark-crypto-v0.22,
author = {Gautam Botrel and
Thomas Piellard and
Youssef El Housni and
Arya Tabaie and
Gus Gutoski and
Ivo Kubjas and
Yao J. Galteland},
title = {Consensys/gnark-crypto: v0.22.0},
month = oct,
year = 2026,
publisher = {Zenodo},
version = {v0.22.0},
doi = {10.5281/zenodo.5815453},
url = {https://doi.org/10.5281/zenodo.5815453}
}
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the Apache 2 License - see the LICENSE file for details.