Существуют подходы к хранению зашифрованной информации, которые исключают необходимость какого-либо дополнения при условии, что размер данных по крайней мере равен размеру блока.Одна небольшая трудность состоит в том, что, если размер данных может быть меньше размера блока, и если должна быть возможность восстановить точный размер данных, даже для небольших блоков, вывод должен быть как минимум на один бит больше, чемinput, [i] независимо [/ i] от размера данных.
Чтобы понять проблему, следует понимать, что существует 256 ^ N возможных файлов длиной N байтов и число возможных файлов, которые не имеютдлина, превышающая N байтов, равна 256 ^ N плюс количество возможных файлов длиной не более N-1 байта (существует один возможный файл длиной 0 байт и 257 возможных файлов длиной не более одного байта).
Если размер блока составляет 16 байтов, то будут 256 ^ 16 + 256 ^ 14 + 256 ^ 13 и т. Д. Возможные входные файлы длиной не более 16 байт, но только 256 ^ 16 возможных выходных файловдлиной не более 16 байт (поскольку выходные файлы не могут быть короче 16 байт).Поэтому, по крайней мере, некоторые возможные 16-байтовые входные файлы должны расти.Предположим, они станут 17 байтами.Есть 256 ^ 17 возможных семнадцати байтовых выходных файлов;если какой-либо из них используется для обработки входных данных размером 16 байт или меньше, не будет достаточно доступных для обработки всех возможных 17-байтовых входных файлов.Независимо от того, насколько большим может быть ввод, некоторые файлы этого размера или больше должны расти.