Skip to content

Commit 1ea7537

Browse files
authored
crypto/bn256: refine comments according to #19577, #21595, and #21836 (#21847)
1 parent 92c56eb commit 1ea7537

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

crypto/bn256/cloudflare/bn256.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,13 @@
99
//
1010
// This package specifically implements the Optimal Ate pairing over a 256-bit
1111
// Barreto-Naehrig curve as described in
12-
// http://cryptojedi.org/papers/dclxvi-20100714.pdf. Its output is compatible
13-
// with the implementation described in that paper.
12+
// http://cryptojedi.org/papers/dclxvi-20100714.pdf. Its output is not
13+
// compatible with the implementation described in that paper, as different
14+
// parameters are chosen.
15+
//
16+
// (This package previously claimed to operate at a 128-bit security level.
17+
// However, recent improvements in attacks mean that is no longer true. See
18+
// https://moderncrypto.org/mail-archive/curves/2016/000740.html.)
1419
package bn256
1520

1621
import (

crypto/bn256/google/bn256.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
//
1313
// This package specifically implements the Optimal Ate pairing over a 256-bit
1414
// Barreto-Naehrig curve as described in
15-
// http://cryptojedi.org/papers/dclxvi-20100714.pdf. Its output is compatible
16-
// with the implementation described in that paper.
15+
// http://cryptojedi.org/papers/dclxvi-20100714.pdf. Its output is not
16+
// compatible with the implementation described in that paper, as different
17+
// parameters are chosen.
1718
//
1819
// (This package previously claimed to operate at a 128-bit security level.
1920
// However, recent improvements in attacks mean that is no longer true. See

crypto/bn256/google/constants.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ var u = bigFromBase10("4965661367192848881")
2020
var P = bigFromBase10("21888242871839275222246405745257275088696311157297823662689037894645226208583")
2121

2222
// Order is the number of elements in both G₁ and G₂: 36u⁴+36u³+18u²+6u+1.
23+
// Needs to be highly 2-adic for efficient SNARK key and proof generation.
2324
// Order - 1 = 2^28 * 3^2 * 13 * 29 * 983 * 11003 * 237073 * 405928799 * 1670836401704629 * 13818364434197438864469338081.
25+
// Refer to https://eprint.iacr.org/2013/879.pdf and https://eprint.iacr.org/2013/507.pdf for more information on these parameters.
2426
var Order = bigFromBase10("21888242871839275222246405745257275088548364400416034343698204186575808495617")
2527

2628
// xiToPMinus1Over6 is ξ^((p-1)/6) where ξ = i+9.

0 commit comments

Comments
 (0)