/// <summary>
 /// Inits the instance for encryption.
 /// </summary>
 /// <param name="privateKey">The private key.</param>
 /// <param name="publicKey">The public key.</param>
 public void InitForDecryption(ECDHPrivateKeyParameters privateKey, ECDHPublicKeyParameters publicKey)
 {
     _fingerPrint = (byte[]) privateKey.FingerPrint.Clone();
     _privateKey = privateKey;
     _publicKey = publicKey;
     _forEncryption = false;
 }
        public void InitForEncryption(ISecureRandom random, ECDHPublicKeyParameters publicKey, byte[] fingerPrint, out ECDHPublicKeyParameters ephemeralPublicKey)
        {
            var genParams = publicKey.CreateKeyGenerationParameters(random, publicKey.HashAlgorithm, publicKey.SymmetricKeyAlgorithm);
            var generator = new ECKeyPairGenerator("ECDH");
            generator.Init(genParams);
            var ephemeralKeyPair = generator.GenerateKeyPair();

            _fingerPrint = (byte[])fingerPrint.Clone();
            _privateKey = (ECPrivateKeyParameters)ephemeralKeyPair.Private;
            _publicKey = publicKey;
            _forEncryption = true;
            ephemeralPublicKey = (ECDHPublicKeyParameters)ephemeralKeyPair.Public;
        }
 public ECDHPrivateKeyParameters(IBigInteger d, ECDomainParameters parameters, ECDHPublicKeyParameters publicKeyParameters, byte[] fingerPrint)
     : base("ECDH", d, parameters)
 {
     this.PublicKeyParameters = publicKeyParameters;
     this.FingerPrint = (byte[])fingerPrint.Clone();
 }
Example #4
0
 protected bool Equals(ECDHPublicKeyParameters other)
 {
     return(this.HashAlgorithm == other.HashAlgorithm &&
            this.SymmetricKeyAlgorithm == other.SymmetricKeyAlgorithm &&
            base.Equals(other));
 }
 protected bool Equals(ECDHPublicKeyParameters other)
 {
     return this.HashAlgorithm == other.HashAlgorithm
         && this.SymmetricKeyAlgorithm == other.SymmetricKeyAlgorithm
         && base.Equals(other);
 }
Example #6
0
 public ECDHPrivateKeyParameters(IBigInteger d, ECDomainParameters parameters, ECDHPublicKeyParameters publicKeyParameters, byte[] fingerPrint)
     : base("ECDH", d, parameters)
 {
     this.PublicKeyParameters = publicKeyParameters;
     this.FingerPrint         = (byte[])fingerPrint.Clone();
 }