title: Encrypted data is larger than the input data
body: <p>I am trying to encrypt data using AES but I dont know why the output is larger than the input.
  I used this function to derive the key</p>
  
  <pre><code>public byte[] deriveKey(String p, byte[] s, int i, int l) throws Exception {
  
      PBEKeySpec ks = new PBEKeySpec(p.toCharArray(), s, i, l);
      SecretKeyFactory skf = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
      return skf.generateSecret(ks).getEncoded();
  }
  </code></pre>
  
  <p>After that I send the data which is (112 bytes) and the key to the encrypt function but I get encrypted data (154 bytes)</p>
  
  <pre><code>public String encrypt(String s,byte[] d) throws Exception {
  
      // Perform Encryption
      SecretKeySpec eks = new SecretKeySpec(d, "AES");
      Cipher c = Cipher.getInstance("AES/CTR/NoPadding");
      c.init(Cipher.ENCRYPT_MODE, eks, new IvParameterSpec(new byte[16]));
      byte[] es = c.doFinal(s.getBytes(StandardCharsets.UTF_8));
  }
  </code></pre>