Отвратистая криптография описывает методы шифрования, позволяя использовать правдоподобное отрицание существующих зашифрованных сообщений, что означает, что нет способа доказать существование данных в простом тексте.
Во многих странах по всему миру (например, в Великобритании или США) вы можете быть заключены в тюрьму или столкнуться с юридическими вопросами за отказ предоставлять ваш пароль в соответствии с требованиями правоохранительных органов, даже если вы не подозреваются в нарушениях закона.
Более того, если у мощной группы людей (правительства, банды бандитов) есть подозрение, что вы храните необходимую информацию о своем ноутбуке (конфиденциальные документы, биткойн -кошелек), приходите к вам для поиска или ограбления и найдете зашифрованный файл, они, скорее всего, не проанализируют его на предмет потенциальных уязвимостей, но будут просто зависны, пока вы не скажете им пароль.
FractalCrypt разрешает зашифрованный файл с произвольным количеством ключей. Если какой -либо набор мужчин просит вас за пароль, и вы говорите, что в зашифрованном контейнере нет информации или вы забыли пароль, гораздо более вероятно, что они не поверите вам. Принимая во внимание, что, используя FractalCrypt, вы можете безопасно отдать ключи для неклассифицированных объемов, и нет никакого способа доказать, что на самом деле есть больше объемов, чем вы раскрыли.
Кроме того, файл, зашифрованный таким образом, в отличие от, скажем, криптоконтентуру в непланированном пространстве привода, может быть передан через Интернет, скопирован на USB -палку и т. Д.
Во-первых, он создает криптоконтентуру определенного пользователя размера, заполненного случайными символами. Чтобы создать первый том, программа архивирует указанные пользователем файлы в начале криптоконтравнера и шифрует его, используя первый ключ. Таким образом, зная первую клавишу, вы можете получить доступ к файлам первого слоя и остальной части криптоконтравнера.
Для создания второго тома программа будет архивировать файлы в остальной части криптоконтравнера и шифрует его со вторым ключом; Таким образом, первый ключ также необходим для создания или доступа данных со второго тома.
Возможность правдоподобного отрицания заключается в том, что зашифрованный файл неотличим от шума; Вы никак не можете узнать объем данных, хранящихся в криптоконтравнере.
Чтобы получить файлы n-слоя, пользователь должен ввести N пароли.
Чтобы добавить новый слой (также называемый громкостью) без риска (то есть перезаписать шум), вы должны ввести все ключи; В противном случае, если вы введете только часть клавиш, новый слой будет записан по зашифрованным данным.
Пользователь также может удалить слой, в данном случае он перезаписан шумом; Все слои над ним также удаляются, поэтому только верхний слой может быть безопасно удален.
Окно запуска
Создание нового контейнера
Главное окно. Введены два пароля, поэтому можно получить файлы второго тома или создать третий
Архивное окно создания
AES-256 используется для шифрования в режиме XTS. Argon2id используется для генерации ключа с 4 итерациями, стоимостью 128 МБ памяти и 1 потоком
Каждый слой при расшифровке имеет следующий заголовок:
8 байтов-«фрактальная» сигнатура C-String (NULL-конце)
8 байтов - длина последующего архива ZIP в Big Endian, выровненной до 16 байтов
PRS и вклад приветствуются. Если у вас есть вклад, пожалуйста, ознакомьтесь с руководством по взносу для получения информации о том, как это сделать.
FractalCrypt использует структуру QT (загрузка с официального сайта требует регистрации), библиотека OpenSSL для шифрования и библиотеку Quazip для создания и обработки архивов Zip.
Quazip - это обертка над пакетом Minizip от Gilles Vollant (согласно условиям лицензии, мы сообщаем, что файлы этих библиотек были изменены в нашем проекте), в которой используется библиотека Zlib.
Для Windows Zlib поставляется с QT.
Вы должны индивидуально загружать и установить только OpenSSL, например, следуя ссылке.
Предполагается, что OpenSSL будет доступен по адресу C: openssl-Win64, вы можете изменить это в своем файле fractalcrypt.pro.
По умолчанию QT попытается динамически связать OpenSSL, в этом случае вам может понадобиться файл C: openssl-win64 bin libcrypto-1_1-x64.dll в каталоге с исполняемым файлом.
Вы должны индивидуально установить библиотеки ZLIB и OpenSSL, если они не включены в ваше дистрибутивы.
В системах на основе APT это можно сделать со следующими командами:
sudo apt-get install zlib1g-dev libssl-dev
sudo apt-get install qt5-default qt5-qmake qtbase5-dev-tools qtchooser libqt5core5a qtbase-abi-5-12-8
git clone https://github.com/zorggish/FractalCryptGUI.git
cd FractalCryptGUI
qmake -project
qmake FractalCrypt.pro
make
./FractalCrypt