code: public boolean verify(byte[] input, byte[] signature) throws GeneralSecurityException, IOException {
          Signature sgr = new EdDSAEngine(MessageDigest.getInstance(NKey.ed25519.getHashAlgorithm()));
          PublicKey sKey = null;
  
          if (privateKeyAsSeed != null) {
              sKey = getKeyPair().getPublic();
          } else {
              char[] encodedPublicKey = getPublicKey();
              byte[] decodedPublicKey = decode(this.type, encodedPublicKey, false);
              EdDSAPublicKeySpec pubKeySpec = new EdDSAPublicKeySpec(decodedPublicKey, NKey.ed25519);
              sKey = new EdDSAPublicKey(pubKeySpec);
          }
  
          sgr.initVerify(sKey);
          sgr.update(input);
  
          return sgr.verify(signature);
      }
docs: Verify a signature.
  
  @param input     the bytes that were signed
  @param signature the bytes for the signature
  @return true if the signature matches this keys signature for the input.
  
  @throws GeneralSecurityException if there is an encryption problem
  @throws IOException              if there is a problem reading the data