throw new SignatureException("signature length is wrong");
digest.update(sigBytes, 0, b/8);
digest.update(((EdDSAPublicKey) key).getAbyte());
byte[] message = baos.toByteArray();
byte[] h = digest.digest(message);
<BUG>h = leEnc.encode(leEnc.decode(h).mod(key.getParams().getL()), b/8);
byte[] Sbyte = Arrays.copyOfRange(sigBytes, b/8, b/4);</BUG>
GroupElement R = key.getParams().getB().doubleScalarMultiplyVariableTime(
((EdDSAPublicKey) key).getNegativeA(), h, Sbyte);
byte[] Rcalc = R.toByteArray();

throw new SignatureException("signature length is wrong");
digest.update(sigBytes, 0, b/8);
digest.update(((EdDSAPublicKey) key).getAbyte());
byte[] message = baos.toByteArray();
byte[] h = digest.digest(message);
h = key.getParams().getScalarOps().reduce(h);
byte[] Sbyte = Arrays.copyOfRange(sigBytes, b/8, b/4);
GroupElement R = key.getParams().getB().doubleScalarMultiplyVariableTime(
((EdDSAPublicKey) key).getNegativeA(), h, Sbyte);
byte[] Rcalc = R.toByteArray();
