1package org.bouncycastle.crypto; 2 3import java.math.BigInteger; 4 5/** 6 * The basic interface that basic Diffie-Hellman implementations 7 * conforms to. 8 */ 9public interface BasicAgreement 10{ 11 /** 12 * initialise the agreement engine. 13 */ 14 void init(CipherParameters param); 15 16 /** 17 * return the field size for the agreement algorithm in bytes. 18 */ 19 int getFieldSize(); 20 21 /** 22 * given a public key from a given party calculate the next 23 * message in the agreement sequence. 24 */ 25 BigInteger calculateAgreement(CipherParameters pubKey); 26} 27