public abstract DeriveBytes CreateDeriveBytes(byte[] secret, byte[] seed);
public override byte[] GetMasterSecret(PseudoRandomFunction prf, byte[] seed) { // TODO: Add more PRF IDs and their respective master secrets byte[] prfID = prf.CreateDeriveBytes(new byte[0], new byte[0]).GetBytes(48); if (CompareArrays(prfID, SSLv3ID)) { return GetSSLv3MasterSecret(seed); } else if (CompareArrays(prfID, TLSv1ID)) { return GetTLSv1MasterSecret(seed); } else { throw new Exception("Unidentified PRF while getting ECDHE master secret"); } }