github.com/klaytn/klaytn@v1.12.1/crypto/bn256/google/doc.go (about) 1 // Copyright 2018 The klaytn Authors 2 // Copyright 2012 The Go Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style 4 // license that can be found in the LICENSE file. 5 // 6 // This file is derived from crypto/bn256/google/bn256.go (2018/06/04). 7 // Modified and improved for the klaytn development. 8 9 // Package bn256 implements a particular bilinear group at the 128-bit security level. 10 // 11 // Bilinear groups are the basis of many of the new cryptographic protocols 12 // that have been proposed over the past decade. They consist of a triplet of 13 // groups (G₁, G₂ and GT) such that there exists a function e(g₁ˣ,g₂ʸ)=gTˣʸ 14 // (where gₓ is a generator of the respective group). That function is called 15 // a pairing function. 16 // 17 // This package specifically implements the Optimal Ate pairing over a 256-bit 18 // Barreto-Naehrig curve as described in 19 // http://cryptojedi.org/papers/dclxvi-20100714.pdf. Its output is compatible 20 // with the implementation described in that paper. 21 // 22 //This package previously claimed to operate at a 128-bit security level. However, recent improvements in attacks mean that it is no longer true. See https://moderncrypto.org/mail-archive/curves/2016/000740.html. 23 // 24 //Deprecated: due to its weakened security, new systems should not rely on this elliptic curve. This package is frozen, and not implemented in constant time. There is a more complete implementation at github.com/cloudflare/bn256, but note that it suffers from the same security issues of the underlying curve. 25 package bn256