Даже если нельзя (у ТС - можно дописывать нули), тогда я бы выделил
сектор или два для ключей, и дозаписывать следующий актуальный +
контрольная сумма, использовать последний валидный. Ключ для fram
менять только после верификации оного во флеше. 1) записали ключ, дамп не пересчитали(питание сбойнуло?) => нужна работа с предыдущим ключом
2) предыдущий ключ => возможна подмена дампа на предыдущий.
3) для предотвращения п.2 вводим пометку "меняем ключ" в fram: если ключ [-1] и метки нет == нас пытаются хакнуть; в остальных случаях штатная работа.
то есть смена ключа: ставим метку => пишем ключ => верифицируем => пересчитываем дамп.