std1.0.0-beta-7 SafeC docs

std :: crypto::bignum

Struct std::BnMont

#include <std/crypto/bignum.h> source

struct BnMont {
    unsigned int m[BN_LIMBS_MAX];
    unsigned int rr[BN_LIMBS_MAX];
    unsigned int n0inv;
    int n;
    unsigned long bytes;
}

Fields

§unsigned int m[BN_LIMBS_MAX]source

the modulus

§unsigned int rr[BN_LIMBS_MAX]source

R^2 mod m, R = 2^(32 n)

§unsigned int n0invsource

-m^-1 mod 2^32

limbs in use

§unsigned long bytessource

the modulus' length in bytes (no leading zeros)

Methods

§int init([]const unsigned char mod_be)source · definition

From a big-endian modulus (leading zero bytes allowed). 0 if it is even, zero or wider than BN_LIMBS_MAX limbs.