public override bool Equals(
            object obj)
        {
            if (obj == this)
            {
                return(true);
            }

            RsaPrivateCrtKeyParameters kp = obj as RsaPrivateCrtKeyParameters;

            if (kp == null)
            {
                return(false);
            }

            return(kp.DP.Equals(dP) &&
                   kp.DQ.Equals(dQ) &&
                   kp.Exponent.Equals(this.Exponent) &&
                   kp.Modulus.Equals(this.Modulus) &&
                   kp.P.Equals(p) &&
                   kp.Q.Equals(q) &&
                   kp.PublicExponent.Equals(e) &&
                   kp.QInv.Equals(qInv));
        }