class EdDsaKeyGenerator implements KeyGenerator {

    @Override
    public PublicKey derivePublicKey(PrivateKey privateKey) {
        if (privateKey == null) {
            throw new IllegalArgumentException("PrivateKey must not be null.");
        }
        PublicKeyDelegate delegate = schemeProvider.getPublicKeyDelegate();

        byte[] publicKeySeed = delegate.generatePublicKeySeed(privateKey);

        return new PublicKey(publicKeySeed);
    }

    public  EdDsaKeyGenerator(SchemeProvider schemeProvider);

}