Bouncy Castle Cryptography Library 1.85

org.bouncycastle.crypto.agreement.owl
Class OwlAuthenticationFinish

java.lang.Object
  extended byorg.bouncycastle.crypto.agreement.owl.OwlAuthenticationFinish

public class OwlAuthenticationFinish
extends java.lang.Object

The payload sent by the client during the third pass of an Owl exchange.

Each OwlClient creates and sends an instance of this payload to the OwlServer after validating the previous payload OwlAuthenticationServerResponse. The payload to send should be created via OwlClient.authenticationFinish(OwlAuthenticationServerResponse).

Each OwlClient must also validate the payload received from the OwlServer, which is done by the same function OwlClient.authenticationFinish(OwlAuthenticationServerResponse).


Constructor Summary
OwlAuthenticationFinish(java.lang.String clientId, ECPoint alpha, ECSchnorrZKP knowledgeProofForAlpha, java.math.BigInteger r)
          Constructor of OwlAuthenticationFinish
 
Method Summary
 ECPoint getAlpha()
          Get the public key alpha = (x2 x pi) * [X1 + X3 + X4]. sent by the client in the third pass
 java.lang.String getClientId()
          Get the client's identity (also known as username)
 ECSchnorrZKP getKnowledgeProofForAlpha()
          Get the Schnorr zero-knowledge proof for the knowledge of the private key (x2 x pi) for the public key alpha
 java.math.BigInteger getR()
          Get the response r as part of the zero-knowledge proof for proving the knowledge of t, r = x1 - t.h mod n where x1 is the ephemeral private key for the public key X1 sent in the first pass of Owl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OwlAuthenticationFinish

public OwlAuthenticationFinish(java.lang.String clientId,
                               ECPoint alpha,
                               ECSchnorrZKP knowledgeProofForAlpha,
                               java.math.BigInteger r)
Constructor of OwlAuthenticationFinish

Parameters:
clientId - Client's identity
alpha - The public key alpha sent by the client in the third pass
knowledgeProofForAlpha - The zero-knowledge proof for the knowledge of the private key for alpha
r - The response r for proving the knowledge of t=H(usrname||password) mod n.
Method Detail

getClientId

public java.lang.String getClientId()
Get the client's identity (also known as username)

Returns:
The client's identity

getAlpha

public ECPoint getAlpha()
Get the public key alpha = (x2 x pi) * [X1 + X3 + X4]. sent by the client in the third pass

Returns:
The public key alpha

getR

public java.math.BigInteger getR()
Get the response r as part of the zero-knowledge proof for proving the knowledge of t, r = x1 - t.h mod n where x1 is the ephemeral private key for the public key X1 sent in the first pass of Owl

Returns:
The response r sent by the client in the third pass

getKnowledgeProofForAlpha

public ECSchnorrZKP getKnowledgeProofForAlpha()
Get the Schnorr zero-knowledge proof for the knowledge of the private key (x2 x pi) for the public key alpha

Returns:
ECSchnorrZKP

Bouncy Castle Cryptography Library 1.85