class EllipticalCurveEncryptor implements Encryptor {

    @Override
    public SharedKey createSingleKey() {
        LOGGER.debug("Generating random key");

        final byte[] keyBytes = new byte[sharedKeyLength];

        this.secureRandom.nextBytes(keyBytes);

        final SharedKey key = SharedKey.from(keyBytes);

        LOGGER.debug("Random key generated");
        LOGGER.debug("Generated key with value {}", key);

        return key;
    }

    public  EllipticalCurveEncryptor(final String symmetricCipher, final String ellipticCurve);
    public  EllipticalCurveEncryptor(final String symmetricCipher, final String ellipticCurve, int nonceLength, int sharedKeyLength);

}