/** * Генерирование взаимно простого к {n} числа заданного размера {size} */ public static BigInteger GenerateMutuallyPrimeNumber(BigInteger n, int size) { BigInteger a; do { RandomBigInteger rnd = new RandomBigInteger(Guid.NewGuid().GetHashCode()); a = rnd.GenerateRandomBigInteger(size); }while (!EuclidMutuallyPrimeNumber(n, a)); return(a); }
/** * Генерирование простого числа заданного размера {size} */ public static BigInteger GeneratePrimeNumber(int size) { BigInteger n; RandomBigInteger rnd = new RandomBigInteger(Guid.NewGuid().GetHashCode()); do { n = rnd.GenerateRandomBigInteger(size); } while (!FermaPrimaryTest(n)); return(n); }