https://github.com/arkworks-rs/curves

Implementations of popular elliptic curves

https://github.com/arkworks-rs/curves

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    5 of 21 committers (23.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (3.0%) to scientific vocabulary

Keywords

elliptic-curves pairings rust

Keywords from Contributors

cryptography finite-fields polynomials snark marlin sonic polynomial-commitments r1cs arkworks standard-library
Last synced: 9 months ago · JSON representation

Repository

Implementations of popular elliptic curves

Basic Info
  • Host: GitHub
  • Owner: arkworks-rs
  • License: apache-2.0
  • Language: Rust
  • Default Branch: master
  • Homepage: https://www.arkworks.rs
  • Size: 1.1 MB
Statistics
  • Stars: 308
  • Watchers: 17
  • Forks: 101
  • Open Issues: 0
  • Releases: 1
Archived
Topics
elliptic-curves pairings rust
Created over 5 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog Contributing License

README.md

Notice

This repository is no longer maintained, and PRs to add or modify curves should instead be made against arkworks-rs/algebra; all the curves implemented here have moved to the curves folder of that repository.

Curve implementations

This repository contains implementations of some popular elliptic curves. The curve API implemented here matches the curve traits defined here in the arkworks-rs/algebra repository.

BLS12-381 and embedded curves

BLS12-377 and related curves

  • ark-bls12-377: Implements the BLS12-377 pairing-friendly curve
  • ark-ed-on-bls12-377: Implements a Twisted Edwards curve atop the scalar field of BLS12-377

  • ark-bw6-761: Implements the BW6-761 pairing-friendly curve, which is a curve whose scalar field equals the base field of BLS12-377

  • ark-ed-on-bw6-761: Implements a Twisted Edwards curve atop the scalar field of BW6-761

  • ark-cp6-782: Implements the CP6-782 pairing-friendly curve, which is a curve whose scalar field equals the base field of BLS12-377

  • ark-ed-on-cp6-782: Implements a Twisted Edwards curve atop the scalar field of CP6-782. This is the same curve as in ark-ed-on-bw6-761

BN254 and related curves

  • ark-bn254: Implements the BN254 pairing-friendly curve
  • ark-ed-on-bn254: Implements a Twisted Edwards curve atop the scalar field of BN254
  • ark-grumpkin: Implements the Grumpkin curve. A curve that forms a cycle with bn254.

MNT-298 cycle of curves and related curves

  • ark-mnt4-298: Implements the MNT4-298 pairing-friendly curve. This curve forms a pairing-friendly cycle with MNT6-298
  • ark-mnt6-298: Implements the MNT6-298 pairing-friendly curve. This curve forms a pairing-friendly cycle with MNT4-298
  • ark-ed-on-mnt4-298: Implements a Twisted Edwards curve atop the scalar field of MNT4-298

MNT-753 cycle of curves and related curves

  • ark-mnt4-753: Implements the MNT4-753 pairing-friendly curve. This curve forms a pairing-friendly cycle with MNT6-753
  • ark-mnt6-753: Implements the MNT6-753 pairing-friendly curve. This curve forms a pairing-friendly cycle with MNT4-753
  • ark-ed-on-mnt4-753: Implements a Twisted Edwards curve atop the scalar field of MNT4-753

Pasta cycle of curves

  • ark-pallas: Implements Pallas, a prime-order curve that forms an amicable pair with Vesta
  • ark-vesta: Implements Vesta, a prime-order curve that forms an amicable pair with Pallas

Owner

  • Name: arkworks
  • Login: arkworks-rs
  • Kind: organization

An ecosystem for developing and programming with zkSNARKs

GitHub Events

Total
  • Watch event: 4
  • Fork event: 1
Last Year
  • Watch event: 4
  • Fork event: 1

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 118
  • Total Committers: 21
  • Avg Commits per committer: 5.619
  • Development Distribution Score (DDS): 0.568
Past Year
  • Commits: 39
  • Committers: 9
  • Avg Commits per committer: 4.333
  • Development Distribution Score (DDS): 0.641
Top Committers
Name Email Commits
Pratyush Mishra p****a@b****u 51
Weikeng Chen w****k@b****u 21
mmagician m****4@p****m 12
Dev Ojha V****n@u****m 7
ValarDragon d****2@g****m 6
Daira Hopwood d****a@j****g 3
zhenfei z****g@h****m 3
Michele Orrù m****u@b****u 2
Popog 7****g@u****m 1
Antoine Rondelet r****e@g****m 1
Davide Galassi d****y@d****t 1
George Gkitsas g****s@u****m 1
Yuncong Hu y****u@b****u 1
drskalman 3****n@u****m 1
therealyingtong y****g@z****h 1
Simon Masson s****n@y****r 1
Ruben De Smet r****t@r****e 1
swasilyev s****v@g****m 1
Alex Ozdemir a****r@h****u 1
kevaundray k****v@g****m 1
Michael Rosenberg m****o@f****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 226
  • Total pull requests: 702
  • Average time to close issues: 12 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 25
  • Total pull request authors: 26
  • Average comments per issue: 3.62
  • Average comments per pull request: 1.92
  • Merged pull requests: 525
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 23
  • Pull requests: 40
  • Average time to close issues: 10 days
  • Average time to close pull requests: 7 days
  • Issue authors: 10
  • Pull request authors: 10
  • Average comments per issue: 0.65
  • Average comments per pull request: 2.15
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Pratyush (4)
  • jon-chuang (4)
  • weikengchen (3)
  • burdges (3)
  • mmagician (3)
  • kevaundray (2)
  • z-tech (2)
  • Bocoi5011 (1)
  • debris (1)
  • vincenzoiovino (1)
  • hujw77 (1)
  • achimcc (1)
  • arthurgreef (1)
  • drskalman (1)
  • mike1729 (1)
Pull Request Authors
  • mmagician (21)
  • weikengchen (20)
  • Pratyush (13)
  • simonmasson (8)
  • zhenfeizhang (4)
  • swasilyev (2)
  • davxy (2)
  • kevaundray (2)
  • mmaker (2)
  • CPerezz (2)
  • vehorny (1)
  • Popog (1)
  • alexander-zw (1)
  • solomonjoseph (1)
  • Shigoto-dev19 (1)
Top Labels
Issue Labels
D-easy (4) P-low (3) D-medium (2) T-refactor (2) T-feature (2) T-performance (1) help wanted (1) T-documentation (1)
Pull Request Labels
merge-in-next-release (1) D-easy (1) T-refactor (1) P-low (1) T-feature (1) T-test (1)

Dependencies

bls12_377/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
bls12_381/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-std ^0.3.0
bn254/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-std ^0.3.0
bw6_761/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-bls12-377 ^0.3.0
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-std ^0.3.0
cp6_782/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-bls12-377 ^0.3.0
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-std ^0.3.0
ed_on_bls12_377/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-bls12-377 ^0.3.0
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
ed_on_bls12_381/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-bls12-381 ^0.3.0
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
ed_on_bls12_381_bandersnatch/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-bls12-381 ^0.3.0
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
ed_on_bn254/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-bn254 ^0.3.0
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
ed_on_bw6_761/Cargo.toml cargo
  • ark-ff ^0.3.0 development
  • ark-r1cs-std ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-std ^0.3.0 development
  • ark-ed-on-cp6-782 ^0.3.0
ed_on_cp6_782/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-bls12-377 ^0.3.0
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
ed_on_mnt4_298/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-mnt4-298 ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
ed_on_mnt4_753/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-mnt4-753 ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
mnt4_298/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
mnt4_753/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
mnt6_298/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-mnt4-298 ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
mnt6_753/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-mnt4-753 ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
pallas/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
vesta/Cargo.toml cargo
  • ark-algebra-test-templates ^0.3.0 development
  • ark-relations ^0.3.0 development
  • ark-serialize ^0.3.0 development
  • ark-ec ^0.3.0
  • ark-ff ^0.3.0
  • ark-pallas ^0.3.0
  • ark-r1cs-std ^0.3.0
  • ark-std ^0.3.0
.github/workflows/ci.yml actions
  • actions-rs/cargo v1 composite
  • actions-rs/toolchain v1 composite
  • actions/cache v2 composite
  • actions/checkout v3 composite
.github/workflows/linkify_changelog.yml actions
  • actions/checkout v2 composite
Cargo.toml cargo
bw6_767/Cargo.toml cargo
  • ark-algebra-bench-templates 0.4.0 development
  • ark-algebra-test-templates 0.4.0 development
  • ark-serialize 0.4.0 development
  • ark-bls12-381 0.4.0
  • ark-ec 0.4.0
  • ark-ff 0.4.0
  • ark-std 0.4.0
curve-constraint-tests/Cargo.toml cargo
curve25519/Cargo.toml cargo
  • ark-algebra-bench-templates 0.4.0 development
  • ark-algebra-test-templates 0.4.0 development
  • ark-relations 0.4.0 development
  • ark-serialize 0.4.0 development
  • ark-ec 0.4.0
  • ark-ff 0.4.0
  • ark-r1cs-std 0.4.0
  • ark-std 0.4.0
ed25519/Cargo.toml cargo
  • ark-algebra-test-templates 0.4.0 development
  • ark-relations 0.4.0 development
  • ark-serialize 0.4.0 development
  • ark-curve25519 0.4.0
  • ark-ec 0.4.0
  • ark-ff 0.4.0
  • ark-r1cs-std 0.4.0
  • ark-std 0.4.0
grumpkin/Cargo.toml cargo
  • ark-algebra-bench-templates 0.4.0 development
  • ark-algebra-test-templates 0.4.0 development
  • ark-relations 0.4.0 development
  • ark-serialize 0.4.0 development
  • ark-bn254 0.4.0
  • ark-ec 0.4.0
  • ark-ff 0.4.0
  • ark-r1cs-std 0.4.0
  • ark-std 0.4.0
secp256k1/Cargo.toml cargo
  • ark-algebra-bench-templates 0.4.0 development
  • ark-algebra-test-templates 0.4.0 development
  • ark-relations 0.4.0 development
  • ark-serialize 0.4.0 development
  • ark-ec 0.4.0
  • ark-ff 0.4.0
  • ark-r1cs-std 0.4.0
  • ark-std 0.4.0
secp256r1/Cargo.toml cargo
  • ark-algebra-test-templates 0.4.0 development
  • ark-relations 0.4.0 development
  • ark-serialize 0.4.0 development
  • ark-ec 0.4.0
  • ark-ff 0.4.0
  • ark-r1cs-std 0.4.0
  • ark-std 0.4.0
secp384r1/Cargo.toml cargo
  • ark-algebra-test-templates 0.4.0 development
  • ark-relations 0.4.0 development
  • ark-serialize 0.4.0 development
  • ark-ec 0.4.0
  • ark-ff 0.4.0
  • ark-r1cs-std 0.4.0
  • ark-std 0.4.0
secq256k1/Cargo.toml cargo
  • ark-algebra-test-templates 0.4.0 development
  • ark-relations 0.4.0 development
  • ark-serialize 0.4.0 development
  • ark-ec 0.4.0
  • ark-ff 0.4.0
  • ark-r1cs-std 0.4.0
  • ark-secp256k1 0.4.0
  • ark-std 0.4.0