38 lines
942 B
Go
38 lines
942 B
Go
// Copyright 2020-2025 Consensys Software Inc.
|
|
// Licensed under the Apache License, Version 2.0. See the LICENSE file for details.
|
|
|
|
// Package ecc provides bls12-381, bls12-377, bn254, bw6-761, bls24-315, bls24-317, bw6-633, secp256k1 and stark-curve elliptic curves implementation (+pairing).
|
|
//
|
|
// Also
|
|
//
|
|
// - Multi exponentiation
|
|
// - FFT
|
|
// - Polynomial commitment schemes
|
|
// - MiMC
|
|
// - twisted edwards "companion curves"
|
|
// - EdDSA (on the "companion" twisted edwards curves)
|
|
package ecc
|
|
|
|
// ID represent a unique ID for a curve
|
|
type ID uint16
|
|
|
|
// do not modify the order of this enum
|
|
const (
|
|
UNKNOWN ID = iota
|
|
BN254
|
|
BLS12_377
|
|
BLS12_381
|
|
BLS24_315
|
|
BLS24_317
|
|
BW6_761
|
|
BW6_633
|
|
STARK_CURVE
|
|
SECP256K1
|
|
GRUMPKIN
|
|
)
|
|
|
|
// MultiExpConfig enables to set optional configuration attribute to a call to MultiExp
|
|
type MultiExpConfig struct {
|
|
NbTasks int // go routines to be used in the multiexp. can be larger than num cpus.
|
|
}
|