Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
bn.h File Reference

BN parameter. More...

#include <stdexcept>
#include <vector>
#include "zm2.h"
Include dependency graph for bn.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  bn::CurveParam
 
struct  bn::ParamT< Fp2 >
 
struct  bn::Fp2T< T >
 
struct  bn::Fp2T< T >::Dbl
 
struct  bn::Fp6T< T >
 
struct  bn::Fp6T< T >::Dbl
 
struct  bn::Fp12T< T >
 
struct  bn::Fp12T< T >::Dbl
 
struct  bn::CompressT< T >
 
class  bn::EcT< T >
 

Namespaces

namespace  bn
 
namespace  bn::util
 
namespace  bn::ecop
 
namespace  bn::components
 

Typedefs

typedef mie::Fp bn::Fp
 
typedef Fp::Dbl bn::FpDbl
 
typedef Fp2T< Fpbn::Fp2
 
typedef Fp2::Dbl bn::Fp2Dbl
 
typedef ParamT< Fp2bn::Param
 
typedef Fp6T< Fp2bn::Fp6
 
typedef Fp6::Dbl bn::Fp6Dbl
 
typedef Fp12T< Fp6bn::Fp12
 
typedef Fp12::Dbl bn::Fp12Dbl
 
typedef CompressT< Fp2bn::Compress
 
typedef EcT< Fp2bn::Ec2
 
typedef EcT< Fpbn::Ec1
 

Functions

template<class T >
void bn::util::put (const T &x, size_t len)
 
template<class T >
void bn::util::put (const T &x)
 
template<class Vec >
void bn::util::convertToBinary (Vec &v, const mie::Vuint &x)
 
template<class Vec >
size_t bn::util::getContinuousVal (const Vec &v, size_t pos, int val)
 
template<class Vec >
void bn::util::convertToNAF (Vec &v, const Vec &in)
 
template<class Vec >
size_t bn::util::getNumOfNonZeroElement (const Vec &v)
 
template<class Vec >
bool bn::util::getGoodRepl (Vec &v, const mie::Vuint &x)
 
template<class F , class G >
void bn::mul_gamma_add (F &z, const F &x, const F &y)
 
template<class FF >
void bn::ecop::copy (FF *out, const FF *in)
 
template<class Fp >
bool bn::ecop::isOnECJac3 (const Fp *P)
 
template<class Fp >
bool bn::ecop::isOnECHom2 (const Fp *P)
 
template<class Fp >
bool bn::ecop::isOnECHom3 (const Fp *P)
 
template<class Fp >
bool bn::ecop::isOnTwistECJac3 (const Fp2T< Fp > *P)
 
template<class Fp >
bool bn::ecop::isOnTwistECHom2 (const Fp2T< Fp > *P)
 
template<class Fp >
bool bn::ecop::isOnTwistECHom3 (const Fp2T< Fp > *P)
 
template<class FF >
void bn::ecop::NormalizeJac (FF *out, const FF *in)
 
template<class FF >
void bn::ecop::NormalizeHom (FF *out, const FF *in)
 
template<class FF >
void bn::ecop::ECDouble (FF *out, const FF *in)
 
template<class FF >
void bn::ecop::ECAdd (FF *out, const FF *a, const FF *b)
 
template<class FF , class INT >
void bn::ecop::ScalarMult (FF *out, const FF *in, const INT &m)
 
template<class Fp >
void bn::ecop::FrobEndOnTwist_1 (Fp2T< Fp > *Q, const Fp2T< Fp > *P)
 
template<class Fp >
void bn::ecop::FrobEndOnTwist_2 (Fp2T< Fp > *Q, const Fp2T< Fp > *P)
 
template<class Fp >
void bn::ecop::FrobEndOnTwist_8 (Fp2T< Fp > *Q, const Fp2T< Fp > *P)
 
template<class Fp >
void bn::opt_atePairing (Fp12T< Fp6T< Fp2T< Fp > > > &f, const Fp2T< Fp > Q[2], const Fp P[2])
 
template<class Fp >
void bn::opt_atePairingJac (Fp12T< Fp6T< Fp2T< Fp > > > &f, const Fp2T< Fp > _Q[3], const Fp _P[3])
 
void bn::opt_atePairing (Fp12 &f, const Ec2 &Q, const Ec1 &P)
 
void bn::components::precomputeG2 (std::vector< Fp6 > &coeff, Fp2 Q[3], const Fp2 inQ[3])
 
void bn::components::millerLoop (Fp12 &f, const std::vector< Fp6 > &Qcoeff, const Fp precP[2])
 
void bn::components::millerLoop2 (Fp12 &f, const std::vector< Fp6 > &Q1coeff, const Fp precP1[2], const std::vector< Fp6 > &Q2coeff, const Fp precP2[2])
 

Variables

uint64_t debug_buf [128]
 
const CurveParam bn::CurveFp254BNb = { -((1LL << 62) + (1LL << 55) + (1LL << 0)), 2, 1, 1 }
 
template<class Fp >
void(* bn::Fp2T )(Fp2T< Fp > &out, const Fp2T< Fp > &x, const Fp2T< Fp > &y) = &(Fp2T<Fp>::addC)
 
template<class Fp2 >
void(* bn::Fp6T )(Fp6T< Fp2 > &z, const Fp6T< Fp2 > &x, const Fp6T< Fp2 > &y) = &(Fp6T<Fp2>::addC)
 
template<class Fp6 >
void(* bn::Fp12T )(Fp12T &x) = &(Fp12T<Fp6>::squareC)
 
template<class Fp2 >
void(* bn::CompressT )(CompressT &, int) = &(CompressT<Fp2>::square_nC)
 

Detailed Description

Author
herumi and t_teruya
Note
modified new BSD license http://opensource.org/licenses/BSD-3-Clause

Definition in file bn.h.

Variable Documentation

◆ debug_buf

uint64_t debug_buf[128]
extern