public BigInteger calculateSecret(BigInteger clientA) throws CryptoException {
  this.A=SRP6Util.validatePublicValue(N,clientA);
  this.u=SRP6Util.calculateU(digest,N,A,B);
  this.S=calculateS();
  return S;
}

public BigInteger calculateSecret ( BigInteger clientA ) throws CryptoException { this . A = SRP6Util . validatePublicValue ( N , clientA ) ; this . u = SRP6Util . calculateU ( digest , N , A , B ) ; this . S = calculateS ( ) ; return S ; }
processes the client ' s credentials . if valid the shared secret is generated and returned .
