История изменений
Исправление jcd, (текущая версия) :
Примеров работы с mmap() на сишке в интернетах вагон, выбирай любой, там всё элементарно. Не забудь только про нюанс с размером mmap-страницы - стоит «читать» (memcpy) за один раз блок размером не меньше getpagesize(), после чего разбивать на криптуемые блоки и отправлять в криптор. После «записи» (memcpy из криптора) - делать munmap() и в цикле делать следующий mmap() с offset+=pagesize. Кстати, если размер диска у тебя не кратен размеру криптуемого блока (для AES - 16 байт, в предыдущем посте у меня косяк)- не забудь реализовать что-то вроде XTS.
Исходная версия jcd, :
Примеров работы с mmap() на сишке в интернетах вагон, выбирай любой, там всё элементарно. Не забудь только про нюанс с размером mmap-страницы - стоит «читать» (memcpy) за один раз блок размером не меньше getpagesize(), после чего разбивать на криптуемые блоки и отправлять в криптор. Кстати, если размер диска у тебя не кратен размеру криптуемого блока (для AES - 16 байт, в предыдущем посте у меня косяк)- не забудь реализовать что-то вроде XTS.