title: is there any encryption algorithm that don't increase the output size?
body: <p>assume i have this text: <code>my message will be encrypt</code>
  i need an algorithm to encrypt it with my key like <code>mykey</code>
  but don't increase output size greater than input size! i.e my message is 26 character length and encrypted output size be lower or equal.</p>
  
  <p>Language: PHP or anything else ...</p>
  
  <p>I used this blowfish encryption but output is larger than input and <code>gzcompress</code> didn't help: </p>
  
  <pre><code>function encrypt_blowfish($pure_string,$key) {
      $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
      $iv = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM);
      $encrypted_string = mcrypt_encrypt(MCRYPT_BLOWFISH, hash('sha256', $key, TRUE), utf8_encode($pure_string), MCRYPT_MODE_ECB, $iv);
      $encrypted_string = bin2hex($encrypted_string);
  
      return $encrypted_string;
  }
  
  function decrypt_blowfish($encrypted_string,$key) {
      $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
      $iv = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM);
      $encrypted_string = hex2bin($encrypted_string);
      $decrypted_string = mcrypt_decrypt(MCRYPT_BLOWFISH, hash('sha256', $key, TRUE), $encrypted_string, MCRYPT_MODE_ECB, $iv);
      $decrypted_string = trim($decrypted_string);
  
      return $decrypted_string;
  }
  </code></pre>