Class OwlAuthenticationServerResponse

java.lang.Object
org.bouncycastle.crypto.agreement.owl.OwlAuthenticationServerResponse

public class OwlAuthenticationServerResponse extends Object
The payload sent by the server during the second pass of an Owl exchange.

Each OwlServer creates and sends an instance of this payload to the OwlClient. The payload to send should be created via OwlServer.authenticationServerResponse(OwlAuthenticationInitiate, OwlFinishRegistration).

Each OwlServer must also validate the payload received from the OwlClient which comes in the form of OwlAuthenticationInitiate. The OwlServer must retrieve the OwlFinishRegistration from wherever the server securely stored the initial login information. The received payload should be validated via the same function (in the same call).

  • Constructor Details

    • OwlAuthenticationServerResponse

      public OwlAuthenticationServerResponse(String serverId, ECPoint gx3, ECPoint gx4, ECSchnorrZKP knowledgeProofForX3, ECSchnorrZKP knowledgeProofForX4, ECPoint beta, ECSchnorrZKP knowledgeProofForBeta)
      Constructor for OwlAuthenticationServerResponse
      Parameters:
      serverId - The server's identity
      gx3 - The public key X3 = x3 * [G]
      gx4 - The public key X4 = x4 * [G]
      knowledgeProofForX3 - The zero-knowledge proof for the knowledge of x3
      knowledgeProofForX4 - The zero-knowledge proof for the knowledge of x4
      beta - The public key beta = (x4 x pi) * [X1 + X2 + X3]
      knowledgeProofForBeta - The zero-knowledge proof for the knowledge of (x4 x pi) for beta
  • Method Details

    • getServerId

      public String getServerId()
      Get the server's identity
      Returns:
      The server's identity
    • getGx3

      public ECPoint getGx3()
      Get the public key X3 = x3 * [G]
      Returns:
      The public key X3
    • getGx4

      public ECPoint getGx4()
      Get the public key X4 = x4 * [G]
      Returns:
      The public key X4
    • getKnowledgeProofForX3

      public ECSchnorrZKP getKnowledgeProofForX3()
      Get the zero-knowledge proof for the knowledge of x3 for X3 = x3 * [G]
      Returns:
      ECSchnorrZKP
    • getKnowledgeProofForX4

      public ECSchnorrZKP getKnowledgeProofForX4()
      Get the zero-knowledge proof for the knowledge of x4 for X4 = x4 * [G]
      Returns:
      ECSchnorrZKP
    • getBeta

      public ECPoint getBeta()
      Get the public key beta = (x4 x pi) * [X1 + X2 + X3]
      Returns:
      The public key beta
    • getKnowledgeProofForBeta

      public ECSchnorrZKP getKnowledgeProofForBeta()
      Get the zero-knowledge proof for the knowledge of (x4 x pi) for the public key beta = (x4 x pi) * [X1 + X2 + X3]
      Returns:
      ECSchnorrZKP