Versions in this module Expand all Collapse all v1 v1.0.3 Nov 19, 2021 Changes in this version + const AESKEY + const ALLOW_ALT_COMPRESS + const ATE_BITS + const BAD_PARAMS + const BAD_PIN + const BASEBITS + const BFS + const BGS + const BIGBITS + const BIG_ENDIAN_SIGN + const BLS12 + const BLS24 + const BLS48 + const BLS_FAIL + const BLS_OK + const BN + const CHUNK + const CURVETYPE + const CURVE_A + const CURVE_B_I + const CURVE_Cof_I + const CURVE_PAIRING_TYPE + const DNLEN + const D_TYPE + const EDWARDS + const EFS + const EGS + const ERROR + const FEXCESS + const FP_DENSE + const FP_ONE + const FP_SPARSE + const FP_SPARSER + const FP_SPARSEST + const FP_ZERO + const G2_TABLE + const GENERALISED_MERSENNE + const HASH_TYPE + const HBITS + const HTC_ISO + const HTC_ISO_G2 + const INVALID_POINT + const INVALID_PUBLIC_KEY + const MAXPIN + const MFS + const MGS + const MODBITS + const MODBYTES + const MODTYPE + const MONTGOMERY + const MONTGOMERY_FRIENDLY + const M_TYPE + const NEGATIVEX + const NEGATOWER + const NEXCESS + const NLEN + const NOT + const NOT_SPECIAL + const PBLEN + const PM1D2 + const POSITIVEX + const POSITOWER + const PSEUDO_MERSENNE + const QNRI + const RIADZ + const RIADZG2A + const RIADZG2B + const SEXTIC_TWIST + const SIGN_OF_X + const TBITS + const TOWER + const USE_GLV + const USE_GS_G2 + const USE_GS_GT + const WEIERSTRASS + const WRONG_ORDER + var CRu = [...]Chunk + var CURVE_B = [...]Chunk + var CURVE_BB = [4][4][5]Chunk + var CURVE_Bnx = [...]Chunk + var CURVE_Cof = [...]Chunk + var CURVE_Gx = [...]Chunk + var CURVE_Gy = [...]Chunk + var CURVE_HTPC = [...]Chunk + var CURVE_Order = [...]Chunk + var CURVE_Pxa = [...]Chunk + var CURVE_Pxb = [...]Chunk + var CURVE_Pya = [...]Chunk + var CURVE_Pyb = [...]Chunk + var CURVE_SB = [2][2][5]Chunk + var CURVE_W = [2][5]Chunk + var CURVE_WB = [4][5]Chunk + var Fra = [...]Chunk + var Frb = [...]Chunk + var G2_TAB []*FP4 + var Modulus = [...]Chunk + var R2modp = [...]Chunk + var ROI = [...]Chunk + var SQRTm3 = [...]Chunk + func Another(r []*FP12, P1 *ECP2, Q1 *ECP) + func Another_pc(r []*FP12, T []*FP4, QV *ECP) + func AuthDecap(config_id int, skR []byte, pkE []byte, pkR []byte, pkS []byte) []byte + func AuthEncap(config_id int, skE []byte, skS []byte, pkE []byte, pkR []byte, pkS []byte) []byte + func Comp(a *BIG, b *BIG) int + func Core_Sign(SIG []byte, M []byte, S []byte) int + func Core_Verify(SIG []byte, M []byte, W []byte) int + func Decap(config_id int, skR []byte, pkE []byte, pkR []byte) []byte + func DeriveKeyPair(config_id int, SK []byte, PK []byte, SEED []byte) bool + func ECDH_ECIES_DECRYPT(sha int, P1 []byte, P2 []byte, V []byte, C []byte, T []byte, U []byte) []byte + func ECDH_ECIES_ENCRYPT(sha int, P1 []byte, P2 []byte, RNG *core.RAND, W []byte, M []byte, V []byte, ...) []byte + func ECDH_ECPSP_DSA(sha int, RNG *core.RAND, S []byte, F []byte, C []byte, D []byte) int + func ECDH_ECPSVDP_DH(S []byte, WD []byte, Z []byte, typ int) int + func ECDH_ECPVP_DSA(sha int, W []byte, F []byte, C []byte, D []byte) int + func ECDH_IN_RANGE(S []byte) bool + func ECDH_KEY_PAIR_GENERATE(RNG *core.RAND, S []byte, W []byte) int + func ECDH_PUBLIC_KEY_VALIDATE(W []byte) int + func Encap(config_id int, skE []byte, pkE []byte, pkR []byte) []byte + func FP_tpo(i *FP, s *FP) int + func G1member(P *ECP) bool + func G2member(P *ECP2) bool + func GTcyclotomic(m *FP12) bool + func GTmember(m *FP12) bool + func Init() int + func KeyPairGenerate(IKM []byte, S []byte, W []byte) int + func KeySchedule(config_id int, mode int, Z []byte, info []byte, psk []byte, pskID []byte) ([]byte, []byte, []byte) + func MPIN_CLIENT_1(CID []byte, rng *core.RAND, X []byte, pin int, TOKEN []byte, SEC []byte, ...) int + func MPIN_CLIENT_2(X []byte, Y []byte, SEC []byte) int + func MPIN_ENCODE_TO_CURVE(DST []byte, ID []byte, HCID []byte) + func MPIN_EXTRACT_PIN(CID []byte, pin int, TOKEN []byte) int + func MPIN_GET_CLIENT_SECRET(S []byte, IDHTC []byte, CST []byte) int + func MPIN_GET_SERVER_SECRET(S []byte, SST []byte) int + func MPIN_HASH_ID(sha int, ID []byte) []byte + func MPIN_RANDOM_GENERATE(rng *core.RAND, S []byte) int + func MPIN_SERVER(HID []byte, Y []byte, SST []byte, xID []byte, mSEC []byte) int + func RFC7748(r *BIG) + type BIG struct + func FromBytes(b []byte) *BIG + func Modadd(a1, b1, m *BIG) *BIG + func Modmul(a1, b1, m *BIG) *BIG + func Modneg(a1, m *BIG) *BIG + func Modsqr(a1, m *BIG) *BIG + func NewBIG() *BIG + func NewBIGcopy(x *BIG) *BIG + func NewBIGdcopy(x *DBIG) *BIG + func NewBIGint(x int) *BIG + func NewBIGints(x [NLEN]Chunk) *BIG + func Random(rng *core.RAND) *BIG + func Randomnum(q *BIG, rng *core.RAND) *BIG + func Randtrunc(q *BIG, trunc int, rng *core.RAND) *BIG + func (r *BIG) Invmodp(p *BIG) + func (r *BIG) Jacobi(p *BIG) int + func (r *BIG) Minus(x *BIG) *BIG + func (r *BIG) Mod(m *BIG) + func (r *BIG) Nbits() int + func (r *BIG) Plus(x *BIG) *BIG + func (r *BIG) Powmod(e1 *BIG, m *BIG) *BIG + func (r *BIG) ToBytes(b []byte) + func (r *BIG) ToString() string + type Chunk int64 + const BMASK + const HMASK + const MConst + const OMASK + const TMASK + type DBIG struct + func DBIG_fromBytes(b []byte) *DBIG + func NewDBIG() *DBIG + func NewDBIGcopy(x *DBIG) *DBIG + func NewDBIGscopy(x *BIG) *DBIG + func (r *DBIG) Mod(m *BIG) *BIG + type ECP struct + func ECP_fromBytes(b []byte) *ECP + func ECP_generator() *ECP + func ECP_hap2point(h *BIG) *ECP + func ECP_map2point(h *FP) *ECP + func ECP_mapit(h []byte) *ECP + func ECP_muln(n int, X []*ECP, e []*BIG) *ECP + func G1mul(P *ECP, e *BIG) *ECP + func NewECP() *ECP + func NewECPbig(ix *BIG) *ECP + func NewECPbigint(ix *BIG, s int) *ECP + func NewECPbigs(ix *BIG, iy *BIG) *ECP + func (E *ECP) Add(Q *ECP) + func (E *ECP) Affine() + func (E *ECP) Cfp() + func (E *ECP) Copy(P *ECP) + func (E *ECP) Equals(Q *ECP) bool + func (E *ECP) GetS() int + func (E *ECP) GetX() *BIG + func (E *ECP) GetY() *BIG + func (E *ECP) Is_infinity() bool + func (E *ECP) Mul(e *BIG) *ECP + func (E *ECP) Mul2(e *BIG, Q *ECP, f *BIG) *ECP + func (E *ECP) Neg() + func (E *ECP) Sub(Q *ECP) + func (E *ECP) ToBytes(b []byte, compress bool) + func (E *ECP) ToString() string + type ECP2 struct + func ECP2_fromBytes(b []byte) *ECP2 + func ECP2_generator() *ECP2 + func ECP2_hap2point(h *BIG) *ECP2 + func ECP2_map2point(H *FP2) *ECP2 + func ECP2_mapit(h []byte) *ECP2 + func G2mul(P *ECP2, e *BIG) *ECP2 + func NewECP2() *ECP2 + func NewECP2fp2(ix *FP2, s int) *ECP2 + func NewECP2fp2s(ix *FP2, iy *FP2) *ECP2 + func (E *ECP2) Add(Q *ECP2) int + func (E *ECP2) Affine() + func (E *ECP2) Cfp() + func (E *ECP2) Copy(P *ECP2) + func (E *ECP2) Equals(Q *ECP2) bool + func (E *ECP2) GetX() *FP2 + func (E *ECP2) GetY() *FP2 + func (E *ECP2) Is_infinity() bool + func (E *ECP2) Mul(e *BIG) *ECP2 + func (E *ECP2) Sub(Q *ECP2) int + func (E *ECP2) ToBytes(b []byte, compress bool) + func (E *ECP2) ToString() string + type FP struct + XES int32 + func FP_fromBytes(b []byte) *FP + func NewFP() *FP + func NewFPbig(a *BIG) *FP + func NewFPcopy(a *FP) *FP + func NewFPint(a int) *FP + func NewFPrand(rng *core.RAND) *FP + func RHS(x *FP) *FP + func (F *FP) Equals(a *FP) bool + func (F *FP) ToBytes(b []byte) + func (F *FP) ToString() string + type FP12 struct + func Ate(P1 *ECP2, Q1 *ECP) *FP12 + func Ate2(P1 *ECP2, Q1 *ECP, R1 *ECP2, S1 *ECP) *FP12 + func FP12_fromBytes(w []byte) *FP12 + func Fexp(m *FP12) *FP12 + func GTpow(d *FP12, e *BIG) *FP12 + func Initmp() []*FP12 + func Miller(r []*FP12) *FP12 + func NewFP12() *FP12 + func NewFP12copy(x *FP12) *FP12 + func NewFP12fp4(d *FP4) *FP12 + func NewFP12fp4s(d *FP4, e *FP4, f *FP4) *FP12 + func NewFP12int(d int) *FP12 + func (F *FP12) Compow(e *BIG, r *BIG) *FP4 + func (F *FP12) Copy(x *FP12) + func (F *FP12) Equals(x *FP12) bool + func (F *FP12) Inverse() + func (F *FP12) Isunity() bool + func (F *FP12) Mul(y *FP12) + func (F *FP12) Pow(e *BIG) *FP12 + func (F *FP12) ToBytes(w []byte) + func (F *FP12) ToString() string + type FP2 struct + func FP2_fromBytes(bf []byte) *FP2 + func NewFP2() *FP2 + func NewFP2big(c *BIG) *FP2 + func NewFP2bigs(c *BIG, d *BIG) *FP2 + func NewFP2copy(x *FP2) *FP2 + func NewFP2fp(c *FP) *FP2 + func NewFP2fps(c *FP, d *FP) *FP2 + func NewFP2int(a int) *FP2 + func NewFP2ints(a int, b int) *FP2 + func NewFP2rand(rng *core.RAND) *FP2 + func RHS2(x *FP2) *FP2 + func (F *FP2) Equals(x *FP2) bool + func (F *FP2) GetA() *BIG + func (F *FP2) GetB() *BIG + func (F *FP2) ToBytes(bf []byte) + func (F *FP2) ToString() string + type FP4 struct + func FP4_fromBytes(bf []byte) *FP4 + func NewFP4() *FP4 + func NewFP4copy(x *FP4) *FP4 + func NewFP4fp(c *FP) *FP4 + func NewFP4fp2(c *FP2) *FP4 + func NewFP4fp2s(c *FP2, d *FP2) *FP4 + func NewFP4int(a int) *FP4 + func NewFP4ints(a int, b int) *FP4 + func NewFP4rand(rng *core.RAND) *FP4 + func (F *FP4) Equals(x *FP4) bool + func (F *FP4) ToBytes(bf []byte)