Class OwlServer


  • public class OwlServer
    extends java.lang.Object
    A server in the Elliptic Curve Owl key exchange protocol.

    See OwlClient for more details about Owl.

    • Constructor Detail

      • OwlServer

        public OwlServer​(java.lang.String serverId)
        Convenience constructor for a new OwlServer that uses the OwlCurves.NIST_P256 elliptic curve, a SHA-256 digest, and a default SecureRandom implementation.

        After construction, the state will be STATE_INITIALISED.

        Parameters:
        serverId - unique identifier of this server. The server and client in the exchange must NOT share the same id.
        Throws:
        java.lang.NullPointerException - if any argument is null
      • OwlServer

        public OwlServer​(java.lang.String serverId,
                         OwlCurve curve)
        Convenience constructor for a new OwlServer that uses a SHA-256 digest and a default SecureRandom implementation.

        After construction, the state will be STATE_INITIALISED.

        Parameters:
        serverId - unique identifier of this server. The server and client in the exchange must NOT share the same id.
        curve - elliptic curve See OwlCurves for standard curves.
        Throws:
        java.lang.NullPointerException - if any argument is null
      • OwlServer

        public OwlServer​(java.lang.String serverId,
                         OwlCurve curve,
                         Digest digest,
                         java.security.SecureRandom random)
        Construct a new OwlServer.

        After construction, the state will be STATE_INITIALISED.

        Parameters:
        serverId - unique identifier of this server. The client and server in the exchange must NOT share the same id.
        curve - elliptic curve See OwlCurves for standard curves
        digest - digest to use during zero knowledge proofs and key confirmation (SHA-256 or stronger preferred)
        random - source of secure random data for x3 and x4, and for the zero knowledge proofs
        Throws:
        java.lang.NullPointerException - if any argument is null