Как реализовать шифрование бинарного потока С++?

Встала задача реализовать шифрование приходящего по RTSP потока с h264 содержимым. На данный момент записываю в файл с помощью libVLC (openCV, работающий через FFmpeg, очень сильно артефактит содержимое, linVLC только первые 6-10 секунд) (pastebin.com/WatFnF46 ), затем просматриваю файл на наличие нового содержимого, шифрую и записываю в файл для последующей расшифровки (pastebin.com/zHXnejAU ), но 70 Мб фильма превращаются в 1.1 Гб шифрованных данных (которые я так и не осилил расшифровать), а это недопустимо.

При этом мне совсем не нравится использовать файл как промежуточный буфер между записью и шифрованием, он занимает лишнее место, которого всего 50 Гб, а видео может быть порядка 20-30 Гб. Хотел использовать линуксовые именованные пайпы (записывать видео в заранее созданный с помощью mkfifo сокет), но у меня ничего из этого не вышло.

Подскажите, пожалуйста, какими инструментами нужно пользоваться в моём случае, какого алгоритма придерживаться? Я практически не умею программировать на C++, а задачу нужно как можно скорее решить. Работать ПО будет на двухъядерном Intel Atom, поэтому нужно что-то мало потребляющее CPU.

Вообще преследуемая задача - сделать так, чтобы никто другой видеофайл вместо оригинального не подкинул, так что может быть и шифрование 5-10% файла подойдёт, может подписи есть какие-нибудь, ещё что-то такое, тогда и работа через пайпы не нужна.
  • Вопрос задан
  • 3744 просмотра
Решения вопроса 1
@vans239
Вам шифрование не нужно, вам нужно en.wikipedia.org/wiki/Hash-based_message_authentic...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы