type math/big.Int

454 uses

	math/big (current package)
		float.go#L599: func (z *Float) SetInt(x *Int) *Float {
		float.go#L1080: func (x *Float) Int(z *Int) (*Int, Accuracy) {
		float.go#L1086: 		z = new(Int)
		float.go#L1108: 			z = new(Int)
		int.go#L33: type Int struct {
		int.go#L38: var intOne = &Int{false, natOne}
		int.go#L44: func (x *Int) Sign() int {
		int.go#L58: func (z *Int) SetInt64(x int64) *Int {
		int.go#L70: func (z *Int) SetUint64(x uint64) *Int {
		int.go#L77: func NewInt(x int64) *Int {
		int.go#L91: 	return &Int{neg: x < 0, abs: abs}
		int.go#L95: func (z *Int) Set(x *Int) *Int {
		int.go#L108: func (x *Int) Bits() []Word {
		int.go#L120: func (z *Int) SetBits(abs []Word) *Int {
		int.go#L127: func (z *Int) Abs(x *Int) *Int {
		int.go#L134: func (z *Int) Neg(x *Int) *Int {
		int.go#L141: func (z *Int) Add(x, y *Int) *Int {
		int.go#L162: func (z *Int) Sub(x, y *Int) *Int {
		int.go#L183: func (z *Int) Mul(x, y *Int) *Int {
		int.go#L201: func (z *Int) MulRange(a, b int64) *Int {
		int.go#L222: func (z *Int) Binomial(n, k int64) *Int {
		int.go#L251: 	var N, K, i, t Int
		int.go#L266: func (z *Int) Quo(x, y *Int) *Int {
		int.go#L275: func (z *Int) Rem(x, y *Int) *Int {
		int.go#L292: func (z *Int) QuoRem(x, y, r *Int) (*Int, *Int) {
		int.go#L301: func (z *Int) Div(x, y *Int) *Int {
		int.go#L303: 	var r Int
		int.go#L318: func (z *Int) Mod(x, y *Int) *Int {
		int.go#L321: 		y0 = new(Int).Set(y)
		int.go#L323: 	var q Int
		int.go#L349: func (z *Int) DivMod(x, y, m *Int) (*Int, *Int) {
		int.go#L352: 		y0 = new(Int).Set(y)
		int.go#L371: func (x *Int) Cmp(y *Int) (r int) {
		int.go#L396: func (x *Int) CmpAbs(y *Int) int {
		int.go#L422: func (x *Int) Int64() int64 {
		int.go#L432: func (x *Int) Uint64() uint64 {
		int.go#L437: func (x *Int) IsInt64() bool {
		int.go#L446: func (x *Int) IsUint64() bool {
		int.go#L452: func (x *Int) Float64() (float64, Accuracy) {
		int.go#L492: func (z *Int) SetString(s string, base int) (*Int, bool) {
		int.go#L498: func (z *Int) setFromScanner(r io.ByteScanner, base int) (*Int, bool) {
		int.go#L511: func (z *Int) SetBytes(buf []byte) *Int {
		int.go#L520: func (x *Int) Bytes() []byte {
		int.go#L532: func (x *Int) FillBytes(buf []byte) []byte {
		int.go#L541: func (x *Int) BitLen() int {
		int.go#L550: func (x *Int) TrailingZeroBits() uint {
		int.go#L560: func (z *Int) Exp(x, y, m *Int) *Int {
		int.go#L564: func (z *Int) expSlow(x, y, m *Int) *Int {
		int.go#L568: func (z *Int) exp(x, y, m *Int, slow bool) *Int {
		int.go#L576: 		inverse := new(Int).ModInverse(x, m)
		int.go#L587: 			m = new(Int).Set(m)
		int.go#L614: func (z *Int) GCD(x, y, a, b *Int) *Int {
		int.go#L657: func lehmerSimulate(A, B *Int) (u0, u1, v0, v1 Word, even bool) {
		int.go#L710: func lehmerUpdate(A, B, q, r, s, t *Int, u0, u1, v0, v1 Word, even bool) {
		int.go#L734: func euclidUpdate(A, B, Ua, Ub, q, r, s, t *Int, extended bool) {
		int.go#L758: func (z *Int) lehmerGCD(x, y, a, b *Int) *Int {
		int.go#L759: 	var A, B, Ua, Ub *Int
		int.go#L761: 	A = new(Int).Abs(a)
		int.go#L762: 	B = new(Int).Abs(b)
		int.go#L768: 		Ua = new(Int).SetInt64(1)
		int.go#L769: 		Ub = new(Int)
		int.go#L773: 	q := new(Int)
		int.go#L774: 	r := new(Int)
		int.go#L775: 	s := new(Int)
		int.go#L776: 	t := new(Int)
		int.go#L881: func (z *Int) Rand(rnd *rand.Rand, n *Int) *Int {
		int.go#L897: func (z *Int) ModInverse(g, n *Int) *Int {
		int.go#L900: 		var n2 Int
		int.go#L904: 		var g2 Int
		int.go#L907: 	var d, x Int
		int.go#L927: 	return (&Int{abs: z}).ModInverse(&Int{abs: g}, &Int{abs: n}).abs
		int.go#L932: func Jacobi(x, y *Int) int {
		int.go#L941: 	var a, b, c Int
		int.go#L993: func (z *Int) modSqrt3Mod4Prime(x, p *Int) *Int {
		int.go#L994: 	e := new(Int).Add(p, intOne) // e = p + 1
		int.go#L1008: func (z *Int) modSqrt5Mod8Prime(x, p *Int) *Int {
		int.go#L1011: 	e := new(Int).Rsh(p, 3)  // e = (p - 5) / 8
		int.go#L1012: 	tx := new(Int).Lsh(x, 1) // tx = 2*x
		int.go#L1013: 	alpha := new(Int).Exp(tx, e, p)
		int.go#L1014: 	beta := new(Int).Mul(alpha, alpha)
		int.go#L1028: func (z *Int) modSqrtTonelliShanks(x, p *Int) *Int {
		int.go#L1030: 	var s Int
		int.go#L1036: 	var n Int
		int.go#L1046: 	var y, b, g, t Int
		int.go#L1079: func (z *Int) ModSqrt(x, p *Int) *Int {
		int.go#L1089: 		x = new(Int).Mod(x, p)
		int.go#L1106: func (z *Int) Lsh(x *Int, n uint) *Int {
		int.go#L1113: func (z *Int) Rsh(x *Int, n uint) *Int {
		int.go#L1130: func (x *Int) Bit(i int) uint {
		int.go#L1154: func (z *Int) SetBit(x *Int, i int, b uint) *Int {
		int.go#L1171: func (z *Int) And(x, y *Int) *Int {
		int.go#L1201: func (z *Int) AndNot(x, y *Int) *Int {
		int.go#L1234: func (z *Int) Or(x, y *Int) *Int {
		int.go#L1264: func (z *Int) Xor(x, y *Int) *Int {
		int.go#L1294: func (z *Int) Not(x *Int) *Int {
		int.go#L1310: 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#L407: func (x *Rat) Num() *Int {
		rat.go#L418: func (x *Rat) Denom() *Int {
		rat.go#L424: 		return &Int{abs: nat{1}}
		rat.go#L469: func (z *Int) scaleDenom(x *Int, f nat) {
		rat.go#L483: 	var a, b Int
		rat.go#L491: 	var a1, a2 Int
		rat.go#L501: 	var a1, a2 Int
		rat.go#L533: 	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#L52: 	X, Y *big.Int
		ecdsa.go#L93: 	D *big.Int
		ecdsa.go#L142: func bigIntEqual(a, b *big.Int) bool {
		ecdsa.go#L196: 	priv.D = new(big.Int).SetBytes(k.Bytes(c.N))
		ecdsa.go#L585: func (curve *nistCurve[Point]) pointFromAffine(x, y *big.Int) (p Point, err error) {
		ecdsa.go#L604: func (curve *nistCurve[Point]) pointToAffine(p Point) (x, y *big.Int, err error) {
		ecdsa.go#L611: 	x = new(big.Int).SetBytes(out[1 : 1+byteLen])
		ecdsa.go#L612: 	y = new(big.Int).SetBytes(out[1+byteLen:])
		ecdsa.go#L676: 	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#L121: func Verify(pub *PublicKey, hash []byte, r, s *big.Int) bool {
		ecdsa_legacy.go#L137: 	r, s := new(big.Int).SetBytes(rBytes), new(big.Int).SetBytes(sBytes)
		ecdsa_legacy.go#L151: 	w := new(big.Int).ModInverse(s, N)
		ecdsa_legacy.go#L169: var one = new(big.Int).SetInt64(1)
		ecdsa_legacy.go#L173: func randFieldElement(c elliptic.Curve, rand io.Reader) (k *big.Int, err error) {
		ecdsa_legacy.go#L186: 		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#L106: func (x *Nat) setBig(n *big.Int) *Nat {
		nat.go#L376: 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#L50: 	N *big.Int // modulus
		rsa.go#L114: 	D         *big.Int   // private exponent
		rsa.go#L115: 	Primes    []*big.Int // prime factors of N, has >= 2 elements.
		rsa.go#L151: func bigIntEqual(a, b *big.Int) bool {
		rsa.go#L207: 	Dp, Dq *big.Int // D mod (P-1) (or mod Q-1)
		rsa.go#L208: 	Qinv   *big.Int // Q^-1 mod P
		rsa.go#L226: 	Exp   *big.Int // D mod (prime-1).
		rsa.go#L227: 	Coeff *big.Int // R·Coeff ≡ 1 mod Prime.
		rsa.go#L228: 	R     *big.Int // product of primes prior to this (inc p and q).
		rsa.go#L239: 	modulus := new(big.Int).Set(bigOne)
		rsa.go#L256: 	congruence := new(big.Int)
		rsa.go#L257: 	de := new(big.Int).SetInt64(int64(priv.E))
		rsa.go#L260: 		pminus1 := new(big.Int).Sub(prime, bigOne)
		rsa.go#L338: 			Primes: []*big.Int{P, Q},
		rsa.go#L374: 	primes := make([]*big.Int, nprimes)
		rsa.go#L411: 		n := new(big.Int).Set(bigOne)
		rsa.go#L412: 		totient := new(big.Int).Set(bigOne)
		rsa.go#L413: 		pminus1 := new(big.Int)
		rsa.go#L426: 		priv.D = new(big.Int)
		rsa.go#L610: 	priv.Precomputed.Dp = new(big.Int).Sub(priv.Primes[0], bigOne)
		rsa.go#L613: 	priv.Precomputed.Dq = new(big.Int).Sub(priv.Primes[1], bigOne)
		rsa.go#L616: 	priv.Precomputed.Qinv = new(big.Int).ModInverse(priv.Primes[1], priv.Primes[0])
		rsa.go#L618: 	r := new(big.Int).Mul(priv.Primes[0], priv.Primes[1])
		rsa.go#L624: 		values.Exp = new(big.Int).Sub(prime, bigOne)
		rsa.go#L627: 		values.R = new(big.Int).Set(r)
		rsa.go#L628: 		values.Coeff = new(big.Int).ModInverse(r, prime)

	crypto/x509
		oid.go#L92: func base128BigIntLength(n *big.Int) int {
		oid.go#L99: func appendBase128BigInt(dst []byte, n *big.Int) []byte {
		oid.go#L292: 		bigVal   *big.Int
		oid.go#L305: 				bigVal = new(big.Int)
		parser.go#L230: 		p := &pkcs1PublicKey{N: new(big.Int)}
		parser.go#L291: 		y := new(big.Int)
		parser.go#L298: 				P: new(big.Int),
		parser.go#L299: 				Q: new(big.Int),
		parser.go#L300: 				G: new(big.Int),
		parser.go#L868: 	serial := new(big.Int)
		parser.go#L1153: 			rce.SerialNumber = new(big.Int)
		parser.go#L1221: 				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#L700: 	SerialNumber        *big.Int
		x509.go#L2183: 	SerialNumber *big.Int
		x509.go#L2253: 	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.TypeFor[*big.Int]()
		asn1.go#L884: 	case **big.Int:
		marshal.go#L195: func makeBigInt(n *big.Int) (encoder, error) {
		marshal.go#L205: 		nMinus1 := new(big.Int).Neg(n)
		marshal.go#L473: 		return makeBigInt(value.Interface().(*big.Int))

	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)