Org.BouncyCastle.Crypto.Agreement.ECDHBasicAgreement.CalculateAgreement C# (CSharp) Method

CalculateAgreement() public method

public CalculateAgreement ( ICipherParameters pubKey ) : BigInteger
pubKey ICipherParameters
return Org.BouncyCastle.Math.BigInteger
        public virtual BigInteger CalculateAgreement(
            ICipherParameters pubKey)
        {
            ECPublicKeyParameters pub = (ECPublicKeyParameters) pubKey;
            ECPoint P = pub.Q.Multiply(key.D);

            // if ( p.IsInfinity ) throw new Exception("d*Q == infinity");

            return P.X.ToBigInteger();
        }
    }

Usage Example

Ejemplo n.º 1
0
 public static byte[] GetObsoleteSharedSecret(AsymmetricCipherKeyPair localKeyWithPrivate, byte[] remotePublicKeyDerEncoded)
 {
     var remotePublicKey = PublicKeyFactory.CreateKey(remotePublicKeyDerEncoded);
     var agreement = new ECDHBasicAgreement();
     agreement.Init(localKeyWithPrivate.Private);
     return agreement.CalculateAgreement(remotePublicKey).ToByteArray();
 }
All Usage Examples Of Org.BouncyCastle.Crypto.Agreement.ECDHBasicAgreement::CalculateAgreement
ECDHBasicAgreement