Ejemplo n.º 1
0
        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");
            }
        }
Ejemplo n.º 2
0
 public IFips186_4PrimeGenerator GetFips186_4PrimeGenerator(PrimeGenModes primeGen, ISha sha, IEntropyProvider entropyProvider, PrimeTestModes primeTest)
 {
     return(GetPrimeGenerator(primeGen, sha, entropyProvider, primeTest) as IFips186_4PrimeGenerator);
 }
Ejemplo n.º 3
0
 public IKeyBuilder WithPrimeGenMode(PrimeGenModes primeGenMode)
 {
     _primeGenMode = primeGenMode;
     return(this);
 }