@Override
  public byte[] decrypt(final byte[] ciphertext) throws GeneralSecurityException {
    if (ciphertext.length < ivSize) {
      throw new GeneralSecurityException("ciphertext too short");
    }
    byte[] iv = new byte[ivSize];
    System.arraycopy(ciphertext, 0, iv, 0, ivSize);
    byte[] plaintext = new byte[ciphertext.length - ivSize];
    doCtr(ciphertext, ivSize, ciphertext.length - ivSize, plaintext, 0, iv, false);
    return plaintext;
  }
Decrypts the ciphertext with counter mode decryption. The ciphertext format is iv || raw
ciphertext.

@param ciphertext the ciphertext to be decrypted.
@return the decrypted plaintext.
java_src/src/main/java/com/google/crypto/tink/subtle/AesCtrJceCipher.java