Посмотрите на то, что прикреплено как референс-код. Оно реализует исправление одиночных ошибок в блоках 8, 512 или 2048 бит - в зависимости от дефайнов. Может пригодится. Реализовано с помощью циклического кода Хемминга.
ПС: где-то тут уже это прицеплял, но не могу найти где.