На самом-самом деле его секреты нафиг никому не нужны. И кстати, такой ключ за 5 баксов ещё надо поискать Шифропанкам посвящается. Мы собрали тулкит из популярных программ (преимущественно с симметричным шифрованием), которые помогут защитить личные данные от несанкционированного доступа и попросили исследователя криптографии из компании «Криптонит» прокомментировать наш выбор. Под катом безопасные решения для шифрования файлов при помощи браузера, для быстрой защиты, пересылки, загрузки в облако шифрованных данных, криптографические контейнеры с двойным дном, десяток консольных инструментов для криптографии и комбайн, объединяющий их под единым графическим интерфейсом. А еще ответы на животрепещущие вопросы, например: «Что лучше AES, Кузнечик, Serpent или Twofish»? Для начала коротко о стандартных решениях, интегрированных в операционные системы. В современных смартфонах довольно надежная реализация полнодискового шифрования, по крайней мере, если судить по стоимости эксплоитов на черном рынке. Если вы используете пароль, а не пин-код, отключили биометрию, не трогали загрузчик, то рядовой злоумышленник вряд ли доберется до данных. С настольными операционными системами ситуация сложнее.  Apple использует в macOS технологию FileVault на базе алгоритма XTS-AES-128 с длиной ключа 256 бит и криптографический чип T2 для работы с ключами. Это решение близко по надежности к шифрованию IPhone. В то же время Windows предлагает BitLocker, который шифрует систему при помощи 128- или 256-битного алгоритма AES и Encrypting File System для шифрования отдельных файлов, однако эти функции недоступны в Windows 10/11 Home. Они работают в профессиональных редакциях операционной системы. Для Linux существует общий «стандартный» метод шифрования LUKS, но его реализации отличаются от дистрибутива к дистрибутиву. Обычно используется шифрование AES с 256-битными ключами, но LUKS работает с разными шифрами (Serpent, Twofish, CAST-128, CAST-256) и хеш-функциями (SHA-1, SHA-256, SHA-512, RIPEMD160, WHIRLPOOL). В итоге получается зоопарк, которому нельзя дать единую однозначную оценку. Так что наличие штатного шифрования не мешает существовать ряду альтернативных решений с открытым исходным кодом. Они предназначены для куда более разнообразных сценариев использования. Пойдем от простого к сложному. Веб-приложения, которые обеспечивают локальное шифрование отдельных файлов в браузере с использованием известной библиотеки libsodium и криптографических алгоритмов: Hat.sh и Cloaker — простые решения, не требующие предварительной настройки. Hat.sh лучше подходит для шифрования больших файлов, а Cloaker оптимизирован для работы на мобильных устройствах и имеет десктопную версию. Из-за выбранного алгоритма шифрования и браузерного исполнения лучшее их применение — скорее защита файлов перед передачей по незащищенным каналам, чем долговременное хранение информации. Windows, macOS и Linux Крошечная, весом 2MB, но функциональная утилита, которая не требует установки и прав администратора. Обычно использует XChaCha20 и функцию формирования ключа Argon2 для создания криптоконтейнеров. В «режиме паранойи» использует каскадное шифрование — последовательно шифрует данные при помощи XChaCha20 и Serpent, и использует HMAC-SHA3 вместо BLAKE2b для аутентификации. Все используемые в Picocrypt криптографические примитивы взяты из модуля golang.org/x/crypto. Кроме того, Picocrypt может: Windows, macOS, Linux, iOS, Android Cryptomator не заменяет клиенты для облачных хранилищ, однако он предназначен специально для шифрования каталогов, которые будут синхронизированы с их помощью. Эта программа скрывает структуру каталогов, шифрует файлы и их имена с помощью AES и 256-битного ключа, генерируемого на основе пароля при помощи scrypt.  Впрочем, алгоритм шифрования, это еще не все. Важно заметить, что Cryptomator не скрывает метаданные: метки времени доступа, модификации и создания файлов, а также количество, размер файлов и папок. Документация Cryptomator подробно описывает архитектуру безопасности. Некоторые криптографические библиотеки Cryptomator (cryptolib, cryptofs, siv-mode и cryptomator-objc-cryptor) прошли аудит Cure53. Исключение составляет cryptolib-swift — библиотека, используемая в Cryptomator для iOS. К тому же, исходный код мобильных приложений не опубликован. Windows, macOS, Linux Специализированное решение для безопасного резервного копирования файлов в облачные хранилища. Оно использует AES-256 для защиты данных средствами SharpAESCrypt или GnuPG.  Duplicati поддерживает инкрементное резервное копирование, то есть сначала загружает полную резервную копию, а затем сохраняет небольшие добавочные обновления. Кроме того, эта утилита позволяет создавать резервные копии открытых или заблокированных файлов с помощью службы моментальных снимков тома (VSS) Windows или диспетчера логических томов (LVM) в Linux. Windows, macOS, Linux, .deb, .rpm, FreeBSD, Plan9, Solaris Это универсальный инструмент для управления данными в облаке, который может: перемещать, копировать, синхронизировать, монтировать, проверять, удалять, дедуплицировать и, конечно, шифровать.  Для криптографической защиты файлов в RClone используется 256-битный ключ и соль, создаваемые на основе пары разных пользовательских паролей.  В RClone шифрование выполняется с помощью NaCl SecretBox, при помощи алгоритмов XSalsa20 и Poly1305, которые также обеспечивают целостность файлов. Имена файлов и каталогов также по умолчанию шифруются. Структура и размер файлов и другие метаданные не шифруются.  В отличие от Cryptomator, RClone подключается к облакам напрямую. Он поддерживает двустороннюю синхронизацию (пока что в качестве экспериментальной функции), поэтому он подходит для автоматической синхронизации файлов между устройствами в сценарии, когда на файлы шифруются перед загрузкой в облако, а на компьютере хранятся в расшифрованном виде. Правда, для настройки такой конфигурации придется повозиться с консолью. RClone имеет лишь базовый веб-интерфейс, настройка шифрования производится при помощи текстовых команд. Windows, macOS, Linux, FreeBSD, Raspberry Pi Известное решение для создания защищенных файловых контейнеров с длинной историей, репутацией, регулярными обновлениями и обширными функциями. VeraCrypt позволяет создавать скрытые тома и каскадное шифрование, обеспечивает правдоподобное отрицание. Поддерживает полнодисковое шифрование, составляя конкуренцию BitLocker. По умолчанию эта утилита использует 256-битное шифрование AES, но поддерживает и другие шифры: Camellia, Кузнечик, Serpent и Twofish с 256-битным ключем и различные их сочетания. Linux Эта программа фактически является графическим интерфейсом для работы с cryptsetup. Она задействует возможности криптографического API ядра Linux для создания и монтирования томов PLAIN dm-crypt, LUKS, контейнеров TrueCrypt, VeraCrypt и BitLocker. Не позволяет создавать разделы BitLocker, только просматривать их содержимое, но в остальном универсальна. Windows, macOS, Linux Консольный инструмент для шифрования и подписи файлов, который разрабатывается, как замена age и Minisign, а также современная альтернатива GPG. Использует алгоритм XChaCha20-Poly1305 для защиты файлов, argon2id для получения ключа на основе пароля, BLAKE2b для хеширования, X25519 для обмена ключами и Ed25519 для цифровых подписей. Все они реализованы при помощи библиотеки libsodium. Хорошо документирован.  Kryptor скрывает метаданные и имена файлов и поддерживает асимметричные ключи, так что позволяет наладить обмен файлами с проверкой подлинности отправителя по заведомо небезопасным каналам.  Linux, Windows, MacOS, FreeBSD (запускается на Android через Termux) Еще один консольный инструмент шифрования. Написан на языке Rust и способен шифровать как отдельные файлы, так и каталоги. Как и Kryptor, снабжен подробной документацией. Dexios поддерживает AES-256-GCM и ChaCha20-Poly1305 для шифрования файлов, а также BLAKE3-Balloon и argon2id для формирования ключа. Все криптографические примитивы взяты из набора RustCrypto. А еще, в 2022 году Dexios прошел проверку NCC без существенных замечаний (отчет по AES и отчет по ChaCha20-Poly1305). Linux Командная оболочка для криптографического API ядра Linux. Tomb служит для управления cryptsetup и LUKS. По умолчанию применяет для защиты файлов и каталогов алгоритм AES-256 (XTS plain), однако может использовать все доступные в Linux криптографические примитивы. По концепции эта утилита напоминает zuluCrypt, но Tomb позволяет хранить криптографические ключи отдельно, например, на флеш-накопителе, и поддерживает стеганографию (сокрытие ключей в текстах и JPEG-файлах). Windows, macOS, Linux Решение в стиле «все в одном» — комбайн с графическим интерфейсом на Qt/C++, который управляет зашифрованными папками при помощи ряда инструментов.  В Linux в качестве бэкенда SiriKali выступают:  В Windows SiriKali работает с:  В macOS к утилите подключаются:  Все это консольные инструменты, которые можно использовать и отдельно от SiriKali. Достаточно широкий выбор, однако, не все они одинаково полезны. Так, во время аудита в 2014 году в EncFS были найдены уязвимости, которые до сих пор не исправлены. Проект не обновлялся с 2018 года и прямо скажем, устарел. В противовес выделим Gocryptfs (прошла аудит и была доработана по итогам), cppcryptfs, и Securefs, которые служат для создания и управления каталогами-контейнерами, основанными на файловой системе FUSE (Filesystem in Userspace) на базе AES256-GCM. Эти решения концептуально занимают промежуточное место между криптографичекими контейнерами и пофайловым шифрованием. Утилиты для работы с FUSE на логическом уровне манипулируют контейнерами, но каждый файл в контейнере хранится отдельно. Такой подход лучше подходит для работы с облачными хранилищами — изменение одного файла не означает повторную загрузку всего контейнера, однако Filesystem in Userspace не скрывает структуру каталогов и размеры файлов.  Что касается CryFS, то эта консольная утилита создана для использования вместе с Dropbox или другими облачными сервисами. В ней для криптографии используется библиотека Crypto++. Ее архитектура описана в магистерской диссертации и научной статье, опубликованной на DBSec 2017. В основе шифр AES-256. CryFS предоставляет зашифрованную файловую систему иного типа. Она дробит файлы на шифрованные блоки, которые хранятся в базовом каталоге с использованием случайного идентификатора в качестве имени файла. Таким образом, помимо сокрытия содержимого файла, CryFS скрывает метаданные и структуру каталогов. У подхода есть минус — множество отдельных файлов, которые генерирует программа. В некоторых облачных сервисах можно быстро столкнуться с ограничением на максимальное число файлов. К тому же, при шифровании файлов, размером менее нескольких МБ, CryFS увеличивает занимаемое ими место, из-за фиксированного размера шифрованного блока. Но главный недостаток утилиты заключается в том, что она все еще находится в стадии бета-тестирования. Главный по блогу Бастион, научный журналист