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)
|
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |