это мой первый вопрос, поэтому скажите, пожалуйста, если я что-то не так делаю :).
Моя проблема в том, что я использую
EVP_DecryptInit(&ctx1, EVP_des_ecb(), tmpkey, NULL);
EVP_DecryptUpdate(&ctx1, keysigout, &outlu ,keysigin, keysigfilelength);
EVP_DecryptFinal(&ctx1, keysigout, &outlf);
printf("DECLEN:%i",outlu + outlf);
для дешифрования двоичного файла. Длина файла 248 байт, но printf сообщает мне, что EVP расшифровал только 240 байт. keyigfilelength составляет 248 и должен сообщить обновлению, что необходимо расшифровать 248 байт.
Я не понимаю, почему это не работает, и буду рад, если вы меня просветите.
Изменить: Я просто зашифровал файл вручную командой
openssl enc -e -des-ecb -in test.txt -out test.bin -K 00a82b209cbeaf00
, и он увеличился на 8 байт: O. Я до сих пор не знаю, откуда они, но не думаю, что общая ошибка моей программы вызвана этим.
Контекст всей этой проблемы - это курс по информационной безопасности в моем университете. У нас были похожие Задачи с разными алгоритмами, но даже тот, кто успешно выполнил свою программу, не мог понять, где проблема в моей программе.
Можно ли опубликовать для вас всю мою программу?