Пишется небольшая программа по шифрованию файлов.
Из файла считывается BLOCK_SZ байт бинарных данных, шифруются _блочным_ алгоритмом шифрования и записываются в выходной файл.
Соответственно, если длина входного файла не кратна BLOCK_SZ, то последний блок дополняется нулями и уже после этого шифруется. Однако в процессе дешифрования последний блок будет записан в файл вместе с нулями, которыми он был дополнен. Как этого избежать?