• This repository has been archived on 18/Dec/2023
  • Stars
    star
    300
  • Rank 138,870 (Top 3 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created about 4 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Implementations of popular elliptic curves

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

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

More Repositories

1

snark

Interfaces for Relations and SNARKs for these relations
Rust
786
star
2

algebra

Libraries for finite field, elliptic curve, and polynomial arithmetic
Rust
601
star
3

poly-commit

A Rust library for polynomial commitments
Rust
319
star
4

marlin

A Rust library for the Marlin preprocessing zkSNARK
Rust
306
star
5

groth16

A Rust implementation of the Groth16 zkSNARK
Rust
236
star
6

circom-compat

Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust.
Rust
234
star
7

r1cs-tutorial

Tutorial for writing constraints in the `arkworks` framework
Rust
198
star
8

crypto-primitives

Interfaces and implementations of cryptographic primitives, along with R1CS constraints for them
Rust
160
star
9

r1cs-std

R1CS constraints for bits, fields, and elliptic curves
Rust
131
star
10

gemini

An elastic proof system based on arkworks
Rust
72
star
11

sumcheck

linear-time sumcheck protocol for multilinear polynomials and related addends
Rust
50
star
12

ripp

Argument systems for inner pairing products
Rust
41
star
13

nimue

Rust
37
star
14

std

A standard library wrapper for use in the `arkworks` ecosystem
Rust
37
star
15

pcd

Implementations of proof-carrying data
Rust
29
star
16

sponge

This library is archived; see crypto-primities for the latest version of this code
Rust
22
star
17

accumulation

Rust library for accumulation schemes
Rust
20
star
18

nonnative

R1CS constraints for non-native field arithmetic
Rust
19
star
19

ldt

An `arkworks` library for low-degree testing
Rust
18
star
20

dpc

A library for decentralized private computation
Rust
18
star
21

ivls

Implementation of incrementally verifiable ledger system
Rust
15
star
22

gm17

A Rust library for the preprocessing zkSNARK of Groth and Maller
Rust
8
star
23

bcs

Rust
8
star
24

template

github workflow templates
Python
5
star
25

arkworks-rs.github.io

SCSS
1
star