private static IPrimeGenerator GetPrimeGenerator(PrimeGenModes primeGen, ISha sha, IEntropyProvider entropyProvider, PrimeTestModes primeTest) { switch (primeGen) { case PrimeGenModes.RandomProvablePrimes: return(new RandomProvablePrimeGenerator(sha)); case PrimeGenModes.RandomProbablePrimes: return(new RandomProbablePrimeGenerator(entropyProvider, primeTest)); case PrimeGenModes.RandomProvablePrimesWithAuxiliaryProvablePrimes: return(new AllProvablePrimesWithConditionsGenerator(sha)); case PrimeGenModes.RandomProbablePrimesWithAuxiliaryProvablePrimes: return(new ProvableProbablePrimesWithConditionsGenerator(sha, entropyProvider, primeTest)); case PrimeGenModes.RandomProbablePrimesWithAuxiliaryProbablePrimes: return(new AllProbablePrimesWithConditionsGenerator(entropyProvider, primeTest)); default: throw new ArgumentException("Invalid prime gen mode"); } }
public IFips186_4PrimeGenerator GetFips186_4PrimeGenerator(PrimeGenModes primeGen, ISha sha, IEntropyProvider entropyProvider, PrimeTestModes primeTest) { return(GetPrimeGenerator(primeGen, sha, entropyProvider, primeTest) as IFips186_4PrimeGenerator); }
public IKeyBuilder WithPrimeGenMode(PrimeGenModes primeGenMode) { _primeGenMode = primeGenMode; return(this); }