crypto/rsa.PrivateKey.Precomputed (field)

31 uses

	crypto/rsa (current package)
		rsa.go#L117: 	Precomputed PrecomputedValues
		rsa.go#L336: 			Precomputed: PrecomputedValues{
		rsa.go#L584: 	if priv.Precomputed.n == nil && len(priv.Primes) == 2 {
		rsa.go#L588: 		priv.Precomputed.n, err = bigmod.NewModulusFromBig(priv.N)
		rsa.go#L592: 		priv.Precomputed.p, err = bigmod.NewModulusFromBig(priv.Primes[0])
		rsa.go#L595: 			priv.Precomputed.n = nil
		rsa.go#L598: 		priv.Precomputed.q, err = bigmod.NewModulusFromBig(priv.Primes[1])
		rsa.go#L601: 			priv.Precomputed.n, priv.Precomputed.p = nil, nil
		rsa.go#L607: 	if priv.Precomputed.Dp != nil {
		rsa.go#L611: 	priv.Precomputed.Dp = new(big.Int).Sub(priv.Primes[0], bigOne)
		rsa.go#L612: 	priv.Precomputed.Dp.Mod(priv.D, priv.Precomputed.Dp)
		rsa.go#L614: 	priv.Precomputed.Dq = new(big.Int).Sub(priv.Primes[1], bigOne)
		rsa.go#L615: 	priv.Precomputed.Dq.Mod(priv.D, priv.Precomputed.Dq)
		rsa.go#L617: 	priv.Precomputed.Qinv = new(big.Int).ModInverse(priv.Primes[1], priv.Primes[0])
		rsa.go#L620: 	priv.Precomputed.CRTValues = make([]CRTValue, len(priv.Primes)-2)
		rsa.go#L623: 		values := &priv.Precomputed.CRTValues[i-2]
		rsa.go#L652: 	if priv.Precomputed.n == nil {
		rsa.go#L663: 		N = priv.Precomputed.n
		rsa.go#L664: 		P, Q := priv.Precomputed.p, priv.Precomputed.q
		rsa.go#L665: 		Qinv, err := bigmod.NewNat().SetBytes(priv.Precomputed.Qinv.Bytes(), P)
		rsa.go#L675: 		m = bigmod.NewNat().Exp(t0.Mod(c, P), priv.Precomputed.Dp.Bytes(), P)
		rsa.go#L677: 		m2 := bigmod.NewNat().Exp(t0.Mod(c, Q), priv.Precomputed.Dq.Bytes(), Q)

	crypto/x509
		pkcs1.go#L119: 		Dp:      key.Precomputed.Dp,
		pkcs1.go#L120: 		Dq:      key.Precomputed.Dq,
		pkcs1.go#L121: 		Qinv:    key.Precomputed.Qinv,
		pkcs1.go#L124: 	priv.AdditionalPrimes = make([]pkcs1AdditionalRSAPrime, len(key.Precomputed.CRTValues))
		pkcs1.go#L125: 	for i, values := range key.Precomputed.CRTValues {