123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- using System;
- using Org.BouncyCastle.Crypto.Parameters;
- using Org.BouncyCastle.Math;
- namespace Org.BouncyCastle.Crypto.Generators
- {
- /**
- * a basic Diffie-Hellman key pair generator.
- *
- * This generates keys consistent for use with the basic algorithm for
- * Diffie-Hellman.
- */
- public class DHBasicKeyPairGenerator
- : IAsymmetricCipherKeyPairGenerator
- {
- private DHKeyGenerationParameters param;
- public virtual void Init(
- KeyGenerationParameters parameters)
- {
- this.param = (DHKeyGenerationParameters)parameters;
- }
- public virtual AsymmetricCipherKeyPair GenerateKeyPair()
- {
- DHKeyGeneratorHelper helper = DHKeyGeneratorHelper.Instance;
- DHParameters dhp = param.Parameters;
- BigInteger x = helper.CalculatePrivate(dhp, param.Random);
- BigInteger y = helper.CalculatePublic(dhp, x);
- return new AsymmetricCipherKeyPair(
- new DHPublicKeyParameters(y, dhp),
- new DHPrivateKeyParameters(x, dhp));
- }
- }
- }
- #endif
|