Бастион V16 - Шифрование
Цитата: dehote9223 от 28.11.2025, 06:37Улучшена функция CleanRamAndSensitiveVariables
Реализована принудительная остановка потока Телеграм и жесткое завершение процесса curl.exe перед началом очистки памяти.
Это гарантирует, что стек фонового потока будет освобожден, а сетевые буферы не останутся висеть в памяти.Добавлен вызов HeapCompact перед запуском алгоритма перезаписи ОЗУ.
Это объединяет фрагментированные участки освобожденной памяти, позволяя "вайперу" перезаписать данные, которые программа использовала ранее, но уже освободила.
Улучшена функция CleanRamAndSensitiveVariables
Реализована принудительная остановка потока Телеграм и жесткое завершение процесса curl.exe перед началом очистки памяти.
Это гарантирует, что стек фонового потока будет освобожден, а сетевые буферы не останутся висеть в памяти.
Добавлен вызов HeapCompact перед запуском алгоритма перезаписи ОЗУ.
Это объединяет фрагментированные участки освобожденной памяти, позволяя "вайперу" перезаписать данные, которые программа использовала ранее, но уже освободила.
Цитата: dehote9223 от 28.11.2025, 07:57Исправлена проблема, из-за которой даже короткий простой текст шифровался как тяжелый RTF-документ.
Теперь, если вы не используете форматирование (цвета, жирный шрифт), размер зашифрованного сообщения будет в 3-4 раза меньше (например, для одной цифры размер уменьшился с ~330 до ~88 символов).
Исправлена проблема, из-за которой даже короткий простой текст шифровался как тяжелый RTF-документ.
Теперь, если вы не используете форматирование (цвета, жирный шрифт), размер зашифрованного сообщения будет в 3-4 раза меньше (например, для одной цифры размер уменьшился с ~330 до ~88 символов).
Цитата: dehote9223 от 28.11.2025, 19:17Улучшена функция CleanRamAndSensitiveVariables
Добавлен вызов EmptyWorkingSet в конце процедуры очистки.
Это принуждает систему сбросить уже «зашумленные» страницы памяти из физической RAM, окончательно заметая следы на уровне менеджера памяти Windows.Примечание
Несмотря на то, что в файл подкачки сбрасываются уже перезаписанные (зашумленные) данные, для обеспечения максимальной безопасности рекомендуется отключить файл подкачки и гибернацию в настройках системы.В режим «Паника» (Panic Button) добавлено сканирование папки %TEMP%.
Программа теперь находит и безвозвратно уничтожает зависшие временные файлы (BST*.tmp, shd*.tmp), которые могли остаться от работы сетевых модулей (curl) или аудиозаписи.
Улучшена функция CleanRamAndSensitiveVariables
Добавлен вызов EmptyWorkingSet в конце процедуры очистки.
Это принуждает систему сбросить уже «зашумленные» страницы памяти из физической RAM, окончательно заметая следы на уровне менеджера памяти Windows.
Примечание
Несмотря на то, что в файл подкачки сбрасываются уже перезаписанные (зашумленные) данные, для обеспечения максимальной безопасности рекомендуется отключить файл подкачки и гибернацию в настройках системы.
В режим «Паника» (Panic Button) добавлено сканирование папки %TEMP%.
Программа теперь находит и безвозвратно уничтожает зависшие временные файлы (BST*.tmp, shd*.tmp), которые могли остаться от работы сетевых модулей (curl) или аудиозаписи.
Цитата: dehote9223 от 29.11.2025, 07:55Улучшена функция CleanRamAndSensitiveVariables
Флаг режима "Паника" (g_isPanicShutdown) перенесен в самое начало функции.
Это гарантирует, что фоновые потоки остановятся немедленно, не успев создать новые данные во время очистки.Добавлен цикл (5 проходов) с помещением пустых данных в буфер обмена.
Это помогает вытеснить старые записи из "Журнала буфера обмена" Windows.Добавлено принудительное уничтожение окон текстовых полей в режиме паники.
Это освобождает скрытые буферы и OLE-объекты, которые Windows может держать в памяти даже после очистки текста.Логика очистки полей ввода переведена с std::wstring на std::vector.
Это предотвращает оптимизацию малых строк (SSO) и гарантирует физическую перезапись памяти нулями.В список шаблонов для удаления временных файлов добавлен BASTION*.tmp.
Улучшена функция CleanRamAndSensitiveVariables
Флаг режима "Паника" (g_isPanicShutdown) перенесен в самое начало функции.
Это гарантирует, что фоновые потоки остановятся немедленно, не успев создать новые данные во время очистки.
Добавлен цикл (5 проходов) с помещением пустых данных в буфер обмена.
Это помогает вытеснить старые записи из "Журнала буфера обмена" Windows.
Добавлено принудительное уничтожение окон текстовых полей в режиме паники.
Это освобождает скрытые буферы и OLE-объекты, которые Windows может держать в памяти даже после очистки текста.
Логика очистки полей ввода переведена с std::wstring на std::vector.
Это предотвращает оптимизацию малых строк (SSO) и гарантирует физическую перезапись памяти нулями.
В список шаблонов для удаления временных файлов добавлен BASTION*.tmp.
Цитата: dehote9223 от 29.11.2025, 20:44Защита поля ввода кодовой фразы (Alt + P)
Теперь клавиша Backspace не стирает приглашение "Введите кодовую фразу (предложение): ", блокируясь на границе ввода пользователя.
Это защищает интерфейс от случайного нарушения форматирования.Генерация пароля из кодовой фразы (Alt + P) позволяет превратить любое запоминаемое предложение в сложный криптографический пароль, который не нужно записывать.
Достаточно помнить только фразу.
Защита поля ввода кодовой фразы (Alt + P)
Теперь клавиша Backspace не стирает приглашение "Введите кодовую фразу (предложение): ", блокируясь на границе ввода пользователя.
Это защищает интерфейс от случайного нарушения форматирования.
Генерация пароля из кодовой фразы (Alt + P) позволяет превратить любое запоминаемое предложение в сложный криптографический пароль, который не нужно записывать.
Достаточно помнить только фразу.
Цитата: dehote9223 от 30.11.2025, 08:55Изменение значений числовых полей колесом мыши
Раунды KDF с шагом 10000.
Длина пароля и губки с шагом 1.
Рэйт с шагом 4 (с автоматическим выравниванием кратности).
Изменение значений числовых полей колесом мыши
Раунды KDF с шагом 10000.
Длина пароля и губки с шагом 1.
Рэйт с шагом 4 (с автоматическим выравниванием кратности).
Цитата: dehote9223 от 02.12.2025, 09:44Улучшена надежность внедрения агентов
Реализован принцип "Внедрить любой ценой".
Теперь, если вы выбрали для внедрения 5 агентов, будет внедрено именно 5 агентов.
Программа игнорирует ошибки доступа и блокировки системных папок, продолжая поиск мест для маскировки "до победного", пока заданное количество копий не будет размещено.Как это работает
Shift + перетаскивание файла на окно
Одиночный агент: Файл внедряется в одну случайную системную папку под видом системного.Ctrl + Shift + перетаскивание файла на окно
Группа агентов: Открывается диалог выбора количества (от 2 до 7).Внедрение группы агентов обеспечивает максимальную надежность хранения.
Если один из файлов будет случайно удален, поврежден или обнаружен, у вас останутся запасные пути доступа к информации через остальных агентов.
Это распределенный бэкап, скрытый у всех на виду.
Улучшена надежность внедрения агентов
Реализован принцип "Внедрить любой ценой".
Теперь, если вы выбрали для внедрения 5 агентов, будет внедрено именно 5 агентов.
Программа игнорирует ошибки доступа и блокировки системных папок, продолжая поиск мест для маскировки "до победного", пока заданное количество копий не будет размещено.
Как это работает
Shift + перетаскивание файла на окно
Одиночный агент: Файл внедряется в одну случайную системную папку под видом системного.
Ctrl + Shift + перетаскивание файла на окно
Группа агентов: Открывается диалог выбора количества (от 2 до 7).
Внедрение группы агентов обеспечивает максимальную надежность хранения.
Если один из файлов будет случайно удален, поврежден или обнаружен, у вас останутся запасные пути доступа к информации через остальных агентов.
Это распределенный бэкап, скрытый у всех на виду.
Цитата: dehote9223 от 02.12.2025, 18:31Добавлена поддержка внедрения сразу нескольких файлов и папок.
Теперь группа объектов упаковывается в единый архив перед маскировкой, аналогично обычному групповому шифрованию.Выделите несколько файлов/папок и перетащите на окно программы с зажатым Shift или Ctrl + Shift.
Добавлена поддержка внедрения сразу нескольких файлов и папок.
Теперь группа объектов упаковывается в единый архив перед маскировкой, аналогично обычному групповому шифрованию.
Выделите несколько файлов/папок и перетащите на окно программы с зажатым Shift или Ctrl + Shift.
Цитата: dehote9223 от 04.12.2025, 07:39Гибридные аудио-текстовые сообщения
Теперь формат .v16a поддерживает хранение текста вместе с аудиозаписью.
Это позволяет добавлять пояснения, расшифровки или скрытые комментарии к вашим голосовым заметкам.Как это работает
- Откройте файл .v16a и введите пароль для начала воспроизведения.
- Прямо во время прослушивания введите или вставьте текст в главное окно программы.
- Нажмите кнопку Сохранить.
Программа перешифрует файл, сохранив исходное аудио и новый текст.
При следующем открытии вы услышите запись и увидите сохраненный текст.
Гибридные аудио-текстовые сообщения
Теперь формат .v16a поддерживает хранение текста вместе с аудиозаписью.
Это позволяет добавлять пояснения, расшифровки или скрытые комментарии к вашим голосовым заметкам.
Как это работает
- Откройте файл .v16a и введите пароль для начала воспроизведения.
- Прямо во время прослушивания введите или вставьте текст в главное окно программы.
- Нажмите кнопку Сохранить.
Программа перешифрует файл, сохранив исходное аудио и новый текст.
При следующем открытии вы услышите запись и увидите сохраненный текст.
Цитата: dehote9223 от 05.12.2025, 08:19Компактный режим шифрования (Unicode)
Добавлена опциональная возможность кодировать зашифрованные текстовые данные в диапазон символов Unicode (CJK иероглифы).
Это позволяет сократить длину сообщения и сделать шифр менее подозрительным для систем анализа трафика, так как он выглядит как обычный текст на азиатских языках.Как включить
- Запустите и закройте программу.
- Откройте появившийся файл settings.txt.
- Найдите строку "use_unicode_encoding": false и замените её на "use_unicode_encoding": true.
- Сохраните файл и запустите программу.
Сравнение длины шифра (на примере слова "Тест")
Стандартный режим (Base64):
GNp/x9y8psOEsvGRweI4ECl7cLN6mzC0O+Xn7pOo8u5MyzQzdK6JCQ0bmaezotk0i7tneUr82ryCbagMrZZw2e1xZUG8Kr0=
(Длинная строка, очевидный шифр)Компактный режим (Unicode):
竰쓭柲砰릎巿ꎲꕉ椐嫇牞挘跗蕚弼뛝賷ꆧ쮖댥蹇皴묷橩얇滈蹳籯補衕罊쫉쬧駒잀멧ꛊ뺐
(Короткая строка, меньше привлекает внимания)Примечание
При включенном Unicode-режиме, опция "Маска" визуально не меняет вид текстового шифра (он всегда выглядит как иероглифы).
Настройка "Маска" в этом режиме влияет только на внутреннюю структуру данных при шифровании файлов.
Компактный режим шифрования (Unicode)
Добавлена опциональная возможность кодировать зашифрованные текстовые данные в диапазон символов Unicode (CJK иероглифы).
Это позволяет сократить длину сообщения и сделать шифр менее подозрительным для систем анализа трафика, так как он выглядит как обычный текст на азиатских языках.
Как включить
- Запустите и закройте программу.
- Откройте появившийся файл settings.txt.
- Найдите строку "use_unicode_encoding": false и замените её на "use_unicode_encoding": true.
- Сохраните файл и запустите программу.
Сравнение длины шифра (на примере слова "Тест")
Стандартный режим (Base64):
GNp/x9y8psOEsvGRweI4ECl7cLN6mzC0O+Xn7pOo8u5MyzQzdK6JCQ0bmaezotk0i7tneUr82ryCbagMrZZw2e1xZUG8Kr0=
(Длинная строка, очевидный шифр)
Компактный режим (Unicode):
竰쓭柲砰릎巿ꎲꕉ椐嫇牞挘跗蕚弼뛝賷ꆧ쮖댥蹇皴묷橩얇滈蹳籯補衕罊쫉쬧駒잀멧ꛊ뺐
(Короткая строка, меньше привлекает внимания)
Примечание
При включенном Unicode-режиме, опция "Маска" визуально не меняет вид текстового шифра (он всегда выглядит как иероглифы).
Настройка "Маска" в этом режиме влияет только на внутреннюю структуру данных при шифровании файлов.
Цитата: Андрей от 05.12.2025, 20:04dehote9223, Давно не заходил в тему. А почему убрана совместимость со старыми версиями? Тогда накидал в облако всё нужное мне, а новая версия ругается на распоковку старого архива. Не хотелось бы терять старые данные при обновлении на новые версии. Сейчас получается, что с выходом новой версии, короче засада.
dehote9223, Давно не заходил в тему. А почему убрана совместимость со старыми версиями? Тогда накидал в облако всё нужное мне, а новая версия ругается на распоковку старого архива. Не хотелось бы терять старые данные при обновлении на новые версии. Сейчас получается, что с выходом новой версии, короче засада.
Цитата: dehote9223 от 05.12.2025, 21:01Кнопка "Отправить" (по почте, когда отключена интеграция с Телеграм) теперь распознает зашифрованный текст с включенной опцией Unicode кодировка, и не блокирует действие.
Кнопка "Отправить" (по почте, когда отключена интеграция с Телеграм) теперь распознает зашифрованный текст с включенной опцией Unicode кодировка, и не блокирует действие.
Цитата: dehote9223 от 05.12.2025, 21:08Андрей, привет!
Пришлось внести обязательную правку без поддержки старого вариантаУсовершенствован алгоритм потокового шифрования (без AEAD) Внесена корректировка в механизм обновления состояния генератора псевдослучайных чисел. Теперь состояние обновляется (перемешивается) гарантированно после каждого блока данных, что обеспечивает строгое соответствие криптографическим спецификациям и исключает любые статистические аномалии. Важные изменения Из-за того, что алгоритм стал выполнять больше вычислений на каждом шаге, нагрузка на процессор возросла. Скорость работы KDF (генерации ключа) и скорость шифрования файлов в этом режиме теперь соответствуют показателям режима AEAD. Это плата за гарантированную криптостойкость каждого байта данных. Рекомендуется провести повторный тест бенчмарка для подбора комфортного количества раундов. В связи с усилением алгоритма, формат бинарных данных изменен. Файлы, зашифрованные в предыдущих версиях без использования AEAD, потребуют старой версии программы для расшифровки.Расшифровать можно с помощью это версии
disk.yandex.ru/d/97r708GAWGWnAw
Андрей, привет!
Пришлось внести обязательную правку без поддержки старого варианта
Усовершенствован алгоритм потокового шифрования (без AEAD) Внесена корректировка в механизм обновления состояния генератора псевдослучайных чисел. Теперь состояние обновляется (перемешивается) гарантированно после каждого блока данных, что обеспечивает строгое соответствие криптографическим спецификациям и исключает любые статистические аномалии. Важные изменения Из-за того, что алгоритм стал выполнять больше вычислений на каждом шаге, нагрузка на процессор возросла. Скорость работы KDF (генерации ключа) и скорость шифрования файлов в этом режиме теперь соответствуют показателям режима AEAD. Это плата за гарантированную криптостойкость каждого байта данных. Рекомендуется провести повторный тест бенчмарка для подбора комфортного количества раундов. В связи с усилением алгоритма, формат бинарных данных изменен. Файлы, зашифрованные в предыдущих версиях без использования AEAD, потребуют старой версии программы для расшифровки.
Расшифровать можно с помощью это версии
disk.yandex.ru/d/97r708GAWGWnAw
Цитата: dehote9223 от 07.12.2025, 06:44Гибридные аудио-контейнеры
Теперь при записи голосового сообщения текст, находящийся в главном окне редактора, автоматически шифруется и сохраняется вместе с аудиопотоком в файл .v16a.
При открытии такого файла получатель услышит голос и увидит сопроводительный текст.Как это работает
- Введите (вставьте) текст в главное окно программы или откройте текстовый файл.
- Нажмите кнопку записи аудио (●) и произнесите сообщение.
- Нажмите кнопку остановки (■).
При сохранении файла (.v16a) введенный текст будет добавлен к аудиозаписи.
При последующей расшифровке этого файла программа воспроизведет звук и восстановит текст в поле редактора.
Гибридные аудио-контейнеры
Теперь при записи голосового сообщения текст, находящийся в главном окне редактора, автоматически шифруется и сохраняется вместе с аудиопотоком в файл .v16a.
При открытии такого файла получатель услышит голос и увидит сопроводительный текст.
Как это работает
- Введите (вставьте) текст в главное окно программы или откройте текстовый файл.
- Нажмите кнопку записи аудио (●) и произнесите сообщение.
- Нажмите кнопку остановки (■).
При сохранении файла (.v16a) введенный текст будет добавлен к аудиозаписи.
При последующей расшифровке этого файла программа воспроизведет звук и восстановит текст в поле редактора.
