BigInteger.genPseudoPrime C# (CSharp) Method

genPseudoPrime() public static method

public static genPseudoPrime ( int bits, int confidence, Random rand ) : BigInteger
bits int
confidence int
rand Random
return BigInteger
        public static BigInteger genPseudoPrime(int bits, int confidence, Random rand)
        {
	        BigInteger result = new BigInteger();
	        bool done = false;

	        while(!done)
	        {
		        result.genRandomBits(bits, rand);
		        result.data[0] |= 0x01;		// make it odd

		        // prime test
		        done = result.isProbablePrime(confidence);
	        }
	        return result;
        }

Usage Example

        private void Generate_Q(Object sender, DoWorkEventArgs e)
        {
            DateTime dt    = DateTime.Now;
            int      iSeed = (dt.Year + dt.Second + dt.Minute + dt.Millisecond) / 3;

            byte[] tmp = new byte[m_bitLength + 1];
            tmp = new BigInteger(BigInteger.genPseudoPrime(m_bitLength, new Random(iSeed))).getBytesRaw();


            m_RSAParams.Q = tmp;
        }
All Usage Examples Of BigInteger::genPseudoPrime