Блок должен быть 64 байта.
Ага, а вот и промашка
Код
unsigned int bitsize=num_of_blocks*8;
надо
Код
unsigned int bitsize=num_of_blocks*8*64;
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин