type math/big.Int

537 uses

	math/big (current package)
		float.go#L594: func (z *Float) SetInt(x *Int) *Float {
		float.go#L1076: func (x *Float) Int(z *Int) (*Int, Accuracy) {
		float.go#L1082: 		z = new(Int)
		float.go#L1104: 			z = new(Int)
		int.go#L25: type Int struct {
		int.go#L30: var intOne = &Int{false, natOne}
		int.go#L38: func (x *Int) Sign() int {
		int.go#L49: func (z *Int) SetInt64(x int64) *Int {
		int.go#L61: func (z *Int) SetUint64(x uint64) *Int {
		int.go#L68: func NewInt(x int64) *Int {
		int.go#L69: 	return new(Int).SetInt64(x)
		int.go#L73: func (z *Int) Set(x *Int) *Int {
		int.go#L86: func (x *Int) Bits() []Word {
		int.go#L95: func (z *Int) SetBits(abs []Word) *Int {
		int.go#L102: func (z *Int) Abs(x *Int) *Int {
		int.go#L109: func (z *Int) Neg(x *Int) *Int {
		int.go#L116: func (z *Int) Add(x, y *Int) *Int {
		int.go#L137: func (z *Int) Sub(x, y *Int) *Int {
		int.go#L158: func (z *Int) Mul(x, y *Int) *Int {
		int.go#L176: func (z *Int) MulRange(a, b int64) *Int {
		int.go#L197: func (z *Int) Binomial(n, k int64) *Int {
		int.go#L202: 	var a, b Int
		int.go#L211: func (z *Int) Quo(x, y *Int) *Int {
		int.go#L220: func (z *Int) Rem(x, y *Int) *Int {
		int.go#L238: func (z *Int) QuoRem(x, y, r *Int) (*Int, *Int) {
		int.go#L247: func (z *Int) Div(x, y *Int) *Int {
		int.go#L249: 	var r Int
		int.go#L264: func (z *Int) Mod(x, y *Int) *Int {
		int.go#L267: 		y0 = new(Int).Set(y)
		int.go#L269: 	var q Int
		int.go#L296: func (z *Int) DivMod(x, y, m *Int) (*Int, *Int) {
		int.go#L299: 		y0 = new(Int).Set(y)
		int.go#L320: func (x *Int) Cmp(y *Int) (r int) {
		int.go#L347: func (x *Int) CmpAbs(y *Int) int {
		int.go#L373: func (x *Int) Int64() int64 {
		int.go#L383: func (x *Int) Uint64() uint64 {
		int.go#L388: func (x *Int) IsInt64() bool {
		int.go#L397: func (x *Int) IsUint64() bool {
		int.go#L424: func (z *Int) SetString(s string, base int) (*Int, bool) {
		int.go#L430: func (z *Int) setFromScanner(r io.ByteScanner, base int) (*Int, bool) {
		int.go#L443: func (z *Int) SetBytes(buf []byte) *Int {
		int.go#L452: func (x *Int) Bytes() []byte {
		int.go#L461: func (x *Int) FillBytes(buf []byte) []byte {
		int.go#L472: func (x *Int) BitLen() int {
		int.go#L478: func (x *Int) TrailingZeroBits() uint {
		int.go#L488: func (z *Int) Exp(x, y, m *Int) *Int {
		int.go#L496: 		inverse := new(Int).ModInverse(x, m)
		int.go#L531: func (z *Int) GCD(x, y, a, b *Int) *Int {
		int.go#L572: func lehmerSimulate(A, B *Int) (u0, u1, v0, v1 Word, even bool) {
		int.go#L623: func lehmerUpdate(A, B, q, r, s, t *Int, u0, u1, v0, v1 Word, even bool) {
		int.go#L647: func euclidUpdate(A, B, Ua, Ub, q, r, s, t *Int, extended bool) {
		int.go#L671: func (z *Int) lehmerGCD(x, y, a, b *Int) *Int {
		int.go#L672: 	var A, B, Ua, Ub *Int
		int.go#L674: 	A = new(Int).Abs(a)
		int.go#L675: 	B = new(Int).Abs(b)
		int.go#L681: 		Ua = new(Int).SetInt64(1)
		int.go#L682: 		Ub = new(Int)
		int.go#L686: 	q := new(Int)
		int.go#L687: 	r := new(Int)
		int.go#L688: 	s := new(Int)
		int.go#L689: 	t := new(Int)
		int.go#L794: func (z *Int) Rand(rnd *rand.Rand, n *Int) *Int {
		int.go#L808: func (z *Int) ModInverse(g, n *Int) *Int {
		int.go#L811: 		var n2 Int
		int.go#L815: 		var g2 Int
		int.go#L818: 	var d, x Int
		int.go#L838: func Jacobi(x, y *Int) int {
		int.go#L847: 	var a, b, c Int
		int.go#L897: func (z *Int) modSqrt3Mod4Prime(x, p *Int) *Int {
		int.go#L898: 	e := new(Int).Add(p, intOne) // e = p + 1
		int.go#L910: func (z *Int) modSqrt5Mod8Prime(x, p *Int) *Int {
		int.go#L913: 	e := new(Int).Rsh(p, 3)  // e = (p - 5) / 8
		int.go#L914: 	tx := new(Int).Lsh(x, 1) // tx = 2*x
		int.go#L915: 	alpha := new(Int).Exp(tx, e, p)
		int.go#L916: 	beta := new(Int).Mul(alpha, alpha)
		int.go#L930: func (z *Int) modSqrtTonelliShanks(x, p *Int) *Int {
		int.go#L932: 	var s Int
		int.go#L938: 	var n Int
		int.go#L948: 	var y, b, g, t Int
		int.go#L981: func (z *Int) ModSqrt(x, p *Int) *Int {
		int.go#L991: 		x = new(Int).Mod(x, p)
		int.go#L1008: func (z *Int) Lsh(x *Int, n uint) *Int {
		int.go#L1015: func (z *Int) Rsh(x *Int, n uint) *Int {
		int.go#L1032: func (x *Int) Bit(i int) uint {
		int.go#L1055: func (z *Int) SetBit(x *Int, i int, b uint) *Int {
		int.go#L1072: func (z *Int) And(x, y *Int) *Int {
		int.go#L1102: func (z *Int) AndNot(x, y *Int) *Int {
		int.go#L1135: func (z *Int) Or(x, y *Int) *Int {
		int.go#L1165: func (z *Int) Xor(x, y *Int) *Int {
		int.go#L1195: func (z *Int) Not(x *Int) *Int {
		int.go#L1211: 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#L67: func (x *Int) Format(s fmt.State, ch rune) {
		intconv.go#L182: func (z *Int) scan(r io.ByteScanner, base int) (*Int, int, error) {
		intconv.go#L238: 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#L74: 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#L409: func (x *Rat) Num() *Int {
		rat.go#L420: func (x *Rat) Denom() *Int {
		rat.go#L426: 		return &Int{abs: nat{1}}
		rat.go#L471: func (z *Int) scaleDenom(x *Int, f nat) {
		rat.go#L487: 	var a, b Int
		rat.go#L495: 	var a1, a2 Int
		rat.go#L505: 	var a1, a2 Int
		rat.go#L537: 	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#L40: 	Inverse(k *big.Int) *big.Int
		ecdsa.go#L46: 	CombinedMult(Px, Py *big.Int, s1, s2 []byte) (x, y *big.Int)
		ecdsa.go#L56: 	X, Y *big.Int
		ecdsa.go#L83: 	D *big.Int
		ecdsa.go#L123: var one = new(big.Int).SetInt64(1)
		ecdsa.go#L127: func randFieldElement(c elliptic.Curve, rand io.Reader) (k *big.Int, err error) {
		ecdsa.go#L137: 	k = new(big.Int).SetBytes(b)
		ecdsa.go#L138: 	n := new(big.Int).Sub(params.N, one)
		ecdsa.go#L161: func hashToInt(hash []byte, c elliptic.Curve) *big.Int {
		ecdsa.go#L168: 	ret := new(big.Int).SetBytes(hash)
		ecdsa.go#L181: func fermatInverse(k, N *big.Int) *big.Int {
		ecdsa.go#L183: 	nMinus2 := new(big.Int).Sub(N, two)
		ecdsa.go#L184: 	return new(big.Int).Exp(k, nMinus2, N)
		ecdsa.go#L194: func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err error) {
		ecdsa.go#L240: func signGeneric(priv *PrivateKey, csprng *cipher.StreamReader, c elliptic.Curve, hash []byte) (r, s *big.Int, err error) {
		ecdsa.go#L246: 	var k, kInv *big.Int
		ecdsa.go#L269: 		s = new(big.Int).Mul(priv.D, r)
		ecdsa.go#L292: func Verify(pub *PublicKey, hash []byte, r, s *big.Int) bool {
		ecdsa.go#L305: func verifyGeneric(pub *PublicKey, c elliptic.Curve, hash []byte, r, s *big.Int) bool {
		ecdsa.go#L308: 	var w *big.Int
		ecdsa.go#L313: 		w = new(big.Int).ModInverse(s, N)
		ecdsa.go#L322: 	var x, y *big.Int
		ecdsa.go#L342: 		r, s  = &big.Int{}, &big.Int{}
		ecdsa_noasm.go#L15: func sign(priv *PrivateKey, csprng *cipher.StreamReader, c elliptic.Curve, hash []byte) (r, s *big.Int, err error) {
		ecdsa_noasm.go#L19: func verify(pub *PublicKey, c elliptic.Curve, hash []byte, r, s *big.Int) bool {

	crypto/elliptic
		elliptic.go#L27: 	IsOnCurve(x, y *big.Int) bool
		elliptic.go#L29: 	Add(x1, y1, x2, y2 *big.Int) (x, y *big.Int)
		elliptic.go#L31: 	Double(x1, y1 *big.Int) (x, y *big.Int)
		elliptic.go#L33: 	ScalarMult(x1, y1 *big.Int, k []byte) (x, y *big.Int)
		elliptic.go#L36: 	ScalarBaseMult(k []byte) (x, y *big.Int)
		elliptic.go#L51: 	P       *big.Int // the order of the underlying field
		elliptic.go#L52: 	N       *big.Int // the order of the base point
		elliptic.go#L53: 	B       *big.Int // the constant of the curve equation
		elliptic.go#L54: 	Gx, Gy  *big.Int // (x,y) of the base point
		elliptic.go#L71: func (curve *CurveParams) polynomial(x *big.Int) *big.Int {
		elliptic.go#L72: 	x3 := new(big.Int).Mul(x, x)
		elliptic.go#L75: 	threeX := new(big.Int).Lsh(x, 1)
		elliptic.go#L85: func (curve *CurveParams) IsOnCurve(x, y *big.Int) bool {
		elliptic.go#L98: 	y2 := new(big.Int).Mul(y, y)
		elliptic.go#L107: func zForAffine(x, y *big.Int) *big.Int {
		elliptic.go#L108: 	z := new(big.Int)
		elliptic.go#L117: func (curve *CurveParams) affineFromJacobian(x, y, z *big.Int) (xOut, yOut *big.Int) {
		elliptic.go#L119: 		return new(big.Int), new(big.Int)
		elliptic.go#L122: 	zinv := new(big.Int).ModInverse(z, curve.P)
		elliptic.go#L123: 	zinvsq := new(big.Int).Mul(zinv, zinv)
		elliptic.go#L125: 	xOut = new(big.Int).Mul(x, zinvsq)
		elliptic.go#L128: 	yOut = new(big.Int).Mul(y, zinvsq)
		elliptic.go#L133: func (curve *CurveParams) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) {
		elliptic.go#L147: func (curve *CurveParams) addJacobian(x1, y1, z1, x2, y2, z2 *big.Int) (*big.Int, *big.Int, *big.Int) {
		elliptic.go#L149: 	x3, y3, z3 := new(big.Int), new(big.Int), new(big.Int)
		elliptic.go#L163: 	z1z1 := new(big.Int).Mul(z1, z1)
		elliptic.go#L165: 	z2z2 := new(big.Int).Mul(z2, z2)
		elliptic.go#L168: 	u1 := new(big.Int).Mul(x1, z2z2)
		elliptic.go#L170: 	u2 := new(big.Int).Mul(x2, z1z1)
		elliptic.go#L172: 	h := new(big.Int).Sub(u2, u1)
		elliptic.go#L177: 	i := new(big.Int).Lsh(h, 1)
		elliptic.go#L179: 	j := new(big.Int).Mul(h, i)
		elliptic.go#L181: 	s1 := new(big.Int).Mul(y1, z2)
		elliptic.go#L184: 	s2 := new(big.Int).Mul(y2, z1)
		elliptic.go#L187: 	r := new(big.Int).Sub(s2, s1)
		elliptic.go#L196: 	v := new(big.Int).Mul(u1, i)
		elliptic.go#L223: func (curve *CurveParams) Double(x1, y1 *big.Int) (*big.Int, *big.Int) {
		elliptic.go#L236: func (curve *CurveParams) doubleJacobian(x, y, z *big.Int) (*big.Int, *big.Int, *big.Int) {
		elliptic.go#L238: 	delta := new(big.Int).Mul(z, z)
		elliptic.go#L240: 	gamma := new(big.Int).Mul(y, y)
		elliptic.go#L242: 	alpha := new(big.Int).Sub(x, delta)
		elliptic.go#L246: 	alpha2 := new(big.Int).Add(x, delta)
		elliptic.go#L254: 	x3 := new(big.Int).Mul(alpha, alpha)
		elliptic.go#L255: 	beta8 := new(big.Int).Lsh(beta, 3)
		elliptic.go#L263: 	z3 := new(big.Int).Add(y, z)
		elliptic.go#L295: func (curve *CurveParams) ScalarMult(Bx, By *big.Int, k []byte) (*big.Int, *big.Int) {
		elliptic.go#L302: 	Bz := new(big.Int).SetInt64(1)
		elliptic.go#L303: 	x, y, z := new(big.Int), new(big.Int), new(big.Int)
		elliptic.go#L318: func (curve *CurveParams) ScalarBaseMult(k []byte) (*big.Int, *big.Int) {
		elliptic.go#L332: func GenerateKey(curve Curve, rand io.Reader) (priv []byte, x, y *big.Int, err error) {
		elliptic.go#L351: 		if new(big.Int).SetBytes(priv).Cmp(N) >= 0 {
		elliptic.go#L363: func Marshal(curve Curve, x, y *big.Int) []byte {
		elliptic.go#L378: func MarshalCompressed(curve Curve, x, y *big.Int) []byte {
		elliptic.go#L389: func Unmarshal(curve Curve, data []byte) (x, y *big.Int) {
		elliptic.go#L398: 	x = new(big.Int).SetBytes(data[1 : 1+byteLen])
		elliptic.go#L399: 	y = new(big.Int).SetBytes(data[1+byteLen:])
		elliptic.go#L412: func UnmarshalCompressed(curve Curve, data []byte) (x, y *big.Int) {
		elliptic.go#L421: 	x = new(big.Int).SetBytes(data[1:])
		p224.go#L47: func (curve p224Curve) IsOnCurve(x, y *big.Int) bool {
		p224.go#L57: func p224PointFromAffine(x, y *big.Int) (p *nistec.P224Point, ok bool) {
		p224.go#L77: func p224PointToAffine(p *nistec.P224Point) (x, y *big.Int) {
		p224.go#L82: 		return new(big.Int), new(big.Int)
		p224.go#L100: func p224RandomPoint() (x, y *big.Int) {
		p224.go#L108: func (p224Curve) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) {
		p224.go#L120: func (p224Curve) Double(x1, y1 *big.Int) (*big.Int, *big.Int) {
		p224.go#L128: func (p224Curve) ScalarMult(Bx, By *big.Int, scalar []byte) (*big.Int, *big.Int) {
		p224.go#L136: func (p224Curve) ScalarBaseMult(scalar []byte) (*big.Int, *big.Int) {
		p256_asm.go#L42: 	p256.P, _ = new(big.Int).SetString("115792089210356248762697446949407573530086143415290314195533631308867097853951", 10)
		p256_asm.go#L43: 	p256.N, _ = new(big.Int).SetString("115792089210356248762697446949407573529996955224135760342422259061068512044369", 10)
		p256_asm.go#L44: 	p256.B, _ = new(big.Int).SetString("5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b", 16)
		p256_asm.go#L45: 	p256.Gx, _ = new(big.Int).SetString("6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296", 16)
		p256_asm.go#L46: 	p256.Gy, _ = new(big.Int).SetString("4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5", 16)
		p256_asm.go#L114: func (curve p256Curve) Inverse(k *big.Int) *big.Int {
		p256_asm.go#L117: 		k = new(big.Int).Neg(k)
		p256_asm.go#L122: 		k = new(big.Int).Mod(k, p256.N)
		p256_asm.go#L198: 	return new(big.Int).SetBytes(xOut)
		p256_asm.go#L202: func fromBig(out []uint64, big *big.Int) {
		p256_asm.go#L216: 	n := new(big.Int).SetBytes(in)
		p256_asm.go#L229: func maybeReduceModP(in *big.Int) *big.Int {
		p256_asm.go#L233: 	return new(big.Int).Mod(in, p256.P)
		p256_asm.go#L236: func (curve p256Curve) CombinedMult(bigX, bigY *big.Int, baseScalar, scalar []byte) (x, y *big.Int) {
		p256_asm.go#L268: func (curve p256Curve) ScalarBaseMult(scalar []byte) (x, y *big.Int) {
		p256_asm.go#L277: func (curve p256Curve) ScalarMult(bigX, bigY *big.Int, scalar []byte) (x, y *big.Int) {
		p256_asm.go#L314: func (p *p256Point) p256PointToAffine() (x, y *big.Int) {
		p256_asm.go#L332: 	return new(big.Int).SetBytes(xOut), new(big.Int).SetBytes(yOut)
		p384.go#L52: func (curve p384Curve) IsOnCurve(x, y *big.Int) bool {
		p384.go#L62: func p384PointFromAffine(x, y *big.Int) (p *nistec.P384Point, ok bool) {
		p384.go#L82: func p384PointToAffine(p *nistec.P384Point) (x, y *big.Int) {
		p384.go#L87: 		return new(big.Int), new(big.Int)
		p384.go#L105: func p384RandomPoint() (x, y *big.Int) {
		p384.go#L113: func (p384Curve) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) {
		p384.go#L125: func (p384Curve) Double(x1, y1 *big.Int) (*big.Int, *big.Int) {
		p384.go#L133: func (p384Curve) ScalarMult(Bx, By *big.Int, scalar []byte) (*big.Int, *big.Int) {
		p384.go#L141: func (p384Curve) ScalarBaseMult(scalar []byte) (*big.Int, *big.Int) {
		p521.go#L57: func (curve p521Curve) IsOnCurve(x, y *big.Int) bool {
		p521.go#L67: func p521PointFromAffine(x, y *big.Int) (p *nistec.P521Point, ok bool) {
		p521.go#L87: func p521PointToAffine(p *nistec.P521Point) (x, y *big.Int) {
		p521.go#L92: 		return new(big.Int), new(big.Int)
		p521.go#L110: func p521RandomPoint() (x, y *big.Int) {
		p521.go#L118: func (p521Curve) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) {
		p521.go#L130: func (p521Curve) Double(x1, y1 *big.Int) (*big.Int, *big.Int) {
		p521.go#L138: func (p521Curve) ScalarMult(Bx, By *big.Int, scalar []byte) (*big.Int, *big.Int) {
		p521.go#L146: func (p521Curve) ScalarBaseMult(scalar []byte) (*big.Int, *big.Int) {
		p521.go#L151: func bigFromDecimal(s string) *big.Int {
		p521.go#L152: 	b, ok := new(big.Int).SetString(s, 10)
		p521.go#L159: func bigFromHex(s string) *big.Int {
		p521.go#L160: 	b, ok := new(big.Int).SetString(s, 16)

	crypto/rand
		util.go#L26: var smallPrimesProduct = new(big.Int).SetUint64(16294579238595022365)
		util.go#L31: func Prime(rand io.Reader, bits int) (p *big.Int, err error) {
		util.go#L43: 	p = new(big.Int)
		util.go#L45: 	bigMod := new(big.Int)
		util.go#L106: func Int(rand io.Reader, max *big.Int) (n *big.Int, err error) {
		util.go#L110: 	n = new(big.Int)

	crypto/rsa
		pkcs1v15.go#L61: 	m := new(big.Int).SetBytes(em)
		pkcs1v15.go#L62: 	c := encrypt(new(big.Int), pub, m)
		pkcs1v15.go#L146: 	c := new(big.Int).SetBytes(ciphertext)
		pkcs1v15.go#L252: 	m := new(big.Int).SetBytes(em)
		pkcs1v15.go#L285: 	c := new(big.Int).SetBytes(sig)
		pkcs1v15.go#L286: 	m := encrypt(new(big.Int), pub, c)
		pss.go#L216: 	m := new(big.Int).SetBytes(em)
		pss.go#L294: 	s := new(big.Int).SetBytes(sig)
		pss.go#L295: 	m := encrypt(new(big.Int), pub, s)
		rsa.go#L43: 	N *big.Int // modulus
		rsa.go#L102: 	D         *big.Int   // private exponent
		rsa.go#L103: 	Primes    []*big.Int // prime factors of N, has >= 2 elements.
		rsa.go#L184: 	Dp, Dq *big.Int // D mod (P-1) (or mod Q-1)
		rsa.go#L185: 	Qinv   *big.Int // Q^-1 mod P
		rsa.go#L196: 	Exp   *big.Int // D mod (prime-1).
		rsa.go#L197: 	Coeff *big.Int // R·Coeff ≡ 1 mod Prime.
		rsa.go#L198: 	R     *big.Int // product of primes prior to this (inc p and q).
		rsa.go#L209: 	modulus := new(big.Int).Set(bigOne)
		rsa.go#L226: 	congruence := new(big.Int)
		rsa.go#L227: 	de := new(big.Int).SetInt64(int64(priv.E))
		rsa.go#L230: 		pminus1 := new(big.Int).Sub(prime, bigOne)
		rsa.go#L281: 	primes := make([]*big.Int, nprimes)
		rsa.go#L318: 		n := new(big.Int).Set(bigOne)
		rsa.go#L319: 		totient := new(big.Int).Set(bigOne)
		rsa.go#L320: 		pminus1 := new(big.Int)
		rsa.go#L333: 		priv.D = new(big.Int)
		rsa.go#L387: func encrypt(c *big.Int, pub *PublicKey, m *big.Int) *big.Int {
		rsa.go#L440: 	m := new(big.Int)
		rsa.go#L442: 	c := encrypt(new(big.Int), pub, m)
		rsa.go#L463: 	priv.Precomputed.Dp = new(big.Int).Sub(priv.Primes[0], bigOne)
		rsa.go#L466: 	priv.Precomputed.Dq = new(big.Int).Sub(priv.Primes[1], bigOne)
		rsa.go#L469: 	priv.Precomputed.Qinv = new(big.Int).ModInverse(priv.Primes[1], priv.Primes[0])
		rsa.go#L471: 	r := new(big.Int).Mul(priv.Primes[0], priv.Primes[1])
		rsa.go#L477: 		values.Exp = new(big.Int).Sub(prime, bigOne)
		rsa.go#L480: 		values.R = new(big.Int).Set(r)
		rsa.go#L481: 		values.Coeff = new(big.Int).ModInverse(r, prime)
		rsa.go#L489: func decrypt(random io.Reader, priv *PrivateKey, c *big.Int) (m *big.Int, err error) {
		rsa.go#L499: 	var ir *big.Int
		rsa.go#L508: 		var r *big.Int
		rsa.go#L509: 		ir = new(big.Int)
		rsa.go#L524: 		rpowe := new(big.Int).Exp(r, bigE, priv.N) // N != 0
		rsa.go#L525: 		cCopy := new(big.Int).Set(c)
		rsa.go#L532: 		m = new(big.Int).Exp(c, priv.D, priv.N)
		rsa.go#L535: 		m = new(big.Int).Exp(c, priv.Precomputed.Dp, priv.Primes[0])
		rsa.go#L536: 		m2 := new(big.Int).Exp(c, priv.Precomputed.Dq, priv.Primes[1])
		rsa.go#L569: func decryptAndCheck(random io.Reader, priv *PrivateKey, c *big.Int) (m *big.Int, err error) {
		rsa.go#L577: 	check := encrypt(new(big.Int), &priv.PublicKey, m)
		rsa.go#L606: 	c := new(big.Int).SetBytes(ciphertext)

	crypto/tls
		key_schedule.go#L154: 	x, y       *big.Int // public key

	crypto/x509
		parser.go#L249: 		p := &pkcs1PublicKey{N: new(big.Int)}
		parser.go#L303: 		y := new(big.Int)
		parser.go#L310: 				P: new(big.Int),
		parser.go#L311: 				Q: new(big.Int),
		parser.go#L312: 				G: new(big.Int),
		parser.go#L852: 	serial := 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#L93: 	k := new(big.Int).SetBytes(privKey.PrivateKey)
		x509.go#L150: 	SerialNumber       *big.Int
		x509.go#L162: 	P, Q, G *big.Int
		x509.go#L642: 	SerialNumber        *big.Int
		x509.go#L2104: 	Number *big.Int

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

	encoding/asn1
		asn1.go#L134: func parseBigInt(bytes []byte) (*big.Int, error) {
		asn1.go#L138: 	ret := new(big.Int)
		asn1.go#L663: 	bigIntType           = reflect.TypeOf(new(big.Int))
		asn1.go#L881: 	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/aws/aws-sdk-go-v2/internal/v4a
		v4a.go#L53: 	nMinusTwoP256 *big.Int
		v4a.go#L55: 	one = new(big.Int).SetInt64(1)
		v4a.go#L62: 	nMinusTwoP256 = new(big.Int).SetBytes(p256.Params().N.Bytes())
		v4a.go#L63: 	nMinusTwoP256 = nMinusTwoP256.Sub(nMinusTwoP256, new(big.Int).SetInt64(2))
		v4a.go#L117: 	d := new(big.Int)

	github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto
		ecc.go#L17: 	R, S *big.Int
		ecc.go#L23: 	return ECDSAKeyFromPoint(curve, (&big.Int{}).SetBytes(d))
		ecc.go#L28: func ECDSAKeyFromPoint(curve elliptic.Curve, d *big.Int) *ecdsa.PrivateKey {
		ecc.go#L46: 	xPoint := (&big.Int{}).SetBytes(x)
		ecc.go#L47: 	yPoint := (&big.Int{}).SetBytes(y)

	github.com/aws/smithy-go/document
		document.go#L147: func (n Number) BigInt() (*big.Int, error) {
		document.go#L148: 	f, ok := (&big.Int{}).SetString(string(n), 10)

	github.com/aws/smithy-go/encoding/httpbinding
		header.go#L105: func (h HeaderValue) BigInteger(v *big.Int) {
		query.go#L96: func (qv QueryValue) BigInteger(v *big.Int) {
		uri.go#L84: func (u URIValue) BigInteger(v *big.Int) error {

	github.com/aws/smithy-go/encoding/xml
		value.go#L175: func (xv Value) BigInteger(v *big.Int) {

	go/constant
		value.go#L98: 	intVal     struct{ val *big.Int }   // Int values not representable as an int64
		value.go#L270: func newInt() *big.Int     { return new(big.Int) }
		value.go#L282: func makeInt(x *big.Int) Value {
		value.go#L350: func smallInt(x *big.Int) bool {
		value.go#L621: 	case *big.Int:

	golang.org/x/tools/internal/gcimporter
		bexport.go#L658: 	return new(big.Rat).SetInt(new(big.Int).SetBytes(bytes))
		iexport.go#L920: 		var i big.Int
		iexport.go#L992: func (w *exportWriter) mpint(x *big.Int, typ types.Type) {
		iimport.go#L602: 		var x big.Int
		iimport.go#L653: func (r *importReader) mpint(x *big.Int, typ *types.Basic) {
		iimport.go#L693: 	var mant big.Int

	golang.org/x/tools/internal/pkgbits
		decoder.go#L461: func (r *Decoder) bigInt() *big.Int {
		decoder.go#L462: 	v := new(big.Int).SetBytes([]byte(r.String()))
		encoder.go#L361: 	case *big.Int:
		encoder.go#L374: func (w *Encoder) bigInt(v *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#L267: var bigIntType = reflect.TypeOf((*big.Int)(nil)).Elem()
		asn1.go#L293: 			return s.readASN1BigInt(out.(*big.Int))
		asn1.go#L316: func (s *String) readASN1BigInt(out *big.Int) bool {
		asn1.go#L684: 			out.(*big.Int).Set(defaultValue.(*big.Int))