public void Init(
			IKeyGenerationParameters parameters)
        {
            if (parameters == null)
                throw new ArgumentNullException("parameters");

            // Note: If we start accepting instances of KeyGenerationParameters,
            // must apply constraint checking on strength (see DsaParametersGenerator.Init)

            this.param = (DsaKeyGenerationParameters) parameters;
        }
        public void Init(IKeyGenerationParameters parameters)
        {
            var ecKeyGenerationParameters = parameters as ECKeyGenerationParameters;

            if (ecKeyGenerationParameters != null)
            {
                _publicKeyParamSet     = ecKeyGenerationParameters.PublicKeyParamSet;
                _parameters            = ecKeyGenerationParameters.DomainParameters;
                _hashAlgorithm         = ecKeyGenerationParameters.HashAlgorithm;
                _symmetricKeyAlgorithm = ecKeyGenerationParameters.SymmetricKeyAlgorithm;
            }
            else
            {
                DerObjectIdentifier oid;
                switch (parameters.Strength)
                {
                case 192:
                    oid = X9ObjectIdentifiers.Prime192v1;
                    break;

                case 224:
                    oid = SecObjectIdentifiers.SecP224r1;
                    break;

                case 239:
                    oid = X9ObjectIdentifiers.Prime239v1;
                    break;

                case 256:
                    oid = X9ObjectIdentifiers.Prime256v1;
                    break;

                case 384:
                    oid = SecObjectIdentifiers.SecP384r1;
                    break;

                case 521:
                    oid = SecObjectIdentifiers.SecP521r1;
                    break;

                default:
                    throw new InvalidParameterException("unknown key size.");
                }

                var ecps = FindECCurveByOid(oid);
                _parameters            = new ECDomainParameters(ecps.Curve, ecps.G, ecps.N, ecps.H, ecps.GetSeed());
                _hashAlgorithm         = HashAlgorithmTag.Sha512;
                _symmetricKeyAlgorithm = SymmetricKeyAlgorithmTag.Aes256;
            }

            _random = parameters.Random;
        }
        public void Init(
            IKeyGenerationParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            // Note: If we start accepting instances of KeyGenerationParameters,
            // must apply constraint checking on strength (see DsaParametersGenerator.Init)

            this.param = (DsaKeyGenerationParameters)parameters;
        }
        public void Init(IKeyGenerationParameters parameters)
        {
            var ecKeyGenerationParameters = parameters as ECKeyGenerationParameters;
            if (ecKeyGenerationParameters != null)
            {
                _publicKeyParamSet = ecKeyGenerationParameters.PublicKeyParamSet;
                _parameters = ecKeyGenerationParameters.DomainParameters;
                _hashAlgorithm = ecKeyGenerationParameters.HashAlgorithm;
                _symmetricKeyAlgorithm = ecKeyGenerationParameters.SymmetricKeyAlgorithm;
            }
            else
            {
                DerObjectIdentifier oid;
                switch (parameters.Strength)
                {
                    case 192:
                        oid = X9ObjectIdentifiers.Prime192v1;
                        break;
                    case 224:
                        oid = SecObjectIdentifiers.SecP224r1;
                        break;
                    case 239:
                        oid = X9ObjectIdentifiers.Prime239v1;
                        break;
                    case 256:
                        oid = X9ObjectIdentifiers.Prime256v1;
                        break;
                    case 384:
                        oid = SecObjectIdentifiers.SecP384r1;
                        break;
                    case 521:
                        oid = SecObjectIdentifiers.SecP521r1;
                        break;
                    default:
                        throw new InvalidParameterException("unknown key size.");
                }

                var ecps = FindECCurveByOid(oid);
                _parameters = new ECDomainParameters(ecps.Curve, ecps.G, ecps.N, ecps.H, ecps.GetSeed());
                _hashAlgorithm = HashAlgorithmTag.Sha512;
                _symmetricKeyAlgorithm = SymmetricKeyAlgorithmTag.Aes256;
            }

            _random = parameters.Random;
        }
Example #5
0
        public void Init(
            IKeyGenerationParameters parameters)
        {
            if (parameters is Gost3410KeyGenerationParameters)
            {
                this.param = (Gost3410KeyGenerationParameters)parameters;
            }
            else
            {
                Gost3410KeyGenerationParameters kgp = new Gost3410KeyGenerationParameters(
                    parameters.Random,
                    CryptoProObjectIdentifiers.GostR3410x94CryptoProA);

                if (parameters.Strength != kgp.Parameters.P.BitLength - 1)
                {
                    // TODO Should we complain?
                }

                this.param = kgp;
            }
        }
        public void Init(
			IKeyGenerationParameters parameters)
        {
            if (parameters is Gost3410KeyGenerationParameters)
            {
                this.param = (Gost3410KeyGenerationParameters) parameters;
            }
            else
            {
                Gost3410KeyGenerationParameters kgp = new Gost3410KeyGenerationParameters(
                    parameters.Random,
                    CryptoProObjectIdentifiers.GostR3410x94CryptoProA);

                if (parameters.Strength != kgp.Parameters.P.BitLength - 1)
                {
                    // TODO Should we complain?
                }

                this.param = kgp;
            }
        }
        public virtual void Init(
			IKeyGenerationParameters parameters)
        {
            this.param = (DHKeyGenerationParameters)parameters;
        }
        public void Init(
			IKeyGenerationParameters parameters)
        {
            this.param = (ElGamalKeyGenerationParameters) parameters;
        }
 public void Init(IKeyGenerationParameters parameters)
 {
     _param = parameters as RsaKeyGenerationParameters ??
              new RsaKeyGenerationParameters(_defaultPublicExponent, parameters.Random, parameters.Strength, DefaultTests);
 }
 public virtual void Init(
     IKeyGenerationParameters parameters)
 {
     this.param = (DHKeyGenerationParameters)parameters;
 }
Example #11
0
 public void Init(IKeyGenerationParameters parameters)
 {
     _param = parameters as RsaKeyGenerationParameters ??
              new RsaKeyGenerationParameters(_defaultPublicExponent, parameters.Random, parameters.Strength, DefaultTests);
 }
 /*
  * (non-Javadoc)
  *
  * @see org.bouncycastle.crypto.AsymmetricCipherKeyPairGenerator#init(org.bouncycastle.crypto.KeyGenerationParameters)
  */
 public void Init(IKeyGenerationParameters parameters)
 {
     this.param = (NaccacheSternKeyGenerationParameters)parameters;
 }
 public void Init(
     IKeyGenerationParameters parameters)
 {
     this.param = (ElGamalKeyGenerationParameters)parameters;
 }
 private static PgpKeyPair GenerateKeyPair(PublicKeyAlgorithmTag algorithm, IKeyGenerationParameters parameters, DateTime dateTime)
 {
     var generator = GeneratorUtilities.GetKeyPairGenerator(algorithm);
     generator.Init(parameters);
     var keyPair = generator.GenerateKeyPair();
     return new PgpKeyPair(algorithm, keyPair, dateTime);
 }
 /*
  * (non-Javadoc)
  *
  * @see org.bouncycastle.crypto.AsymmetricCipherKeyPairGenerator#init(org.bouncycastle.crypto.KeyGenerationParameters)
  */
 public void Init(IKeyGenerationParameters parameters)
 {
     this.param = (NaccacheSternKeyGenerationParameters)parameters;
 }