Class OwlAuthenticationServerResponse
java.lang.Object
org.bouncycastle.crypto.agreement.owl.OwlAuthenticationServerResponse
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 Summary
ConstructorsConstructorDescriptionOwlAuthenticationServerResponse(String serverId, ECPoint gx3, ECPoint gx4, ECSchnorrZKP knowledgeProofForX3, ECSchnorrZKP knowledgeProofForX4, ECPoint beta, ECSchnorrZKP knowledgeProofForBeta) Constructor for OwlAuthenticationServerResponse -
Method Summary
Modifier and TypeMethodDescriptiongetBeta()Get the public key beta = (x4 x pi) * [X1 + X2 + X3]getGx3()Get the public key X3 = x3 * [G]getGx4()Get the public key X4 = x4 * [G]Get the zero-knowledge proof for the knowledge of (x4 x pi) for the public key beta = (x4 x pi) * [X1 + X2 + X3]Get the zero-knowledge proof for the knowledge of x3 for X3 = x3 * [G]Get the zero-knowledge proof for the knowledge of x4 for X4 = x4 * [G]Get the server's identity
-
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 identitygx3- The public key X3 = x3 * [G]gx4- The public key X4 = x4 * [G]knowledgeProofForX3- The zero-knowledge proof for the knowledge of x3knowledgeProofForX4- The zero-knowledge proof for the knowledge of x4beta- 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
-
getGx3
-
getGx4
-
getKnowledgeProofForX3
Get the zero-knowledge proof for the knowledge of x3 for X3 = x3 * [G]- Returns:
ECSchnorrZKP
-
getKnowledgeProofForX4
Get the zero-knowledge proof for the knowledge of x4 for X4 = x4 * [G]- Returns:
ECSchnorrZKP
-
getBeta
Get the public key beta = (x4 x pi) * [X1 + X2 + X3]- Returns:
- The public key beta
-
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
-