Documentation
¶
Overview ¶
Package ecc provides bls12-381, bls12-377, bn254, bw6-761, bls24-315, bls24-317, bw6-633, secp256k1, secp256r1, grumpkin and stark-curve elliptic curves implementations.
Also
- Bilinear pairing
- Multi exponentiation
- FFT
- Polynomial commitment schemes
- MiMC and Poseidon2 hash functions
- twisted edwards "companion curves"
- ECDSA
- EdDSA (on the "companion" twisted edwards curves)
Index ¶
- func NafDecomposition(a *big.Int, result []int8) int
- func NextPowerOfTwo(n uint64) uint64
- func PrecomputeLattice(r, lambda *big.Int, res *Lattice)
- func PrecomputeLattice4(res *Lattice4)
- func SplitScalar(s *big.Int, l *Lattice) [2]big.Int
- func SplitScalarFour(s *big.Int, l *Lattice4) [4]big.Int
- func WnafDecomposition(a *big.Int, window uint, result []int8) int
- type ID
- type Lattice
- type Lattice4
- type MultiExpConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NafDecomposition ¶
NafDecomposition gets the naf decomposition of a big number
func NextPowerOfTwo ¶ added in v0.5.0
NextPowerOfTwo(n) = 2^⌈log₂(n)⌉ or 2ᵏ where 2ᵏ⁻¹ < n ≤ 2ᵏ
func PrecomputeLattice ¶
PrecomputeLattice res such that res.V1, res.V2 are short vectors satisfying v11+v12.λ=v21+v22.λ=0[r]. cf https://www.iacr.org/archive/crypto2001/21390189.pdf
func PrecomputeLattice4 ¶ added in v0.20.0
func PrecomputeLattice4(res *Lattice4)
PrecomputeLattice4 sets res.Det and the rounding constants (b1..b4) for a 4-dimensional lattice basis stored in res.V. The constants correspond to the first column of adj(res.V)/det(res.V), used for the closest vector approximation to (s,0,0,0).
func SplitScalar ¶
SplitScalar outputs u,v such that u+vlambda=s[r]. The method is to view s as (s,0) in ZxZ, and find a close vector w of (s,0) in <l>, where l is a sub Z-module of ker((a,b) → a+b.λ[r]): then (u,v)=w-(s,0), and u+v.λ=s[r]. cf https://www.iacr.org/archive/crypto2001/21390189.pdf
func SplitScalarFour ¶ added in v0.20.0
SplitScalarFour computes k0,k1,k2,k3 such that k0+k1*lambda1+k2*lambda2+k3*lambda1*lambda2 = s [r]. It uses a closest vector approximation in a 4-dimensional lattice.
Types ¶
type ID ¶
type ID uint16
ID represent a unique ID for a curve
const ( UNKNOWN ID = iota BN254 BLS12_377 BLS12_381 BLS24_315 BLS24_317 BW6_761 BW6_633 STARK_CURVE SECP256K1 GRUMPKIN SECP256R1 )
do not modify the order of this enum
func IDFromString ¶ added in v0.13.0
IDFromString returns the ID corresponding to the string representation of the curve ID. It returns UNKNOWN if the string does not match any known curve ID.
func (ID) ScalarField ¶ added in v0.8.0
ScalarField returns the scalar field of the curve
type Lattice4 ¶ added in v0.20.0
Lattice4 represents a Z module spanned by V[0], V[1], V[2], V[3]. The vectors are stored as columns: V[col][row]. det is the associated determinant.
type MultiExpConfig ¶ added in v0.5.0
type MultiExpConfig struct {
NbTasks int // go routines to be used in the multiexp. can be larger than num cpus.
}
MultiExpConfig enables to set optional configuration attribute to a call to MultiExp
Directories
¶
| Path | Synopsis |
|---|---|
|
Package bls12377 efficient elliptic curve, pairing and hash to curve implementation for bls12-377.
|
Package bls12377 efficient elliptic curve, pairing and hash to curve implementation for bls12-377. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the bls12-377 curve.
|
Package ecdsa provides ECDSA signature scheme on the bls12-377 curve. |
|
fflonk
Package fflonk provides fflonk commitment, based on shplonk.
|
Package fflonk provides fflonk commitment, based on shplonk. |
|
fp
Package fp contains field arithmetic operations for modulus = 0x1ae3a4...000001.
|
Package fp contains field arithmetic operations for modulus = 0x1ae3a4...000001. |
|
fp/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr
Package fr contains field arithmetic operations for modulus = 0x12ab65...000001.
|
Package fr contains field arithmetic operations for modulus = 0x12ab65...000001. |
|
fr/fft
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ).
|
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ). |
|
fr/fri
Package fri provides the FRI (multiplicative) commitment scheme.
|
Package fri provides the FRI (multiplicative) commitment scheme. |
|
fr/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr/iop
Package iop provides an API to computations common to iop backends (permutation, quotient).
|
Package iop provides an API to computations common to iop backends (permutation, quotient). |
|
fr/mimc
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction.
|
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction. |
|
fr/pedersen
Package pedersen allows to compute and verify Pedersen vector commitments
|
Package pedersen allows to compute and verify Pedersen vector commitments |
|
fr/permutation
Package permutation provides an API to build permutation proofs.
|
Package permutation provides an API to build permutation proofs. |
|
fr/plookup
Package plookup provides an API to build plookup proofs.
|
Package plookup provides an API to build plookup proofs. |
|
fr/polynomial
Package polynomial provides polynomial methods and commitment schemes.
|
Package polynomial provides polynomial methods and commitment schemes. |
|
fr/poseidon2
Package poseidon2 implements the Poseidon2 permutation
|
Package poseidon2 implements the Poseidon2 permutation |
|
kzg
Package kzg provides a KZG commitment scheme.
|
Package kzg provides a KZG commitment scheme. |
|
mpcsetup
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf
|
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf |
|
shplonk
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf
|
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf |
|
twistededwards
Package twistededwards provides bls12-377's twisted edwards "companion curve" defined on fr.
|
Package twistededwards provides bls12-377's twisted edwards "companion curve" defined on fr. |
|
twistededwards/eddsa
Package eddsa provides EdDSA signature scheme on bls12-377's twisted edwards curve.
|
Package eddsa provides EdDSA signature scheme on bls12-377's twisted edwards curve. |
|
Package bls12381 efficient elliptic curve, pairing and hash to curve implementation for bls12-381.
|
Package bls12381 efficient elliptic curve, pairing and hash to curve implementation for bls12-381. |
|
bandersnatch
Package bandersnatch provides bls12-381's twisted edwards "companion curve" defined on fr.
|
Package bandersnatch provides bls12-381's twisted edwards "companion curve" defined on fr. |
|
bandersnatch/eddsa
Package eddsa provides EdDSA signature scheme on bls12-381's twisted edwards curve.
|
Package eddsa provides EdDSA signature scheme on bls12-381's twisted edwards curve. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the bls12-381 curve.
|
Package ecdsa provides ECDSA signature scheme on the bls12-381 curve. |
|
fflonk
Package fflonk provides fflonk commitment, based on shplonk.
|
Package fflonk provides fflonk commitment, based on shplonk. |
|
fp
Package fp contains field arithmetic operations for modulus = 0x1a0111...ffaaab.
|
Package fp contains field arithmetic operations for modulus = 0x1a0111...ffaaab. |
|
fp/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr
Package fr contains field arithmetic operations for modulus = 0x73eda7...000001.
|
Package fr contains field arithmetic operations for modulus = 0x73eda7...000001. |
|
fr/fft
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ).
|
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ). |
|
fr/fri
Package fri provides the FRI (multiplicative) commitment scheme.
|
Package fri provides the FRI (multiplicative) commitment scheme. |
|
fr/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr/iop
Package iop provides an API to computations common to iop backends (permutation, quotient).
|
Package iop provides an API to computations common to iop backends (permutation, quotient). |
|
fr/mimc
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction.
|
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction. |
|
fr/pedersen
Package pedersen allows to compute and verify Pedersen vector commitments
|
Package pedersen allows to compute and verify Pedersen vector commitments |
|
fr/permutation
Package permutation provides an API to build permutation proofs.
|
Package permutation provides an API to build permutation proofs. |
|
fr/plookup
Package plookup provides an API to build plookup proofs.
|
Package plookup provides an API to build plookup proofs. |
|
fr/polynomial
Package polynomial provides polynomial methods and commitment schemes.
|
Package polynomial provides polynomial methods and commitment schemes. |
|
fr/poseidon2
Package poseidon2 implements the Poseidon2 permutation
|
Package poseidon2 implements the Poseidon2 permutation |
|
kzg
Package kzg provides a KZG commitment scheme.
|
Package kzg provides a KZG commitment scheme. |
|
mpcsetup
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf
|
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf |
|
shplonk
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf
|
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf |
|
twistededwards
Package twistededwards provides bls12-381's twisted edwards "companion curve" defined on fr.
|
Package twistededwards provides bls12-381's twisted edwards "companion curve" defined on fr. |
|
twistededwards/eddsa
Package eddsa provides EdDSA signature scheme on bls12-381's twisted edwards curve.
|
Package eddsa provides EdDSA signature scheme on bls12-381's twisted edwards curve. |
|
Package bls24315 efficient elliptic curve, pairing and hash to curve implementation for bls24-315.
|
Package bls24315 efficient elliptic curve, pairing and hash to curve implementation for bls24-315. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the bls24-315 curve.
|
Package ecdsa provides ECDSA signature scheme on the bls24-315 curve. |
|
fflonk
Package fflonk provides fflonk commitment, based on shplonk.
|
Package fflonk provides fflonk commitment, based on shplonk. |
|
fp
Package fp contains field arithmetic operations for modulus = 0x4c23a0...300001.
|
Package fp contains field arithmetic operations for modulus = 0x4c23a0...300001. |
|
fp/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr
Package fr contains field arithmetic operations for modulus = 0x196dea...c00001.
|
Package fr contains field arithmetic operations for modulus = 0x196dea...c00001. |
|
fr/fft
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ).
|
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ). |
|
fr/fri
Package fri provides the FRI (multiplicative) commitment scheme.
|
Package fri provides the FRI (multiplicative) commitment scheme. |
|
fr/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr/iop
Package iop provides an API to computations common to iop backends (permutation, quotient).
|
Package iop provides an API to computations common to iop backends (permutation, quotient). |
|
fr/mimc
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction.
|
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction. |
|
fr/pedersen
Package pedersen allows to compute and verify Pedersen vector commitments
|
Package pedersen allows to compute and verify Pedersen vector commitments |
|
fr/permutation
Package permutation provides an API to build permutation proofs.
|
Package permutation provides an API to build permutation proofs. |
|
fr/plookup
Package plookup provides an API to build plookup proofs.
|
Package plookup provides an API to build plookup proofs. |
|
fr/polynomial
Package polynomial provides polynomial methods and commitment schemes.
|
Package polynomial provides polynomial methods and commitment schemes. |
|
fr/poseidon2
Package poseidon2 implements the Poseidon2 permutation
|
Package poseidon2 implements the Poseidon2 permutation |
|
kzg
Package kzg provides a KZG commitment scheme.
|
Package kzg provides a KZG commitment scheme. |
|
mpcsetup
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf
|
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf |
|
shplonk
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf
|
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf |
|
twistededwards
Package twistededwards provides bls24-315's twisted edwards "companion curve" defined on fr.
|
Package twistededwards provides bls24-315's twisted edwards "companion curve" defined on fr. |
|
twistededwards/eddsa
Package eddsa provides EdDSA signature scheme on bls24-315's twisted edwards curve.
|
Package eddsa provides EdDSA signature scheme on bls24-315's twisted edwards curve. |
|
Package bls24317 efficient elliptic curve, pairing and hash to curve implementation for bls24-317.
|
Package bls24317 efficient elliptic curve, pairing and hash to curve implementation for bls24-317. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the bls24-317 curve.
|
Package ecdsa provides ECDSA signature scheme on the bls24-317 curve. |
|
fflonk
Package fflonk provides fflonk commitment, based on shplonk.
|
Package fflonk provides fflonk commitment, based on shplonk. |
|
fp
Package fp contains field arithmetic operations for modulus = 0x1058ca...ab2aab.
|
Package fp contains field arithmetic operations for modulus = 0x1058ca...ab2aab. |
|
fp/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr
Package fr contains field arithmetic operations for modulus = 0x443f91...000001.
|
Package fr contains field arithmetic operations for modulus = 0x443f91...000001. |
|
fr/fft
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ).
|
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ). |
|
fr/fri
Package fri provides the FRI (multiplicative) commitment scheme.
|
Package fri provides the FRI (multiplicative) commitment scheme. |
|
fr/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr/iop
Package iop provides an API to computations common to iop backends (permutation, quotient).
|
Package iop provides an API to computations common to iop backends (permutation, quotient). |
|
fr/mimc
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction.
|
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction. |
|
fr/pedersen
Package pedersen allows to compute and verify Pedersen vector commitments
|
Package pedersen allows to compute and verify Pedersen vector commitments |
|
fr/permutation
Package permutation provides an API to build permutation proofs.
|
Package permutation provides an API to build permutation proofs. |
|
fr/plookup
Package plookup provides an API to build plookup proofs.
|
Package plookup provides an API to build plookup proofs. |
|
fr/polynomial
Package polynomial provides polynomial methods and commitment schemes.
|
Package polynomial provides polynomial methods and commitment schemes. |
|
fr/poseidon2
Package poseidon2 implements the Poseidon2 permutation
|
Package poseidon2 implements the Poseidon2 permutation |
|
kzg
Package kzg provides a KZG commitment scheme.
|
Package kzg provides a KZG commitment scheme. |
|
mpcsetup
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf
|
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf |
|
shplonk
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf
|
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf |
|
twistededwards
Package twistededwards provides bls24-317's twisted edwards "companion curve" defined on fr.
|
Package twistededwards provides bls24-317's twisted edwards "companion curve" defined on fr. |
|
twistededwards/eddsa
Package eddsa provides EdDSA signature scheme on bls24-317's twisted edwards curve.
|
Package eddsa provides EdDSA signature scheme on bls24-317's twisted edwards curve. |
|
Package bn254 efficient elliptic curve, pairing and hash to curve implementation for bn254.
|
Package bn254 efficient elliptic curve, pairing and hash to curve implementation for bn254. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the bn254 curve.
|
Package ecdsa provides ECDSA signature scheme on the bn254 curve. |
|
fflonk
Package fflonk provides fflonk commitment, based on shplonk.
|
Package fflonk provides fflonk commitment, based on shplonk. |
|
fp
Package fp contains field arithmetic operations for modulus = 0x30644e...7cfd47.
|
Package fp contains field arithmetic operations for modulus = 0x30644e...7cfd47. |
|
fp/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr
Package fr contains field arithmetic operations for modulus = 0x30644e...000001.
|
Package fr contains field arithmetic operations for modulus = 0x30644e...000001. |
|
fr/fft
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ).
|
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ). |
|
fr/fri
Package fri provides the FRI (multiplicative) commitment scheme.
|
Package fri provides the FRI (multiplicative) commitment scheme. |
|
fr/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr/iop
Package iop provides an API to computations common to iop backends (permutation, quotient).
|
Package iop provides an API to computations common to iop backends (permutation, quotient). |
|
fr/mimc
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction.
|
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction. |
|
fr/mimc/test_vectors
command
|
|
|
fr/pedersen
Package pedersen allows to compute and verify Pedersen vector commitments
|
Package pedersen allows to compute and verify Pedersen vector commitments |
|
fr/permutation
Package permutation provides an API to build permutation proofs.
|
Package permutation provides an API to build permutation proofs. |
|
fr/plookup
Package plookup provides an API to build plookup proofs.
|
Package plookup provides an API to build plookup proofs. |
|
fr/polynomial
Package polynomial provides polynomial methods and commitment schemes.
|
Package polynomial provides polynomial methods and commitment schemes. |
|
fr/poseidon2
Package poseidon2 implements the Poseidon2 permutation
|
Package poseidon2 implements the Poseidon2 permutation |
|
kzg
Package kzg provides a KZG commitment scheme.
|
Package kzg provides a KZG commitment scheme. |
|
mpcsetup
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf
|
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf |
|
shplonk
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf
|
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf |
|
twistededwards
Package twistededwards provides bn254's twisted edwards "companion curve" defined on fr.
|
Package twistededwards provides bn254's twisted edwards "companion curve" defined on fr. |
|
twistededwards/eddsa
Package eddsa provides EdDSA signature scheme on bn254's twisted edwards curve.
|
Package eddsa provides EdDSA signature scheme on bn254's twisted edwards curve. |
|
Package bw6633 efficient elliptic curve, pairing and hash to curve implementation for bw6-633.
|
Package bw6633 efficient elliptic curve, pairing and hash to curve implementation for bw6-633. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the bw6-633 curve.
|
Package ecdsa provides ECDSA signature scheme on the bw6-633 curve. |
|
fflonk
Package fflonk provides fflonk commitment, based on shplonk.
|
Package fflonk provides fflonk commitment, based on shplonk. |
|
fp
Package fp contains field arithmetic operations for modulus = 0x126633...70000d.
|
Package fp contains field arithmetic operations for modulus = 0x126633...70000d. |
|
fp/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr
Package fr contains field arithmetic operations for modulus = 0x4c23a0...300001.
|
Package fr contains field arithmetic operations for modulus = 0x4c23a0...300001. |
|
fr/fft
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ).
|
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ). |
|
fr/fri
Package fri provides the FRI (multiplicative) commitment scheme.
|
Package fri provides the FRI (multiplicative) commitment scheme. |
|
fr/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr/iop
Package iop provides an API to computations common to iop backends (permutation, quotient).
|
Package iop provides an API to computations common to iop backends (permutation, quotient). |
|
fr/mimc
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction.
|
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction. |
|
fr/pedersen
Package pedersen allows to compute and verify Pedersen vector commitments
|
Package pedersen allows to compute and verify Pedersen vector commitments |
|
fr/permutation
Package permutation provides an API to build permutation proofs.
|
Package permutation provides an API to build permutation proofs. |
|
fr/plookup
Package plookup provides an API to build plookup proofs.
|
Package plookup provides an API to build plookup proofs. |
|
fr/polynomial
Package polynomial provides polynomial methods and commitment schemes.
|
Package polynomial provides polynomial methods and commitment schemes. |
|
fr/poseidon2
Package poseidon2 implements the Poseidon2 permutation
|
Package poseidon2 implements the Poseidon2 permutation |
|
kzg
Package kzg provides a KZG commitment scheme.
|
Package kzg provides a KZG commitment scheme. |
|
mpcsetup
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf
|
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf |
|
shplonk
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf
|
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf |
|
twistededwards
Package twistededwards provides bw6-633's twisted edwards "companion curve" defined on fr.
|
Package twistededwards provides bw6-633's twisted edwards "companion curve" defined on fr. |
|
twistededwards/eddsa
Package eddsa provides EdDSA signature scheme on bw6-633's twisted edwards curve.
|
Package eddsa provides EdDSA signature scheme on bw6-633's twisted edwards curve. |
|
Package bw6761 efficient elliptic curve, pairing and hash to curve implementation for bw6-761.
|
Package bw6761 efficient elliptic curve, pairing and hash to curve implementation for bw6-761. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the bw6-761 curve.
|
Package ecdsa provides ECDSA signature scheme on the bw6-761 curve. |
|
fflonk
Package fflonk provides fflonk commitment, based on shplonk.
|
Package fflonk provides fflonk commitment, based on shplonk. |
|
fp
Package fp contains field arithmetic operations for modulus = 0x122e82...00008b.
|
Package fp contains field arithmetic operations for modulus = 0x122e82...00008b. |
|
fp/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr
Package fr contains field arithmetic operations for modulus = 0x1ae3a4...000001.
|
Package fr contains field arithmetic operations for modulus = 0x1ae3a4...000001. |
|
fr/fft
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ).
|
Package fft provides in-place discrete Fourier transform on powers-of-two subgroups of 𝔽ᵣˣ (the multiplicative group (ℤ/rℤ, x) ). |
|
fr/fri
Package fri provides the FRI (multiplicative) commitment scheme.
|
Package fri provides the FRI (multiplicative) commitment scheme. |
|
fr/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr/iop
Package iop provides an API to computations common to iop backends (permutation, quotient).
|
Package iop provides an API to computations common to iop backends (permutation, quotient). |
|
fr/mimc
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction.
|
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction. |
|
fr/pedersen
Package pedersen allows to compute and verify Pedersen vector commitments
|
Package pedersen allows to compute and verify Pedersen vector commitments |
|
fr/permutation
Package permutation provides an API to build permutation proofs.
|
Package permutation provides an API to build permutation proofs. |
|
fr/plookup
Package plookup provides an API to build plookup proofs.
|
Package plookup provides an API to build plookup proofs. |
|
fr/polynomial
Package polynomial provides polynomial methods and commitment schemes.
|
Package polynomial provides polynomial methods and commitment schemes. |
|
fr/poseidon2
Package poseidon2 implements the Poseidon2 permutation
|
Package poseidon2 implements the Poseidon2 permutation |
|
kzg
Package kzg provides a KZG commitment scheme.
|
Package kzg provides a KZG commitment scheme. |
|
mpcsetup
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf
|
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf |
|
shplonk
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf
|
Package shplonk provides a SHPLONK commitment scheme, cf https://eprint.iacr.org/2020/081.pdf |
|
twistededwards
Package twistededwards provides bw6-761's twisted edwards "companion curve" defined on fr.
|
Package twistededwards provides bw6-761's twisted edwards "companion curve" defined on fr. |
|
twistededwards/eddsa
Package eddsa provides EdDSA signature scheme on bw6-761's twisted edwards curve.
|
Package eddsa provides EdDSA signature scheme on bw6-761's twisted edwards curve. |
|
Package grumpkin efficient elliptic curve and hash to curve implementation for grumpkin.
|
Package grumpkin efficient elliptic curve and hash to curve implementation for grumpkin. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the grumpkin curve.
|
Package ecdsa provides ECDSA signature scheme on the grumpkin curve. |
|
fp
Package fp contains field arithmetic operations for modulus = 0x30644e...000001.
|
Package fp contains field arithmetic operations for modulus = 0x30644e...000001. |
|
fp/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr
Package fr contains field arithmetic operations for modulus = 0x30644e...7cfd47.
|
Package fr contains field arithmetic operations for modulus = 0x30644e...7cfd47. |
|
fr/hash_to_field
Package htf provides hasher based on RFC 9380 Section 5.
|
Package htf provides hasher based on RFC 9380 Section 5. |
|
fr/mimc
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction.
|
Package mimc provides MiMC hash function using Miyaguchi–Preneel construction. |
|
fr/polynomial
Package polynomial provides polynomial methods and commitment schemes.
|
Package polynomial provides polynomial methods and commitment schemes. |
|
fr/poseidon2
Package poseidon2 implements the Poseidon2 permutation
|
Package poseidon2 implements the Poseidon2 permutation |
|
Package secp256k1 efficient elliptic curve implementation for secp256k1.
|
Package secp256k1 efficient elliptic curve implementation for secp256k1. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the secp256k1 curve.
|
Package ecdsa provides ECDSA signature scheme on the secp256k1 curve. |
|
fp
Package fp contains field arithmetic operations for modulus = 0xffffff...fffc2f.
|
Package fp contains field arithmetic operations for modulus = 0xffffff...fffc2f. |
|
fr
Package fr contains field arithmetic operations for modulus = 0xffffff...364141.
|
Package fr contains field arithmetic operations for modulus = 0xffffff...364141. |
|
Package secp256r1 efficient elliptic curve implementation for the NIST SECP56R1 (or P-256) curve (https://std.neuromancer.sk/secg/secp256r1).
|
Package secp256r1 efficient elliptic curve implementation for the NIST SECP56R1 (or P-256) curve (https://std.neuromancer.sk/secg/secp256r1). |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the secp256r1 curve.
|
Package ecdsa provides ECDSA signature scheme on the secp256r1 curve. |
|
fp
Package fp contains field arithmetic operations for modulus = 0xffffff...ffffff.
|
Package fp contains field arithmetic operations for modulus = 0xffffff...ffffff. |
|
fr
Package fr contains field arithmetic operations for modulus = 0xffffff...632551.
|
Package fr contains field arithmetic operations for modulus = 0xffffff...632551. |
|
Package starkcurve efficient elliptic curve implementation for stark_curve.
|
Package starkcurve efficient elliptic curve implementation for stark_curve. |
|
ecdsa
Package ecdsa provides ECDSA signature scheme on the stark-curve curve.
|
Package ecdsa provides ECDSA signature scheme on the stark-curve curve. |
|
fp
Package fp contains field arithmetic operations for modulus = 0x800000...000001.
|
Package fp contains field arithmetic operations for modulus = 0x800000...000001. |
|
fr
Package fr contains field arithmetic operations for modulus = 0x800000...c64d2f.
|
Package fr contains field arithmetic operations for modulus = 0x800000...c64d2f. |
|
Package twistededwards define unique identifier for twisted edwards curves implemented in gnark-crypto
|
Package twistededwards define unique identifier for twisted edwards curves implemented in gnark-crypto |