forked from cerc-io/plugeth
crypto/bn256/cloudflare: fix comments to describe the updated curve parameters (#19577)
* Removed comment section referring to Cloudflare's bn curve parameters * Added comment to clarify the nature of the parameters * Changed value of xi to i+9
This commit is contained in:
parent
5429dc75bd
commit
2388e425f2
@ -13,10 +13,13 @@ func bigFromBase10(s string) *big.Int {
|
|||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
// u is the BN parameter that determines the prime: 1868033³.
|
// u is the BN parameter.
|
||||||
var u = bigFromBase10("4965661367192848881")
|
var u = bigFromBase10("4965661367192848881")
|
||||||
|
|
||||||
// Order is the number of elements in both G₁ and G₂: 36u⁴+36u³+18u²+6u+1.
|
// Order is the number of elements in both G₁ and G₂: 36u⁴+36u³+18u²+6u+1.
|
||||||
|
// Needs to be highly 2-adic for efficient SNARK key and proof generation.
|
||||||
|
// Order - 1 = 2^28 * 3^2 * 13 * 29 * 983 * 11003 * 237073 * 405928799 * 1670836401704629 * 13818364434197438864469338081.
|
||||||
|
// Refer to https://eprint.iacr.org/2013/879.pdf and https://eprint.iacr.org/2013/507.pdf for more information on these parameters.
|
||||||
var Order = bigFromBase10("21888242871839275222246405745257275088548364400416034343698204186575808495617")
|
var Order = bigFromBase10("21888242871839275222246405745257275088548364400416034343698204186575808495617")
|
||||||
|
|
||||||
// P is a prime over which we form a basic field: 36u⁴+36u³+24u²+6u+1.
|
// P is a prime over which we form a basic field: 36u⁴+36u³+24u²+6u+1.
|
||||||
|
@ -5,7 +5,7 @@ package bn256
|
|||||||
// http://eprint.iacr.org/2006/471.pdf.
|
// http://eprint.iacr.org/2006/471.pdf.
|
||||||
|
|
||||||
// gfP6 implements the field of size p⁶ as a cubic extension of gfP2 where τ³=ξ
|
// gfP6 implements the field of size p⁶ as a cubic extension of gfP2 where τ³=ξ
|
||||||
// and ξ=i+3.
|
// and ξ=i+9.
|
||||||
type gfP6 struct {
|
type gfP6 struct {
|
||||||
x, y, z gfP2 // value is xτ² + yτ + z
|
x, y, z gfP2 // value is xτ² + yτ + z
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user