Для данного ключа K шифр должен создавать разные шифротекст для каждого открытого текста.Если ваше пространство сообщений составляет 256 байтов, шифр должен иметь возможность генерировать не менее 256 ^ 256 разных сообщений.Это потребует не менее 256 байтов, а любое уменьшение размера выходного алфавита требует более длинных сообщений.
Как вы уже видели, вы можете выполнить некоторое кодирование впоследствии, чтобы избежать определенных выходных символов, за счетувеличенная длина.Кроме того, вы заплатили бы ту же цену, если бы кодирование было частью самого алгоритма шифрования.Вот почему это не является особенностью какого-либо алгоритма шифрования.
Как уже упоминали другие, единственный реальный ответ - уменьшить размер данных, которые вы шифруете, так что вам нужно кодировать меньше данных.(Либо это, либо не помещайте данные в URL-адреса на первое место, например, сохраняйте данные в базе данных и помещайте уникальный идентификатор в URL-адрес).Так что сжимай> шифруй> кодируй.