type math/big.Int

496 uses

	math/big (current package)
		float.go#L600: func (z *Float) SetInt(x *Int) *Float {
		float.go#L1082: func (x *Float) Int(z *Int) (*Int, Accuracy) {
		float.go#L1088: 		z = new(Int)
		float.go#L1110: 			z = new(Int)
		int.go#L33: type Int struct {
		int.go#L38: var intOne = &Int{false, natOne}
		int.go#L45: func (x *Int) Sign() int {
		int.go#L59: func (z *Int) SetInt64(x int64) *Int {
		int.go#L71: func (z *Int) SetUint64(x uint64) *Int {
		int.go#L78: func NewInt(x int64) *Int {
		int.go#L92: 	return &Int{neg: x < 0, abs: abs}
		int.go#L96: func (z *Int) Set(x *Int) *Int {
		int.go#L109: func (x *Int) Bits() []Word {
		int.go#L121: func (z *Int) SetBits(abs []Word) *Int {
		int.go#L128: func (z *Int) Abs(x *Int) *Int {
		int.go#L135: func (z *Int) Neg(x *Int) *Int {
		int.go#L142: func (z *Int) Add(x, y *Int) *Int {
		int.go#L163: func (z *Int) Sub(x, y *Int) *Int {
		int.go#L184: func (z *Int) Mul(x, y *Int) *Int {
		int.go#L202: func (z *Int) MulRange(a, b int64) *Int {
		int.go#L223: func (z *Int) Binomial(n, k int64) *Int {
		int.go#L252: 	var N, K, i, t Int
		int.go#L267: func (z *Int) Quo(x, y *Int) *Int {
		int.go#L276: func (z *Int) Rem(x, y *Int) *Int {
		int.go#L293: func (z *Int) QuoRem(x, y, r *Int) (*Int, *Int) {
		int.go#L302: func (z *Int) Div(x, y *Int) *Int {
		int.go#L304: 	var r Int
		int.go#L319: func (z *Int) Mod(x, y *Int) *Int {
		int.go#L322: 		y0 = new(Int).Set(y)
		int.go#L324: 	var q Int
		int.go#L350: func (z *Int) DivMod(x, y, m *Int) (*Int, *Int) {
		int.go#L353: 		y0 = new(Int).Set(y)
		int.go#L373: func (x *Int) Cmp(y *Int) (r int) {
		int.go#L399: func (x *Int) CmpAbs(y *Int) int {
		int.go#L425: func (x *Int) Int64() int64 {
		int.go#L435: func (x *Int) Uint64() uint64 {
		int.go#L440: func (x *Int) IsInt64() bool {
		int.go#L449: func (x *Int) IsUint64() bool {
		int.go#L455: func (x *Int) Float64() (float64, Accuracy) {
		int.go#L495: func (z *Int) SetString(s string, base int) (*Int, bool) {
		int.go#L501: func (z *Int) setFromScanner(r io.ByteScanner, base int) (*Int, bool) {
		int.go#L514: func (z *Int) SetBytes(buf []byte) *Int {
		int.go#L523: func (x *Int) Bytes() []byte {
		int.go#L535: func (x *Int) FillBytes(buf []byte) []byte {
		int.go#L546: func (x *Int) BitLen() int {
		int.go#L555: func (x *Int) TrailingZeroBits() uint {
		int.go#L565: func (z *Int) Exp(x, y, m *Int) *Int {
		int.go#L569: func (z *Int) expSlow(x, y, m *Int) *Int {
		int.go#L573: func (z *Int) exp(x, y, m *Int, slow bool) *Int {
		int.go#L581: 		inverse := new(Int).ModInverse(x, m)
		int.go#L592: 			m = new(Int).Set(m)
		int.go#L619: func (z *Int) GCD(x, y, a, b *Int) *Int {
		int.go#L662: func lehmerSimulate(A, B *Int) (u0, u1, v0, v1 Word, even bool) {
		int.go#L715: func lehmerUpdate(A, B, q, r, s, t *Int, u0, u1, v0, v1 Word, even bool) {
		int.go#L739: func euclidUpdate(A, B, Ua, Ub, q, r, s, t *Int, extended bool) {
		int.go#L763: func (z *Int) lehmerGCD(x, y, a, b *Int) *Int {
		int.go#L764: 	var A, B, Ua, Ub *Int
		int.go#L766: 	A = new(Int).Abs(a)
		int.go#L767: 	B = new(Int).Abs(b)
		int.go#L773: 		Ua = new(Int).SetInt64(1)
		int.go#L774: 		Ub = new(Int)
		int.go#L778: 	q := new(Int)
		int.go#L779: 	r := new(Int)
		int.go#L780: 	s := new(Int)
		int.go#L781: 	t := new(Int)
		int.go#L886: func (z *Int) Rand(rnd *rand.Rand, n *Int) *Int {
		int.go#L902: func (z *Int) ModInverse(g, n *Int) *Int {
		int.go#L905: 		var n2 Int
		int.go#L909: 		var g2 Int
		int.go#L912: 	var d, x Int
		int.go#L932: 	return (&Int{abs: z}).ModInverse(&Int{abs: g}, &Int{abs: n}).abs
		int.go#L937: func Jacobi(x, y *Int) int {
		int.go#L946: 	var a, b, c Int
		int.go#L998: func (z *Int) modSqrt3Mod4Prime(x, p *Int) *Int {
		int.go#L999: 	e := new(Int).Add(p, intOne) // e = p + 1
		int.go#L1013: func (z *Int) modSqrt5Mod8Prime(x, p *Int) *Int {
		int.go#L1016: 	e := new(Int).Rsh(p, 3)  // e = (p - 5) / 8
		int.go#L1017: 	tx := new(Int).Lsh(x, 1) // tx = 2*x
		int.go#L1018: 	alpha := new(Int).Exp(tx, e, p)
		int.go#L1019: 	beta := new(Int).Mul(alpha, alpha)
		int.go#L1033: func (z *Int) modSqrtTonelliShanks(x, p *Int) *Int {
		int.go#L1035: 	var s Int
		int.go#L1041: 	var n Int
		int.go#L1051: 	var y, b, g, t Int
		int.go#L1084: func (z *Int) ModSqrt(x, p *Int) *Int {
		int.go#L1094: 		x = new(Int).Mod(x, p)
		int.go#L1111: func (z *Int) Lsh(x *Int, n uint) *Int {
		int.go#L1118: func (z *Int) Rsh(x *Int, n uint) *Int {
		int.go#L1135: func (x *Int) Bit(i int) uint {
		int.go#L1158: func (z *Int) SetBit(x *Int, i int, b uint) *Int {
		int.go#L1175: func (z *Int) And(x, y *Int) *Int {
		int.go#L1205: func (z *Int) AndNot(x, y *Int) *Int {
		int.go#L1238: func (z *Int) Or(x, y *Int) *Int {
		int.go#L1268: func (z *Int) Xor(x, y *Int) *Int {
		int.go#L1298: func (z *Int) Not(x *Int) *Int {
		int.go#L1314: func (z *Int) Sqrt(x *Int) *Int {
		intconv.go#L21: func (x *Int) Text(base int) string {
		intconv.go#L30: func (x *Int) Append(buf []byte, base int) []byte {
		intconv.go#L39: func (x *Int) String() string {
		intconv.go#L66: func (x *Int) Format(s fmt.State, ch rune) {
		intconv.go#L180: func (z *Int) scan(r io.ByteScanner, base int) (*Int, int, error) {
		intconv.go#L236: func (z *Int) Scan(s fmt.ScanState, ch rune) error {
		intmarsh.go#L18: func (x *Int) GobEncode() ([]byte, error) {
		intmarsh.go#L33: func (z *Int) GobDecode(buf []byte) error {
		intmarsh.go#L36: 		*z = Int{}
		intmarsh.go#L49: func (x *Int) MarshalText() (text []byte, err error) {
		intmarsh.go#L57: func (z *Int) UnmarshalText(text []byte) error {
		intmarsh.go#L69: func (x *Int) MarshalJSON() ([]byte, error) {
		intmarsh.go#L77: func (z *Int) UnmarshalJSON(text []byte) error {
		prime.go#L26: func (x *Int) ProbablyPrime(n int) bool {
		prime.go#L171: 	intD := &Int{abs: d}
		prime.go#L172: 	intN := &Int{abs: n}
		rat.go#L29: 	a, b Int
		rat.go#L303: func (z *Rat) SetFrac(a, b *Int) *Rat {
		rat.go#L333: func (z *Rat) SetInt(x *Int) *Rat {
		rat.go#L408: func (x *Rat) Num() *Int {
		rat.go#L419: func (x *Rat) Denom() *Int {
		rat.go#L425: 		return &Int{abs: nat{1}}
		rat.go#L470: func (z *Int) scaleDenom(x *Int, f nat) {
		rat.go#L485: 	var a, b Int
		rat.go#L493: 	var a1, a2 Int
		rat.go#L503: 	var a1, a2 Int
		rat.go#L535: 	var a, b Int

	crypto/dsa
		dsa.go#L27: 	P, Q, G *big.Int
		dsa.go#L33: 	Y *big.Int
		dsa.go#L39: 	X *big.Int
		dsa.go#L92: 	q := new(big.Int)
		dsa.go#L93: 	p := new(big.Int)
		dsa.go#L94: 	rem := new(big.Int)
		dsa.go#L95: 	one := new(big.Int)
		dsa.go#L138: 	h := new(big.Int)
		dsa.go#L140: 	g := new(big.Int)
		dsa.go#L142: 	pm1 := new(big.Int).Sub(p, one)
		dsa.go#L143: 	e := new(big.Int).Div(pm1, q)
		dsa.go#L164: 	x := new(big.Int)
		dsa.go#L179: 	priv.Y = new(big.Int)
		dsa.go#L188: func fermatInverse(k, P *big.Int) *big.Int {
		dsa.go#L190: 	pMinus2 := new(big.Int).Sub(P, two)
		dsa.go#L191: 	return new(big.Int).Exp(k, pMinus2, P)
		dsa.go#L205: func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err error) {
		dsa.go#L219: 		k := new(big.Int)
		dsa.go#L238: 		r = new(big.Int).Exp(priv.G, k, priv.P)
		dsa.go#L247: 		s = new(big.Int).Mul(priv.X, r)
		dsa.go#L273: func Verify(pub *PublicKey, hash []byte, r, s *big.Int) bool {
		dsa.go#L287: 	w := new(big.Int).ModInverse(s, pub.Q)
		dsa.go#L296: 	z := new(big.Int).SetBytes(hash)
		dsa.go#L298: 	u1 := new(big.Int).Mul(z, w)

	crypto/ecdsa
		ecdsa.go#L48: 	X, Y *big.Int
		ecdsa.go#L89: 	D *big.Int
		ecdsa.go#L138: func bigIntEqual(a, b *big.Int) bool {
		ecdsa.go#L192: 	priv.D = new(big.Int).SetBytes(k.Bytes(c.N))
		ecdsa.go#L580: func (curve *nistCurve[Point]) pointFromAffine(x, y *big.Int) (p Point, err error) {
		ecdsa.go#L599: func (curve *nistCurve[Point]) pointToAffine(p Point) (x, y *big.Int, err error) {
		ecdsa.go#L606: 	x = new(big.Int).SetBytes(out[1 : 1+byteLen])
		ecdsa.go#L607: 	y = new(big.Int).SetBytes(out[1+byteLen:])
		ecdsa.go#L671: 	c.nMinus2 = new(big.Int).Sub(params.N, big.NewInt(2)).Bytes()
		ecdsa_legacy.go#L36: func hashToInt(hash []byte, c elliptic.Curve) *big.Int {
		ecdsa_legacy.go#L43: 	ret := new(big.Int).SetBytes(hash)
		ecdsa_legacy.go#L58: func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err error) {
		ecdsa_legacy.go#L64: 	r, s = new(big.Int), new(big.Int)
		ecdsa_legacy.go#L85: 	var k, kInv, r, s *big.Int
		ecdsa_legacy.go#L93: 			kInv = new(big.Int).ModInverse(k, N)
		ecdsa_legacy.go#L103: 		s = new(big.Int).Mul(priv.D, r)
		ecdsa_legacy.go#L118: func Verify(pub *PublicKey, hash []byte, r, s *big.Int) bool {
		ecdsa_legacy.go#L134: 	r, s := new(big.Int).SetBytes(rBytes), new(big.Int).SetBytes(sBytes)
		ecdsa_legacy.go#L148: 	w := new(big.Int).ModInverse(s, N)
		ecdsa_legacy.go#L166: var one = new(big.Int).SetInt64(1)
		ecdsa_legacy.go#L170: func randFieldElement(c elliptic.Curve, rand io.Reader) (k *big.Int, err error) {
		ecdsa_legacy.go#L183: 		k = new(big.Int).SetBytes(b)

	crypto/elliptic
		elliptic.go#L40: 	IsOnCurve(x, y *big.Int) bool
		elliptic.go#L45: 	Add(x1, y1, x2, y2 *big.Int) (x, y *big.Int)
		elliptic.go#L50: 	Double(x1, y1 *big.Int) (x, y *big.Int)
		elliptic.go#L57: 	ScalarMult(x1, y1 *big.Int, k []byte) (x, y *big.Int)
		elliptic.go#L65: 	ScalarBaseMult(k []byte) (x, y *big.Int)
		elliptic.go#L75: func GenerateKey(curve Curve, rand io.Reader) (priv []byte, x, y *big.Int, err error) {
		elliptic.go#L94: 		if new(big.Int).SetBytes(priv).Cmp(N) >= 0 {
		elliptic.go#L109: func Marshal(curve Curve, x, y *big.Int) []byte {
		elliptic.go#L126: func MarshalCompressed(curve Curve, x, y *big.Int) []byte {
		elliptic.go#L140: 	Unmarshal([]byte) (x, y *big.Int)
		elliptic.go#L141: 	UnmarshalCompressed([]byte) (x, y *big.Int)
		elliptic.go#L153: func Unmarshal(curve Curve, data []byte) (x, y *big.Int) {
		elliptic.go#L166: 	x = new(big.Int).SetBytes(data[1 : 1+byteLen])
		elliptic.go#L167: 	y = new(big.Int).SetBytes(data[1+byteLen:])
		elliptic.go#L180: func UnmarshalCompressed(curve Curve, data []byte) (x, y *big.Int) {
		elliptic.go#L193: 	x = new(big.Int).SetBytes(data[1:])
		elliptic.go#L212: func panicIfNotOnCurve(curve Curve, x, y *big.Int) {
		nistec.go#L129: func (curve *nistCurve[Point]) IsOnCurve(x, y *big.Int) bool {
		nistec.go#L139: func (curve *nistCurve[Point]) pointFromAffine(x, y *big.Int) (p Point, err error) {
		nistec.go#L161: func (curve *nistCurve[Point]) pointToAffine(p Point) (x, y *big.Int) {
		nistec.go#L166: 		return new(big.Int), new(big.Int)
		nistec.go#L169: 	x = new(big.Int).SetBytes(out[1 : 1+byteLen])
		nistec.go#L170: 	y = new(big.Int).SetBytes(out[1+byteLen:])
		nistec.go#L174: func (curve *nistCurve[Point]) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) {
		nistec.go#L186: func (curve *nistCurve[Point]) Double(x1, y1 *big.Int) (*big.Int, *big.Int) {
		nistec.go#L201: 	s := new(big.Int).SetBytes(scalar)
		nistec.go#L209: func (curve *nistCurve[Point]) ScalarMult(Bx, By *big.Int, scalar []byte) (*big.Int, *big.Int) {
		nistec.go#L222: func (curve *nistCurve[Point]) ScalarBaseMult(scalar []byte) (*big.Int, *big.Int) {
		nistec.go#L233: func (curve *nistCurve[Point]) CombinedMult(Px, Py *big.Int, s1, s2 []byte) (x, y *big.Int) {
		nistec.go#L251: func (curve *nistCurve[Point]) Unmarshal(data []byte) (x, y *big.Int) {
		nistec.go#L264: 	x = new(big.Int).SetBytes(data[1 : 1+byteLen])
		nistec.go#L265: 	y = new(big.Int).SetBytes(data[1+byteLen:])
		nistec.go#L269: func (curve *nistCurve[Point]) UnmarshalCompressed(data []byte) (x, y *big.Int) {
		nistec.go#L280: func bigFromDecimal(s string) *big.Int {
		nistec.go#L281: 	b, ok := new(big.Int).SetString(s, 10)
		nistec.go#L288: func bigFromHex(s string) *big.Int {
		nistec.go#L289: 	b, ok := new(big.Int).SetString(s, 16)
		nistec_p256.go#L14: func (c p256Curve) Inverse(k *big.Int) *big.Int {
		nistec_p256.go#L17: 		k = new(big.Int).Neg(k)
		nistec_p256.go#L21: 		k = new(big.Int).Mod(k, c.params.N)
		nistec_p256.go#L28: 	return new(big.Int).SetBytes(inverse)
		params.go#L16: 	P       *big.Int // the order of the underlying field
		params.go#L17: 	N       *big.Int // the order of the base point
		params.go#L18: 	B       *big.Int // the constant of the curve equation
		params.go#L19: 	Gx, Gy  *big.Int // (x,y) of the base point
		params.go#L36: func (curve *CurveParams) polynomial(x *big.Int) *big.Int {
		params.go#L37: 	x3 := new(big.Int).Mul(x, x)
		params.go#L40: 	threeX := new(big.Int).Lsh(x, 1)
		params.go#L56: func (curve *CurveParams) IsOnCurve(x, y *big.Int) bool {
		params.go#L69: 	y2 := new(big.Int).Mul(y, y)
		params.go#L78: func zForAffine(x, y *big.Int) *big.Int {
		params.go#L79: 	z := new(big.Int)
		params.go#L88: func (curve *CurveParams) affineFromJacobian(x, y, z *big.Int) (xOut, yOut *big.Int) {
		params.go#L90: 		return new(big.Int), new(big.Int)
		params.go#L93: 	zinv := new(big.Int).ModInverse(z, curve.P)
		params.go#L94: 	zinvsq := new(big.Int).Mul(zinv, zinv)
		params.go#L96: 	xOut = new(big.Int).Mul(x, zinvsq)
		params.go#L99: 	yOut = new(big.Int).Mul(y, zinvsq)
		params.go#L110: func (curve *CurveParams) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) {
		params.go#L126: func (curve *CurveParams) addJacobian(x1, y1, z1, x2, y2, z2 *big.Int) (*big.Int, *big.Int, *big.Int) {
		params.go#L128: 	x3, y3, z3 := new(big.Int), new(big.Int), new(big.Int)
		params.go#L142: 	z1z1 := new(big.Int).Mul(z1, z1)
		params.go#L144: 	z2z2 := new(big.Int).Mul(z2, z2)
		params.go#L147: 	u1 := new(big.Int).Mul(x1, z2z2)
		params.go#L149: 	u2 := new(big.Int).Mul(x2, z1z1)
		params.go#L151: 	h := new(big.Int).Sub(u2, u1)
		params.go#L156: 	i := new(big.Int).Lsh(h, 1)
		params.go#L158: 	j := new(big.Int).Mul(h, i)
		params.go#L160: 	s1 := new(big.Int).Mul(y1, z2)
		params.go#L163: 	s2 := new(big.Int).Mul(y2, z1)
		params.go#L166: 	r := new(big.Int).Sub(s2, s1)
		params.go#L175: 	v := new(big.Int).Mul(u1, i)
		params.go#L208: func (curve *CurveParams) Double(x1, y1 *big.Int) (*big.Int, *big.Int) {
		params.go#L222: func (curve *CurveParams) doubleJacobian(x, y, z *big.Int) (*big.Int, *big.Int, *big.Int) {
		params.go#L224: 	delta := new(big.Int).Mul(z, z)
		params.go#L226: 	gamma := new(big.Int).Mul(y, y)
		params.go#L228: 	alpha := new(big.Int).Sub(x, delta)
		params.go#L232: 	alpha2 := new(big.Int).Add(x, delta)
		params.go#L240: 	x3 := new(big.Int).Mul(alpha, alpha)
		params.go#L241: 	beta8 := new(big.Int).Lsh(beta, 3)
		params.go#L249: 	z3 := new(big.Int).Add(y, z)
		params.go#L287: func (curve *CurveParams) ScalarMult(Bx, By *big.Int, k []byte) (*big.Int, *big.Int) {
		params.go#L295: 	Bz := new(big.Int).SetInt64(1)
		params.go#L296: 	x, y, z := new(big.Int), new(big.Int), new(big.Int)
		params.go#L317: func (curve *CurveParams) ScalarBaseMult(k []byte) (*big.Int, *big.Int) {

	crypto/internal/bigmod
		nat.go#L118: func (x *Nat) setBig(n *big.Int) *Nat {
		nat.go#L354: func NewModulusFromBig(n *big.Int) (*Modulus, error) {

	crypto/internal/boring/bbig
		big.go#L13: func Enc(b *big.Int) boring.BigInt {
		big.go#L24: func Dec(b boring.BigInt) *big.Int {
		big.go#L29: 		return new(big.Int)
		big.go#L32: 	return new(big.Int).SetBits(x)

	crypto/rand
		util.go#L16: func Prime(rand io.Reader, bits int) (*big.Int, error) {
		util.go#L29: 	p := new(big.Int)
		util.go#L62: func Int(rand io.Reader, max *big.Int) (n *big.Int, err error) {
		util.go#L66: 	n = new(big.Int)

	crypto/rsa
		rsa.go#L47: 	N *big.Int // modulus
		rsa.go#L111: 	D         *big.Int   // private exponent
		rsa.go#L112: 	Primes    []*big.Int // prime factors of N, has >= 2 elements.
		rsa.go#L148: func bigIntEqual(a, b *big.Int) bool {
		rsa.go#L204: 	Dp, Dq *big.Int // D mod (P-1) (or mod Q-1)
		rsa.go#L205: 	Qinv   *big.Int // Q^-1 mod P
		rsa.go#L223: 	Exp   *big.Int // D mod (prime-1).
		rsa.go#L224: 	Coeff *big.Int // R·Coeff ≡ 1 mod Prime.
		rsa.go#L225: 	R     *big.Int // product of primes prior to this (inc p and q).
		rsa.go#L236: 	modulus := new(big.Int).Set(bigOne)
		rsa.go#L253: 	congruence := new(big.Int)
		rsa.go#L254: 	de := new(big.Int).SetInt64(int64(priv.E))
		rsa.go#L257: 		pminus1 := new(big.Int).Sub(prime, bigOne)
		rsa.go#L335: 			Primes: []*big.Int{P, Q},
		rsa.go#L371: 	primes := make([]*big.Int, nprimes)
		rsa.go#L408: 		n := new(big.Int).Set(bigOne)
		rsa.go#L409: 		totient := new(big.Int).Set(bigOne)
		rsa.go#L410: 		pminus1 := new(big.Int)
		rsa.go#L423: 		priv.D = new(big.Int)
		rsa.go#L611: 	priv.Precomputed.Dp = new(big.Int).Sub(priv.Primes[0], bigOne)
		rsa.go#L614: 	priv.Precomputed.Dq = new(big.Int).Sub(priv.Primes[1], bigOne)
		rsa.go#L617: 	priv.Precomputed.Qinv = new(big.Int).ModInverse(priv.Primes[1], priv.Primes[0])
		rsa.go#L619: 	r := new(big.Int).Mul(priv.Primes[0], priv.Primes[1])
		rsa.go#L625: 		values.Exp = new(big.Int).Sub(prime, bigOne)
		rsa.go#L628: 		values.R = new(big.Int).Set(r)
		rsa.go#L629: 		values.Coeff = new(big.Int).ModInverse(r, prime)

	crypto/x509
		parser.go#L229: 		p := &pkcs1PublicKey{N: new(big.Int)}
		parser.go#L290: 		y := new(big.Int)
		parser.go#L297: 				P: new(big.Int),
		parser.go#L298: 				Q: new(big.Int),
		parser.go#L299: 				G: new(big.Int),
		parser.go#L839: 	serial := new(big.Int)
		parser.go#L1118: 			rce.SerialNumber = new(big.Int)
		parser.go#L1183: 				rl.Number = new(big.Int)
		pkcs1.go#L17: 	N       *big.Int
		pkcs1.go#L19: 	D       *big.Int
		pkcs1.go#L20: 	P       *big.Int
		pkcs1.go#L21: 	Q       *big.Int
		pkcs1.go#L23: 	Dp   *big.Int `asn1:"optional"`
		pkcs1.go#L24: 	Dq   *big.Int `asn1:"optional"`
		pkcs1.go#L25: 	Qinv *big.Int `asn1:"optional"`
		pkcs1.go#L31: 	Prime *big.Int
		pkcs1.go#L34: 	Exp   *big.Int
		pkcs1.go#L35: 	Coeff *big.Int
		pkcs1.go#L40: 	N *big.Int
		pkcs1.go#L78: 	key.Primes = make([]*big.Int, 2+len(priv.AdditionalPrimes))
		sec1.go#L109: 	k := new(big.Int).SetBytes(privKey.PrivateKey)
		x509.go#L182: 	SerialNumber       *big.Int
		x509.go#L194: 	P, Q, G *big.Int
		x509.go#L691: 	SerialNumber        *big.Int
		x509.go#L2168: 	SerialNumber *big.Int
		x509.go#L2238: 	Number *big.Int

	crypto/x509/pkix
		pkix.go#L317: 	SerialNumber   *big.Int

	encoding/asn1
		asn1.go#L135: func parseBigInt(bytes []byte) (*big.Int, error) {
		asn1.go#L139: 	ret := new(big.Int)
		asn1.go#L666: 	bigIntType           = reflect.TypeOf((*big.Int)(nil))
		asn1.go#L884: 	case **big.Int:
		marshal.go#L197: func makeBigInt(n *big.Int) (encoder, error) {
		marshal.go#L207: 		nMinus1 := new(big.Int).Neg(n)
		marshal.go#L476: 		return makeBigInt(value.Interface().(*big.Int))

	github.com/go-faster/jx
		dec_float_big.go#L28: func (d *Decoder) BigInt() (*big.Int, error) {

	github.com/gotd/td/bin
		int128.go#L25: func (i Int128) BigInt() *big.Int {
		int256.go#L25: func (i Int256) BigInt() *big.Int {

	github.com/gotd/td/internal/crypto
		check_dh.go#L23: func CheckDH(g int, p *big.Int) error {
		check_dh.go#L42: func checkPrime(p *big.Int) error {
		check_gp.go#L17: func CheckGP(g int, p *big.Int) error {
		check_gp.go#L51: func checkSubgroup(p *big.Int, divider int64, expected ...int64) bool {
		check_gp.go#L52: 	rem := new(big.Int).Rem(p, big.NewInt(divider)).Int64()
		dh.go#L12: func CheckDHParams(dhPrime, g, gA, gB *big.Int) error {
		dh.go#L45: func InRange(x, min, max *big.Int) bool {
		fill_bytes.go#L8: func FillBytes(b *big.Int, to []byte) bool {
		pq.go#L28: func DecomposePQ(pq *big.Int, randSource io.Reader) (p, q *big.Int, err error) { // nolint:gocognit
		prime.go#L6: func Prime(p *big.Int) bool {
		rsa.go#L33: 	c := new(big.Int).SetBytes(sig)
		rsa.go#L35: 	m := new(big.Int).Exp(c, e, pub.N)
		rsa.go#L41: 	z := new(big.Int).SetBytes(data)
		rsa.go#L43: 	c := new(big.Int).Exp(z, e, key.N)
		rsa.go#L50: 	c := new(big.Int).SetBytes(data)
		rsa.go#L51: 	m := new(big.Int).Exp(c, key.D, key.N)
		temp_keys.go#L9: func sha1BigInt(a, b *big.Int) []byte {
		temp_keys.go#L20: func TempAESKeys(newNonce, serverNonce *big.Int) (key, iv []byte) {

	github.com/gotd/td/internal/crypto/srp
		new_hash.go#L16: func (s SRP) computeXV(password, clientSalt, serverSalt []byte, g, p *big.Int) (x, v *big.Int) {
		new_hash.go#L18: 	x = new(big.Int).SetBytes(s.secondary(password, clientSalt, serverSalt))
		new_hash.go#L20: 	v = new(big.Int).Exp(g, x, p)
		new_hash.go#L37: 	p := new(big.Int).SetBytes(i.P)
		pad.go#L9: func (s SRP) pad256FromBig(i *big.Int) (b [256]byte, r bool) {
		srp.go#L53: func (s SRP) bigFromBytes(b []byte) *big.Int {
		srp.go#L54: 	return new(big.Int).SetBytes(b)
		srp.go#L57: func (s SRP) bigExp(x, y, m *big.Int) *big.Int {
		srp.go#L58: 	return new(big.Int).Exp(x, y, m)
		srp.go#L61: func checkInput(g int, p *big.Int) error {

	github.com/gotd/td/internal/exchange
		generator.go#L16: 	PQ() (pq *big.Int, err error)
		generator.go#L17: 	GA(g int, dhPrime *big.Int) (a, ga *big.Int, err error)
		generator.go#L18: 	DhPrime() (p *big.Int, err error)
		generator.go#L28: func (s TestServerRNG) bigFromHex(hexString string) (p *big.Int, err error) {
		generator.go#L40: func (s TestServerRNG) PQ() (pq *big.Int, err error) {
		generator.go#L45: func (s TestServerRNG) GA(g int, dhPrime *big.Int) (a, ga *big.Int, err error) {
		generator.go#L72: func (s TestServerRNG) DhPrime() (p *big.Int, err error) {

	github.com/gotd/td/telegram/dcs
		dns.go#L25: 	eBig *big.Int
		dns.go#L53: 	x := new(big.Int).SetBytes(input[:])
		dns.go#L54: 	y := new(big.Int).Exp(x, dnsKey.eBig, dnsKey.N)

	vendor/golang.org/x/crypto/cryptobyte
		asn1.go#L67: func (b *Builder) AddASN1BigInt(n *big.Int) {
		asn1.go#L78: 			nMinus1 := new(big.Int).Neg(n)
		asn1.go#L289: 	case *big.Int:
		asn1.go#L315: func (s *String) readASN1BigInt(out *big.Int) bool {
		asn1.go#L694: 		case *big.Int:
		asn1.go#L695: 			if defaultValue, ok := defaultValue.(*big.Int); ok {
		asn1.go#L696: 				out.(*big.Int).Set(defaultValue)