Бастион V16 - Шифрование текста

Ускорение потокового шифрования

В функции stream_cipher_process_V16, отвечающей за XOR-шифрование данных, была произведена замена высокоуровневой конструкции C++23 std::ranges::transform на классический цикл for.

Хотя std::ranges::transform — это мощный и выразительный инструмент, как любая высокоуровневая абстракция, он может создавать минимальные накладные расходы, которые мешают компилятору сгенерировать самый быстрый код в критически важных для производительности циклах.

Отправка данных в Телеграм без записи на диск

Ранее программа создавала на диске временный файл, записывала в него данные для отправки (ID чата, текст сообщения и т.д.), а затем передавала путь к этому файлу утилите curl.exe.

Теперь данные передаются напрямую в процесс curl.exe через стандартный поток ввода (stdin).
Это означает, что информация для отправки формируется в памяти и сразу же передается в дочерний процесс, полностью исключая операции с файловой системой.

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Всем привет, нужно проверить новую функцию

Прошу связаться со мной в Телеграм или попробуйте самостоятельно
Id: 8069936908
Евгений Проводник

Безопасный Обмен Ключами (Alt+K) для создания общего пароля

Эта новая функция решает проблему безопасной переписки:
как договориться о сложном секретном пароле, не передавая его в открытом виде.

Теперь можно сгенерировать общий, надежный пароль напрямую с вашим собеседником, гарантируя, что никто, даже Телеграм, не сможет его перехватить.

Как это работает

Каждый пользователь генерирует временную пару ключей (приватный и публичный) и обменивается только публичными частями.

Полученный в результате обмена математический секрет не является паролем.
Он проходит через функцию формирования ключа (KDF), в роли которой выступает криптографическая губка SpongeV16.
Это превращает "сырой" секрет в длинный, криптостойкий и готовый к использованию пароль.

Для защиты от атак типа "человек посередине" (MITM) система генерирует уникальный "отпечаток" канала связи.
Вы должны сверить этот отпечаток с собеседником по другому, доверенному каналу (например, голосом), чтобы убедиться, что вы соединены именно друг с другом, а не с посредником.

Как пользоваться

Сначала оба пользователя должны настроить в "Бастионе" интеграцию с Телеграм (указать токен бота и ID чата).
Вам нужно заранее договориться, кто будет инициировать обмен (Пользователь А), а кто — принимать приглашение (Пользователь Б).

Оба пользователя нажимают Alt + K, чтобы открыть окно "Установка защищенного канала".

Пользователь А нажимает кнопку "Начать".
В этот момент его программа генерирует пару ключей и отправляет публичную часть в виде "приглашения" Пользователю Б через Телеграм.

Программа Пользователя Б автоматически получает приглашение.
Она генерирует свою пару ключей, вычисляет общий секрет и отправляет свой публичный ключ обратно в виде "ответа".

Программа Пользователя А получает ответ и вычисляет тот же самый общий секрет.

В этот момент у обоих пользователей в окне появится сообщение об успешной установке канала, а сгенерированный пароль будет автоматически вставлен в поля для пароля в главном окне программы.

Оба пользователя увидят одинаковый "Отпечаток" (например, ABCD-1234).
Это самый важный шаг: вы должны связаться с собеседником (например, по телефону) и убедиться, что ваши отпечатки совпадают.

Если совпадают — канал безопасен.

Тестовая версия Бастион V16
 
При запуске программы, если активна интеграция с Телеграм (прописан токен бота и включена интеграция), фокус ввода теперь автоматически устанавливается на поле для отправки сообщений, что позволяет сразу начать печатать ответ.

Теперь ваше сообщение появляется в основном окне чата только после получения подтверждения об успешной доставке на сервер Телеграм.
В случае ошибки отправки, текст остается в поле ввода для повторной попытки.

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Автоматическая стеганография для QR-кодов

QR-коды, сгенерированные из зашифрованного текста, теперь могут выступать в роли стеганографических контейнеров.
Если в главном окне находится зашифрованное сообщение и введен пароль, программа автоматически встроит шифротекст в PNG-файл при его сохранении.

Как использовать

1. Создайте или вставьте зашифрованное сообщение в главное окно.
2. Сгенерируйте для него QR-код, нажав Alt + Q.
3. В открывшемся окне дважды кликните по изображению, чтобы вызвать диалог сохранения PNG-файла.

4. Перетащите этот же PNG-файл обратно на окно или значок "Бастиона", и программа автоматически обнаружит встроенный шифр, предложив его расшифровать.

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Генерация пароля по кодовой фразе (Alt + P)

Реализована возможность создавать надёжные пароли на основе секретной кодовой фразы или предложения.
Для преобразования фразы в пароль используется тот же криптографический механизм (губка SpongeV16), что и для основного шифрования данных в программе.

Зачем это нужно

Теперь можно договориться с собеседником об общей кодовой фразе (например, "Вчера на площади шел сильный ливень и летали три синие вороны") и оба сгенерировать абсолютно одинаковый, сложный пароль для шифрования данных.
Это позволяет не передавать сам пароль по открытым каналам связи.

Как использовать

Нажмите горячую клавишу Alt + P.

В основном поле для текста появится надпись: Введи кодовую фразу (предложение):

Допишите вашу секретную фразу после этой надписи и нажмите кнопку "Генерировать пароль".
Пароль, созданный из вашей фразы, будет автоматически подставлен в поля для ввода пароля.

Переработан механизм сохранения QR-кодов (Alt + Q)

При сохранении QR-кода в PNG-файл его разрешение теперь будет соответствовать высоте вашего экрана.
Если у вас монитор 1920x1080, вы получите изображение 1080x1080 пикселей.

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Красная кнопка

Реализована функция для безвозвратного удаления окружения программы.
Красная кнопка расположена в верхнем правом углу окна (разверните или растяните по ширине) и не имеет текста.

При активации используется встроенный в "Бастион" шредер для затирания и последующего удаления всех файлов и папок, расположенных в той же директории, что и сама программа.

Для защиты от случайной активации требуется двойное подтверждение.
Пользователь должен последовательно нажать "Да" в двух диалоговых окнах с предупреждениями.

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg

Andreano Messi, спасибо!
 
Глубокая очистка метаданных для противодействия анализу

Даже после полного стирания содержимого, в служебных областях файловой системы (например, в MFT на NTFS) могут оставаться следы о существовании файла.

Перед началом перезаписи у файла полностью обнуляются временные метки (время создания, изменения и последнего доступа).
Это скрывает сам факт недавнего взаимодействия с файлом.

После уничтожения содержимого программа несколько раз переименовывает файл в случайное имя.
Это заметает следы, уничтожая исходное имя из записей файловой системы.

Многопоточное уничтожение для максимальной скорости

Процесс перезаписи данных теперь полностью распараллеливается на все доступные ядра процессора, что многократно сокращает время уничтожения больших объемов информации.
При обработке одного большого файла, файл логически разбивается на части, и каждый поток параллельно перезаписывает свой сегмент.

Уничтожение альтернативных потоков данных (ADS)

Представьте, что каждый файл в файловой системе NTFS — это не просто документ, а контейнер.
В нем есть основное, видимое содержимое (например, текст в файле document.txt), но к нему могут быть прикреплены скрытые, невидимые "карманы" с дополнительными данными.
Это и есть альтернативные потоки данных (ADS).

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Очистка оперативной памяти

Реализован многоуровневый механизм принудительной очистки оперативной памяти от остаточных "призрачных" данных, который активируется при каждом штатном закрытии программы, а также при нажатии "Красной кнопки" для экстренного уничтожения данных.

Это обеспечивает максимальный уровень защиты от восстановления критически важных данных (паролей, токенов, ключей шифрования, открытого текста) из памяти с помощью специализированных атак, таких как Cold Boot attack.

Механизм включает в себя два ключевых улучшения

С помощью функции RtlSecureZeroMemory, которая не подвержена оптимизации компилятором, производится целенаправленное обнуление не только полей ввода, но и всех структур данных в памяти, содержащих пароли, токены API, пути к файлам и полную конфигурацию программы.

Для вытеснения остаточной информации выделяется крупный блок, размер которого динамически адаптируется под количество свободной ОЗУ в системе.
Этот блок подвергается трёхэтапной перезаписи различными паттернами (нули, единицы и криптографически стойкие случайные данные), что обеспечивает значительно более надежное уничтожение остаточной информации по сравнению с однопроходным методом.

Скачать можно в облаках
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Процесс уничтожения данных был переработан для максимальной производительности.
Теперь программа использует многопоточность не только для отдельных больших файлов, но и для одновременной обработки множества мелких файлов.

Функция "красной кнопки" теперь работает в "тихом" режиме.
После активации окно программы исчезает, а все операции по очистке файлов и оперативной памяти выполняются без вывода каких-либо сообщений об успехе или ошибках.
По окончании процесса программа автоматически завершает свою работу.

Обновлена функция очистки оперативной памяти

Реализована многопоточная архитектура, использующая количество логических ядер ЦП для параллелизации процесса.

Выполняется многопроходная перезапись до 75% доступной физической памяти (паттерны: 0x00, 0xFF, криптографически стойкие псевдослучайные данные).

Применяется VirtualLock для фиксации выделенных страниц в памяти, что предотвращает их выгрузку в файл подкачки и повышает эффективность очистки.

Добавлены вызовы для принудительного сброса аппаратных буферов записи и кэша инструкций процессора (cache flush, memory fence).

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Улучшена генерация пароля по кодовой фразе (Alt + P)

Функция детерминированной генерации паролей, позволяющая воспроизводимо создавать пароли из одной мастер-фразы, была переработана для повышения безопасности.
Теперь при генерации к вашей кодовой фразе автоматически добавляется "соль", которая зависит от запрашиваемой длины пароля.

Это означает, что пароль для вашей фразы длиной 20 символов будет совершенно не похож на пароль для той же фразы длиной 21 символ.

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab