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