Выпущен новый релиз библиотеки RC5Simple v.1.30, в котором были исправлены обнаруженные недочеты предыдущих версий. В данном релизе был введен новый формат хранения под номером 3. Естественно, сохранена совместимость с предыдущими форматами, однако шифрация по-умолчанию идет в новом формате.
Расположение данных в формате №3 представлено на рисунке:

Увеличить
Краткое перечисление изменений:
- Добавлен формат 3. В предыдущем формате 2 обнаружено необоснованное занижение количества первичных случайных данных на половину длины ключа шифрования. В формате 3 первичные случайные данные имеют полную ширину ключа шифрования
- По умолчанию идет шифрация в формат 3
- В метод RC5_Encrypt добавлена установка кода ошибки при попытке зашифровать пустые данные
- В метод RC5_Decrypt добавлена установка кода ошибки при попытке расшифровать пустые данные
- В метод RC5_Decrypt добавлена установка кода ошибки при попытке расшифровать данные с некорректной длинной
- В методах расшифровки проставлены правильные константы для смещений данных в разных форматах хранения
- Произведена проверка через valgrind упаковки/распаковки в каждом из форматов. Везде имеем отчет ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
- Фиксация номера версии
- Пройдены тесты шифрации/дешифрации данных на совместимость с предыдущими версиями
- Пройдены тесты по интеграции и работе в рамках MyTetra
Кроме того, в ветке experimental PIM-менеджера MyTetra v.1.31.1 данная библиотека уже добавлена. Особо нетерпеливые пользователи-параноики, такие как я, могут скачать данную версию и запустить процедуру перешифрования всех данных с новым паролем (при этом будет заменен и формат хранения на самый новый). Однако не следует забывать, что при хранении данных в системх контроля версий, таких как GIT, следует удалить всю историю со старыми данными. Как это сделать будет описано при выходе официального релиза новой версии MyTetra.