Хелло
Продолжаю разбираться с алгоритмом шифрования RC5. Мой новый вопрос состоит в следующем.
RC5 - это блочный алгоритм, он шифрует блоками фиксированной длинны (например, по 8 байт).
Данные, подвергающиеся шифрованию, могут быть произвольной длинны, не обязательно кратной 8 байт. Таким образом, в конце данных остается «хвост», пусть например длиной в 3 байта.
Вопрос 1.
Как эти 3 байта шифровать? Дополнять случайными байтами до 8 байт и зашифровать?
Вопрос 2.
Если дополнять байтами, то зашифрованные данные будут длинее чем исходные. Таким образом, для расшифровки нужно хранить в открытом виде _длинну_ сообщения. Это нормальная практика? Не повредит ли это криптостойкости? Вроде не повредит, но мало ли.
Вопрос 3.
Может быть, есть какие-то другием методы обработки некратных хвостов, описание которых я не нашел?