Бастион V16 - Шифрование
Цитата: dehote9223 от 30.09.2025, 08:52Модернизация механизма генерации паролей
В этом обновлении был значительно усовершенствован алгоритм, отвечающий за генерацию паролей.
Вместо базового подхода внедрён криптографически более строгий метод отбраковки (rejection sampling).Цель этого улучшения — достижение максимально возможной криптографической стойкости генерируемых паролей.
Ссылка та же
Модернизация механизма генерации паролей
В этом обновлении был значительно усовершенствован алгоритм, отвечающий за генерацию паролей.
Вместо базового подхода внедрён криптографически более строгий метод отбраковки (rejection sampling).
Цель этого улучшения — достижение максимально возможной криптографической стойкости генерируемых паролей.
Ссылка та же
Цитата: dehote9223 от 30.09.2025, 16:53Перетаскивание текста
Найдено решение проблемы, из-за которой ранее нельзя было выделить текст в браузере и перетащить в основное поле "Бастиона" для шифрования.
Предыдущие попытки приводили к тому, что в поле могли вставляться не только текст, но и изображения, что мешало работе с шифрованием файлов изображений и стеганографией.
Новая реализация принимает только текстовые данные, игнорируя изображения.Ссылка та же
Перетаскивание текста
Найдено решение проблемы, из-за которой ранее нельзя было выделить текст в браузере и перетащить в основное поле "Бастиона" для шифрования.
Предыдущие попытки приводили к тому, что в поле могли вставляться не только текст, но и изображения, что мешало работе с шифрованием файлов изображений и стеганографией.
Новая реализация принимает только текстовые данные, игнорируя изображения.
Ссылка та же
Цитата: dehote9223 от 30.09.2025, 21:14После успешной отправки файла в Телеграм, в окне переписки отображалось непонятное сообщение (например, ₒᬀ耀콏').
Проблема была вызвана неверной передачей данных о статусе отправки.Теперь структура сообщения формируется и обрабатывается корректно.
После отправки файла в чате появляется осмысленное сообщение, подтверждающее действие:[Вы]
Отправлен файл: ИмяФайла.regНапоминание
Чтобы отправить файл в Телеграм, зажмите клавиши Ctrl + Alt и перетащите файл на окно программы.
Ссылка та же
После успешной отправки файла в Телеграм, в окне переписки отображалось непонятное сообщение (например, ₒᬀ耀콏').
Проблема была вызвана неверной передачей данных о статусе отправки.
Теперь структура сообщения формируется и обрабатывается корректно.
После отправки файла в чате появляется осмысленное сообщение, подтверждающее действие:
[Вы]
Отправлен файл: ИмяФайла.reg
Напоминание
Чтобы отправить файл в Телеграм, зажмите клавиши Ctrl + Alt и перетащите файл на окно программы.
Ссылка та же
Цитата: dehote9223 от 03.10.2025, 16:30Перетаскивание для полей пароля
Теперь можно перетащить текст пароля (например, из менеджера паролей) в одно из полей для ввода пароля.
Программа автоматически вставит его в оба поля (основное и поле подтверждения), избавляя от необходимости копировать и вставлять его дважды и снижая риск ошибки.Аналогично, перетаскивание теперь работает и для полей в настройках Телеграм.
Ссылка та же
Перетаскивание для полей пароля
Теперь можно перетащить текст пароля (например, из менеджера паролей) в одно из полей для ввода пароля.
Программа автоматически вставит его в оба поля (основное и поле подтверждения), избавляя от необходимости копировать и вставлять его дважды и снижая риск ошибки.
Аналогично, перетаскивание теперь работает и для полей в настройках Телеграм.
Ссылка та же
Цитата: Андрей от 03.10.2025, 18:56Привет. А можешь в текст "Ссылка та же" прятать ссылки на скачиание. Устал уже бегать на первую страницу.
Привет. А можешь в текст "Ссылка та же" прятать ссылки на скачиание. Устал уже бегать на первую страницу.
Цитата: dehote9223 от 03.10.2025, 21:16Улучшен Drag-and-Drop в настройках Телеграм
Ранее при перетаскивании текста в поля "ID чата" и "Разрешенные user ID" новый текст полностью заменял существующий.
Теперь перетаскивание работает аналогично основному полю для шифрования:
новый текст вставляется в позицию курсора или заменяет выделенный фрагмент, позволяя удобно добавлять и редактировать ID.Андрей, привет и спасибо за предложение, это гениально! )
Улучшен Drag-and-Drop в настройках Телеграм
Ранее при перетаскивании текста в поля "ID чата" и "Разрешенные user ID" новый текст полностью заменял существующий.
Теперь перетаскивание работает аналогично основному полю для шифрования:
новый текст вставляется в позицию курсора или заменяет выделенный фрагмент, позволяя удобно добавлять и редактировать ID.
Андрей, привет и спасибо за предложение, это гениально! )
Цитата: dehote9223 от 03.10.2025, 21:21Андрей, при закрытии программы зачищается 75% оперативной памяти, несильно напрягает?
Андрей, при закрытии программы зачищается 75% оперативной памяти, несильно напрягает?
Цитата: dehote9223 от 04.10.2025, 10:23Оптимизирован процесс очистки оперативной памяти
Теперь очистка работает в двух режимах для достижения оптимального баланса между скоростью и безопасностью:
При обычном закрытии программы:
Осуществлен переход от избыточного трехпроходного метода к более быстрому однопроходному затиранию криптографически стойкими случайными данными.
Этот подход полностью соответствует современным рекомендациям (например, NIST SP 800-88) и значительно ускоряет штатный выход из программы.В качестве резервного механизма, если основной метод даст сбой, будет автоматически произведен двойной проход (нули и единицы).
При нажатии на тревожную красную кнопку:
Для обеспечения максимальной гарантии в экстренной ситуации выполняется принудительная и более надежная трехпроходная очистка (нули, единицы, случайные данные).
Оптимизирован процесс очистки оперативной памяти
Теперь очистка работает в двух режимах для достижения оптимального баланса между скоростью и безопасностью:
При обычном закрытии программы:
Осуществлен переход от избыточного трехпроходного метода к более быстрому однопроходному затиранию криптографически стойкими случайными данными.
Этот подход полностью соответствует современным рекомендациям (например, NIST SP 800-88) и значительно ускоряет штатный выход из программы.
В качестве резервного механизма, если основной метод даст сбой, будет автоматически произведен двойной проход (нули и единицы).
При нажатии на тревожную красную кнопку:
Для обеспечения максимальной гарантии в экстренной ситуации выполняется принудительная и более надежная трехпроходная очистка (нули, единицы, случайные данные).
Цитата: dehote9223 от 05.10.2025, 07:28Обновлён архиватор miniz с версии 3.0 до 3.1.0
Исправлена ошибка переполнения буфера.
Обеспечена корректная обработка путей с Unicode-символами, что важно для пользователей с нестандартными именами файлов и папок.
Исправлены проблемы в логике распаковки данных, что делает работу с архивами более стабильной.
Обновлён архиватор miniz с версии 3.0 до 3.1.0
Исправлена ошибка переполнения буфера.
Обеспечена корректная обработка путей с Unicode-символами, что важно для пользователей с нестандартными именами файлов и папок.
Исправлены проблемы в логике распаковки данных, что делает работу с архивами более стабильной.
Цитата: dehote9223 от 05.10.2025, 09:32Усилена функция очистки оперативной памяти
Реализован механизм принудительной перезаписи стека программы.
Это позволяет уничтожать временные данные (например, фрагменты пароля или ключей), которые могли остаться в этой области памяти после выполнения криптографических операций.Перед началом очистки приложение теперь пытается принудительно вернуть свои данные из дискового кэша (pagefile.sys) обратно в физическую оперативную память.
Это повышает вероятность того, что конфиденциальная информация будет уничтожена, а не останется на диске.
Усилена функция очистки оперативной памяти
Реализован механизм принудительной перезаписи стека программы.
Это позволяет уничтожать временные данные (например, фрагменты пароля или ключей), которые могли остаться в этой области памяти после выполнения криптографических операций.
Перед началом очистки приложение теперь пытается принудительно вернуть свои данные из дискового кэша (pagefile.sys) обратно в физическую оперативную память.
Это повышает вероятность того, что конфиденциальная информация будет уничтожена, а не останется на диске.
Цитата: dehote9223 от 05.10.2025, 16:44Исправлено зависание программы
Программа зависала на ~30 секунд при закрытии окна настроек Телеграм, если перед этим была использована функция "Проверить соединение".
Кратковременный процесс проверки соединения (curl.exe) конфликтовал с долгоживущим фоновым процессом получения сообщений, перезаписывая его дескриптор.
Из-за этого при закрытии окна программа не могла корректно завершить фоновый поток и ожидала его завершения по таймауту сети (~30 секунд).Механизм управления дочерними процессами был разделен.
Теперь отслеживается только дескриптор долгоживущего процесса получения сообщений, а процессы коротких запросов (как проверка соединения) больше не вызывают конфликтов.
Исправлено зависание программы
Программа зависала на ~30 секунд при закрытии окна настроек Телеграм, если перед этим была использована функция "Проверить соединение".
Кратковременный процесс проверки соединения (curl.exe) конфликтовал с долгоживущим фоновым процессом получения сообщений, перезаписывая его дескриптор.
Из-за этого при закрытии окна программа не могла корректно завершить фоновый поток и ожидала его завершения по таймауту сети (~30 секунд).
Механизм управления дочерними процессами был разделен.
Теперь отслеживается только дескриптор долгоживущего процесса получения сообщений, а процессы коротких запросов (как проверка соединения) больше не вызывают конфликтов.
Цитата: dehote9223 от 06.10.2025, 06:31Получение привилегии SeLockMemoryPrivilege
Стандартно, у пользовательских приложений нет прав на принудительную блокировку памяти в RAM.
Это создает риск того, что операционная система может выгрузить страницы с конфиденциальными данными в файл подкачки (pagefile.sys) до их физической перезаписи.Запрос этой привилегии повышает шансы на успешное выполнение VirtualLock, что предотвращает выгрузку и гарантирует перезапись данных именно в физической оперативной памяти.
Если системе не удается его предоставить, программа продолжит работу в штатном режиме без вывода сообщений об ошибке.Несмотря на все усилия программы по очистке оперативной памяти, рекомендуется отключать файл подкачки (pagefile.sys) и режим гибернации (hiberfil.sys) в настройках операционной системы.
Эти системные механизмы могут создавать копии данных на жестком диске без ведома приложения.
Получение привилегии SeLockMemoryPrivilege
Стандартно, у пользовательских приложений нет прав на принудительную блокировку памяти в RAM.
Это создает риск того, что операционная система может выгрузить страницы с конфиденциальными данными в файл подкачки (pagefile.sys) до их физической перезаписи.
Запрос этой привилегии повышает шансы на успешное выполнение VirtualLock, что предотвращает выгрузку и гарантирует перезапись данных именно в физической оперативной памяти.
Если системе не удается его предоставить, программа продолжит работу в штатном режиме без вывода сообщений об ошибке.
Несмотря на все усилия программы по очистке оперативной памяти, рекомендуется отключать файл подкачки (pagefile.sys) и режим гибернации (hiberfil.sys) в настройках операционной системы.
Эти системные механизмы могут создавать копии данных на жестком диске без ведома приложения.
Цитата: dehote9223 от 06.10.2025, 10:12Оптимизация производительности с помощью PGO
Сборка программы теперь выполняется с использованием Profile-Guided Optimization (PGO) для достижения максимальной производительности криптографического ядра.
PGO — это продвинутая техника компиляции, которую можно сравнить с "тренировкой" программы.Процесс состоит из двух этапов
Программа компилируется в специальном режиме, который собирает данные о том, какие её части (особенно криптографические функции) используются чаще всего во время реальной работы (в нашем случае, во время выполнения встроенного бенчмарка).
Затем эти данные используются при финальной сборке, чтобы компилятор мог "сфокусировать" свои усилия и применить более агрессивные оптимизации именно к этим "горячим" участкам кода.Результаты оптимизации
На основе усредненных замеров (5 прогонов до и после), благодаря PGO удалось добиться следующего прироста производительности:
~1.5% в скорости создания ключа из пароля (тест KDF).
~3.7% в скорости основного алгоритма шифрования и расшифровки данных.
Оптимизация производительности с помощью PGO
Сборка программы теперь выполняется с использованием Profile-Guided Optimization (PGO) для достижения максимальной производительности криптографического ядра.
PGO — это продвинутая техника компиляции, которую можно сравнить с "тренировкой" программы.
Процесс состоит из двух этапов
Программа компилируется в специальном режиме, который собирает данные о том, какие её части (особенно криптографические функции) используются чаще всего во время реальной работы (в нашем случае, во время выполнения встроенного бенчмарка).
Затем эти данные используются при финальной сборке, чтобы компилятор мог "сфокусировать" свои усилия и применить более агрессивные оптимизации именно к этим "горячим" участкам кода.
Результаты оптимизации
На основе усредненных замеров (5 прогонов до и после), благодаря PGO удалось добиться следующего прироста производительности:
~1.5% в скорости создания ключа из пароля (тест KDF).
~3.7% в скорости основного алгоритма шифрования и расшифровки данных.
Цитата: dehote9223 от 07.10.2025, 10:27В интерфейс программы добавлен чекбокс "Анти GPU"
Это режим максимальной безопасности, предназначенный для защиты ваших самых важных данных от наиболее мощных атак по подбору паролей.
Когда вы включаете опцию "Анти GPU", "Бастион" перед шифрованием выполняет специальную, ресурсоёмкую операцию:
он выделяет большой блок оперативной памяти (256 МБ) и многократно заполняет и перемешивает его сложным образом, основываясь на вашем пароле.Этот процесс называется памятизатратной функцией формирования ключа (memory-hard KDF).
Он делает подбор пароля чрезвычайно "дорогим" и медленным для любого атакующего, полностью лишая его преимущества от использования GPU.
В "Бастионе" теперь два способа усиления вашего пароля
Обычный режим (чекбокс выключен):
Защита зависит от количества Раундов (итераций).
Это быстрый, чисто процессорный метод, эффективный против обычных атак.Защита от GPU (чекбокс включен):
Это намеренно медленный, памятизатратный метод, нацеленный на нейтрализацию специализированного оборудования для взлома.Когда вы выбираете мощную защиту с помощью памяти, традиционные итеративные "Раунды" больше не нужны, поэтому поле отключается, чтобы избежать путаницы и ложного чувства безопасности.
В интерфейс программы добавлен чекбокс "Анти GPU"
Это режим максимальной безопасности, предназначенный для защиты ваших самых важных данных от наиболее мощных атак по подбору паролей.
Когда вы включаете опцию "Анти GPU", "Бастион" перед шифрованием выполняет специальную, ресурсоёмкую операцию:
он выделяет большой блок оперативной памяти (256 МБ) и многократно заполняет и перемешивает его сложным образом, основываясь на вашем пароле.
Этот процесс называется памятизатратной функцией формирования ключа (memory-hard KDF).
Он делает подбор пароля чрезвычайно "дорогим" и медленным для любого атакующего, полностью лишая его преимущества от использования GPU.
В "Бастионе" теперь два способа усиления вашего пароля
Обычный режим (чекбокс выключен):
Защита зависит от количества Раундов (итераций).
Это быстрый, чисто процессорный метод, эффективный против обычных атак.
Защита от GPU (чекбокс включен):
Это намеренно медленный, памятизатратный метод, нацеленный на нейтрализацию специализированного оборудования для взлома.
Когда вы выбираете мощную защиту с помощью памяти, традиционные итеративные "Раунды" больше не нужны, поэтому поле отключается, чтобы избежать путаницы и ложного чувства безопасности.
