Versions in this module Expand all Collapse all v0 v0.1.9 Apr 5, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.8 Mar 19, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.8-c Mar 19, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.7 Mar 18, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.6 Mar 17, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.5 Mar 12, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.4 Mar 12, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.3 Feb 25, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.2 Feb 25, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.1 Feb 19, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh v0.1.0 Feb 7, 2020 GO-2024-2831 GO-2024-2831: ATX protocol validation problem in github.com/spacemeshos/go-spacemesh Changes in this version + const AESKEY + const ATE_BITS + const BAD_PARAMS + const BAD_PIN + const BASEBITS + const BFS + const BGS + const BIGBITS + const BLS + 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_ZERO + const GENERALISED_MERSENNE + const HASH_TYPE + const HBITS + const INVALID + const INVALID_POINT + const INVALID_PUBLIC_KEY + const MAXPIN + const MFS + const MGS + const MOD8 + const MODBITS + const MODBYTES + const MODTYPE + const MONTGOMERY + const MONTGOMERY_FRIENDLY + const M_TYPE + const NEGATIVEX + const NEXCESS + const NLEN + const NOT + const NOT_SPECIAL + const PBLEN + const POSITIVEX + const PSEUDO_MERSENNE + const SEXTIC_TWIST + const SIGN_OF_X + const TBITS + const TRAP + const TS + const USE_GLV + const USE_GS_G2 + const USE_GS_GT + const WEIERSTRASS + const WRONG_ORDER + var CURVE_B = [...]Chunk + var CURVE_BB = [4][4][7]Chunk + var CURVE_Bnx = [...]Chunk + var CURVE_Cof = [...]Chunk + var CURVE_Cru = [...]Chunk + var CURVE_Gx = [...]Chunk + var CURVE_Gy = [...]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][7]Chunk + var CURVE_W = [2][7]Chunk + var CURVE_WB = [4][7]Chunk + var Fra = [...]Chunk + var Frb = [...]Chunk + var Modulus = [...]Chunk + var R2modp = [...]Chunk + func AES_CBC_IV0_DECRYPT(K []byte, C []byte) []byte + func AES_CBC_IV0_ENCRYPT(K []byte, M []byte) []byte + func Comp(a *BIG, b *BIG) int + func DefaultSeed() *amcl.RAND + 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 *amcl.RAND, W []byte, M []byte, V []byte, ...) []byte + func ECDH_ECPSP_DSA(sha int, RNG *amcl.RAND, S []byte, F []byte, C []byte, D []byte) int + func ECDH_ECPSVDP_DH(S []byte, WD []byte, Z []byte) int + func ECDH_ECPVP_DSA(sha int, W []byte, F []byte, C []byte, D []byte) int + func ECDH_KDF1(sha int, Z []byte, olen int) []byte + func ECDH_KDF2(sha int, Z []byte, P []byte, olen int) []byte + func ECDH_KEY_PAIR_GENERATE(RNG *amcl.RAND, S []byte, W []byte) int + func ECDH_PBKDF2(sha int, Pass []byte, Salt []byte, rep int, olen int) []byte + func ECDH_PUBLIC_KEY_VALIDATE(W []byte) int + func GenKeyPair(rng *amcl.RAND) ([]byte, []byte) + func HMAC(sha int, M []byte, K []byte, tag []byte) int + func KeyPairGenerate(rng *amcl.RAND, S []byte, W []byte) int + func MPIN_CLIENT(sha int, date int, CLIENT_ID []byte, RNG *amcl.RAND, X []byte, pin int, ...) int + func MPIN_CLIENT_1(sha int, date int, CLIENT_ID []byte, rng *amcl.RAND, X []byte, pin int, ...) int + func MPIN_CLIENT_2(X []byte, Y []byte, SEC []byte) int + func MPIN_CLIENT_KEY(sha int, G1 []byte, G2 []byte, pin int, R []byte, X []byte, H []byte, ...) int + func MPIN_DECODING(D []byte) int + func MPIN_ENCODING(rng *amcl.RAND, E []byte) int + func MPIN_EXTRACT_FACTOR(sha int, CID []byte, factor int32, facbits int32, TOKEN []byte) int + func MPIN_EXTRACT_PIN(sha int, CID []byte, pin int, TOKEN []byte) int + func MPIN_GET_CLIENT_PERMIT(sha, date int, S []byte, CID []byte, CTT []byte) int + func MPIN_GET_CLIENT_SECRET(S []byte, CID []byte, CST []byte) int + func MPIN_GET_G1_MULTIPLE(rng *amcl.RAND, typ int, X []byte, G []byte, W []byte) int + func MPIN_GET_SERVER_SECRET(S []byte, SST []byte) int + func MPIN_GET_TIME() int + func MPIN_GET_Y(sha int, TimeValue int, xCID []byte, Y []byte) + func MPIN_HASH_ALL(sha int, HID []byte, xID []byte, xCID []byte, SEC []byte, Y []byte, R []byte, ...) []byte + func MPIN_HASH_ID(sha int, ID []byte) []byte + func MPIN_KANGAROO(E []byte, F []byte) int + func MPIN_PRECOMPUTE(TOKEN []byte, CID []byte, G1 []byte, G2 []byte) int + func MPIN_RANDOM_GENERATE(rng *amcl.RAND, S []byte) int + func MPIN_RECOMBINE_G1(R1 []byte, R2 []byte, R []byte) int + func MPIN_RECOMBINE_G2(W1 []byte, W2 []byte, W []byte) int + func MPIN_RESTORE_FACTOR(sha int, CID []byte, factor int32, facbits int32, TOKEN []byte) int + func MPIN_SERVER(sha int, date int, HID []byte, HTID []byte, Y []byte, SST []byte, xID []byte, ...) int + func MPIN_SERVER_1(sha int, date int, CID []byte, HID []byte, HTID []byte) + func MPIN_SERVER_2(date int, HID []byte, HTID []byte, Y []byte, SST []byte, xID []byte, ...) int + func MPIN_SERVER_KEY(sha int, Z []byte, SST []byte, W []byte, H []byte, HID []byte, xID []byte, ...) int + func Sign(SIG []byte, m string, S []byte) int + func Today() int + func Verify(SIG []byte, m string, W []byte) int + func Verify2(msg, sig, pub []byte) (bool, error) + type BIG struct + func FromBytes(b []byte) *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 Randomnum(q *BIG, rng *amcl.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(m1 *BIG) + 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 BlsSigner struct + func NewBlsSigner(priv []byte) *BlsSigner + func (bs *BlsSigner) Sign(msg []byte) ([]byte, error) + type Chunk int64 + const BMASK + const HMASK + const MConst + const OMASK + const TMASK + type DBIG struct + func NewDBIG() *DBIG + func NewDBIGcopy(x *DBIG) *DBIG + func NewDBIGscopy(x *BIG) *DBIG + type ECP struct + func ECP_fromBytes(b []byte) *ECP + func ECP_generator() *ECP + func ECP_mapit(h []byte) *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) 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) 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_mapit(h []byte) *ECP2 + func G2mul(P *ECP2, e *BIG) *ECP2 + func NewECP2() *ECP2 + func NewECP2fp2(ix *FP2) *ECP2 + func NewECP2fp2s(ix *FP2, iy *FP2) *ECP2 + func (E *ECP2) Add(Q *ECP2) int + func (E *ECP2) Affine() + 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) + func (E *ECP2) ToString() string + type FP struct + XES int32 + func NewFPbig(a *BIG) *FP + func NewFPcopy(a *FP) *FP + func NewFPint(a int) *FP + func RHS(x *FP) *FP + func (F *FP) Equals(a *FP) bool + 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 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 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 RHS2(x *FP2) *FP2 + func (F *FP2) Equals(x *FP2) bool + func (F *FP2) GetA() *BIG + func (F *FP2) GetB() *BIG + type FP4 struct + func NewFP4copy(x *FP4) *FP4 + func NewFP4fp2(c *FP2) *FP4 + func NewFP4fp2s(c *FP2, d *FP2) *FP4 + func NewFP4int(a int) *FP4 + func (F *FP4) Equals(x *FP4) bool