VeraCrypt — консольное C++ приложение для создания шифрованных файловых систем, в файлах и на блочных устройствах (диски и разделы).
VeraCrypt имеет простой wxWidgets (wxgtk) пользовательский интерфейс (GUI) и множество настроек, позволяя создавать виртуальные зашифрованные логические диски, хранящиеся в виде файлов/контейнеров (файл содержащий в себе полную копию содержания и структуры файловой системы и данных).
Разработка VeraCrypt начата в июне 2013 года, как форк TrueCrypt, по утверждению разработчиков в приложении был реализован ряд усовершенствований а области безопасности. Так как разработчики сочли старый формат TrueCrypt слишком уязвимым и отказались от него (был заменён алгоритм шифрования и увеличено число итерации хеширования), поэтому внесённые изменения привели к несовместимости с форматом разделов. Но в VeraCrypt предусмотрена возможность открытия и конвертации в собственный формат TrueCrypt разделы.
VeraCrypt позволяет полностью зашифровать раздел жесткого диска или другого носителя информации (например USB-флеш накопителей, внешних HDD-носителей и пр). Приложением используется метод шифрования информации "на лету", при таком виде шифрования данные автоматически шифруются и дешифруются (перед их чтением или сохранением), без какого либо участия пользователя. Для создания шифрованных файловых систем и файл-контейнеров имеется "Пошаговый "Мастер".
VeraCrypt шифрует файловую систему в полном объёме, шифруются имена файлов, каталогов, содержания каждого файла, метаданных и прочее (так же шифруется свободное место). Вся шифрованная информация находящаяся на разделах и в файлах/контейнерах недоступна для чтения (расшифровки) без введения правильного пароля (кеу-файла) или ключей шифрования.
Для шифрования VeraCrypt использует алгоритмы: AES, Serpent и Twofish, дополнительно доступны комбинации алгоритмов AES-Twofish, AES-Twofish-Serpent, Serpent-AES, Serpent-Twofish-AES и Twofish-Serpent, при создании нового зашифрованного раздела можно выбрать хеш алгоритм (доступны RIPEMD-16, SHA-512 и Whirlpool).
Выбранный пользователем хеш-алгоритм используется генератором случайных чисел как псевдослучайная "смешивающая" функция, вычисляя master key, secondary key (режим XTS) и помехи (salt), что значительно увеличивает криптографическую силу ключей шифрования (которые в свою очередь усиливают безопасность).
Созданные и смонтированные VeraCrypt разделы используются так же как и обычные разделы/диски, фалы в момент чтения/копирования автоматически расшифровываются (на лету) в оперативную память компьютера, аналогично и записываемые файлы автоматически шифруются (перед записью на диск). Расшифрованные данные никогда не сохраняются на жесткий диск (например в разделе подкачки / swap), даже когда раздел смонтирован, все находящиеся на нём данные зашифрованы.
При перезагрузке системы и/или выключении компьютера раздел будет автоматически размонтирован и все файлы хранящиеся на нём будут недоступны (и зашифрованы). Даже при нештатном завершении работы (например при отключении электричества) файлы хранящиеся на разделе будут недоступны и для получения доступа к ним нужно снова смонтировать зашифрованный диск, предоставив правильный пароль и/или кеу-файл.
Одной из уникальных возможностей VeraCrypt (как и TrueCrypt) является функция создания скрытых томов, когда в шифрованном (одним паролем и/или кеу-файлом) разделе содержится другой том (скрытый), активируемый только при вводе второго пароля. Поддерживается параллельная работа на многоядерных и многопроцессорных системах, может использоваться аппаратное ускорение, что увеличивает производительность VeraCrypt.
Лицензия: Apache License V2.0