@node FAQ Filecrypt @section Как зашифровать файл перед отправкой? Допустим, вам необходимо безопасно кому-то отправить файл. Интернет каналы априори небезопасны и поэтому вам потребуется зашифровать файл и аутентифицировать (подтвердить что он действительно отправлен вами и дошёл без искажений). Во-первых, вам заранее необходимо будет обменяться хоть какими-то данными по сторонним каналам связи. Если это общий пароль, используемый в качестве ключа, то им, если это асимметричная криптография на основе публичных ключей, то публичными ключами, если это заранее известные ответы на вопросы известные только вам, то значит иметь их. Без этих действий отправить безопасно файл вы не сможете. @strong{Архиваторы} Если вам надо будет послать файл один раз и надолго забыть про это действие, то возможно подойдёт вариант с использованием архиваторов поддерживающих шифрование. Однако помните что архиваторы могут иметь ограниченное количество поддерживаемых платформ. @table @asis @item ZIP формат Вряд ли можно рекомендовать, так как современные версии формата поддерживают не многие программы, а в старых криптографическая стойкость абсолютно неудовлетворительна. @item RAR Нельзя рекомендовать, так как RAR является программой с закрытым исходным кодом: вы не знаете что и как она делает. @item @url{http://www.7-zip.org/, 7-zip} Наименьшее из зол. Имеет грамотно реализованную сильную криптографию с ключом на основе пароля. @end table @strong{OpenSSL} Возможен вариант с шифрованием файла вручную, напрямую используя утилиты @emph{OpenSSL} или схожих библиотек. Не рекомендуемый вариант так как грамотно сделать шифрование файла это не тривиальная задача для большинства и малейшая ошибка чревата полной потерей безопасности. @strong{OpenPGP} Наилучший вариант. Рекомендуемая реализация OpenPGP стандарта это де-факто широкоиспользуемая программа @url{https://gnupg.org/, GnuPG}. Кроме шифрования файлов вы получаете ещё и возможность: @itemize @item подписывать файлы, ставя на них электронную цифровую подпись, которую нельзя подделать, что используют в десятках дистрибутивах различных операционных систем, гарантируя что программы попадают на ваш компьютер не в искажённом виде (их не подменили, например, встроив вирус); @item шифровать и подписывать электронную почту. @end itemize