Вы должны войти, чтобы создавать сообщения и темы.

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

1◄Страница 21 из 24► 24

В функции OnEncryptClick и OnDecryptClick добавлена блокировка отрисовки (WM_SETREDRAW: FALSE) на время вставки текста в RichEdit.
Добавлен принудительный вызов RedrawWindow с флагами RDW_INVALIDATE | RDW_UPDATENOW | RDW_ALLCHILDREN после тяжелых операций.

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

Ссылка та же

Отключение поддержки RTF-форматирования

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

Как активировать режим "Только текст"

- Запустите и закройте программу.

- Откройте появившийся файл settings.txt.

- Найдите строку "disable_rtf": false и замените её на "disable_rtf": true.

- Сохраните файл и снова запустите Бастион.

Ссылка та же

Добавлена возможность отключить поддержку RTF в меню настроек шифрования

Нажмите правой кнопкой мыши по кнопке "Шифровать" или горячими клавишами Alt + E.

TXT / RTF (по умолчанию): программа автоматически сохраняет цвета и шрифты, если они есть.

TXT: принудительное отключение RTF.
Игнорирует форматирование, что уменьшает итоговый размер шифра и повышает скорость работы.

Ссылка та же

Настройки форматирования текста (RTF / TXT) теперь учитываются при сохранении и перезаписи аудиосообщений (.v16a).
Если выбрана опция "TXT", текст в аудиофайле будет сохранен без форматирования (RTF-тегов).

Будьте внимательны перед пересохранением:
если в тексте есть форматирование, а в настройках включена опция "TXT", все стили будут утеряны.

Ссылка та же

Очистка при старте

Реализована функция CleanupStartupTempFiles, которая при запуске сканирует системную папку TEMP и директорию программы.
Она выявляет и уничтожает временные файлы, созданные программой (BST*.tmp, shd*.tmp), обеспечивая отсутствие утечек данных после некорректного закрытия приложения.

Ссылка та же

Исправлена ошибка, из-за которой изменения в списке "Разрешенные User ID" (белый список) применялись с задержкой.
Теперь настройки вступают в силу мгновенно для каждого входящего сообщения.

Ссылка та же

Оптимизирован процесс расшифровки (OnDecryptClick)

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

Ссылка та же

Реализована мульти-рассылка в Телеграм

Добавлена поддержка отправки сообщений нескольким получателям одновременно.
Теперь в поле "ID чата" можно указывать несколько адресов (примерно 35–40 ID пользователей или каналов, в зависимости от длины ID) через запятую.

Преимущества

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

Если "Бастион" используется для передачи критически важной информации, теперь не нужно тратить время на перенастройку адресата.
Одно нажатие кнопки "Отправить" доставит шифровку сразу всей команде.

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

Ссылка та же

Расширенное автошифрование

Для исключения человеческого фактора реализовано автоматическое шифрование отправляемых файлов в Телеграм для предотвращения случайной утечки незащищенных данных.

Если включена опция "Автоматически шифровать при отправке", программа зашифрует обычные файлы перед отправкой, но пропустит уже готовые контейнеры .v16 и .v16a, чтобы избежать избыточного двойного шифрования.

Ссылка та же

Доработана функция CleanRamAndSensitiveVariables

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

Изменены настройки по умолчанию

Теперь программа пытается перезаписать и вытеснить 100% доступной оперативной памяти при очистке, обеспечивая максимальный уровень защиты от forensic-анализа RAM даже без перехода в режим паники.

Вы по-прежнему можете уменьшить процент очищаемой памяти в файле settings.txt, если полная очистка занимает слишком много времени.
Для этого измените параметр "ram_cleanup_percentage": 100 на меньшее значение (например, "ram_cleanup_percentage": 50).

Ссылка та же

Переработаны алгоритмы преобразования данных в Unicode

Внедрено предварительное выделение памяти (resize вместо push_back) и развертывание циклов (loop unrolling) для обработки блоками по 15 байт.
Скорость кодирования выросла на ~118%, декодирования на ~183%.

Решение с многопоточностью (AVX/Async) отклонено для сохранения компактности кода, так как текущая скорость уже перекрывает потребности текстового шифрования.

Ссылка та же

Значительно ускорено декодирование Base64

Реализован алгоритм на основе T-Tables (Transition Tables).
Размер таблиц поиска уменьшен с 128 КБ до 4 КБ, что позволяет им полностью помещаться в L1 кэш процессора и снижает количество промахов (cache misses).
Убраны дорогостоящие битовые сдвиги в цикле (заменены на `OR` операции с предрассчитанными значениями) и реализована пакетная запись в память (32-битные слова вместо побайтовой записи).

Скорость декодирования увеличилась примерно на 30%.

Ссылка та же

Исправлена ошибка, из-за которой при отправке папки через контекстное меню Windows ("Отправить в Бастион V16") появлялось сообщение "Не удалось открыть исходный файл".

Рекомендуется отключить и снова включить интеграцию с Windows в настройках с помощью кнопки «🔌», чтобы обновить пункты контекстного меню.

Ссылка та же

Изменен механизм сохранения QR кодов (функция SaveQrCodeAsPng)

Переход от прямого сохранения через lodepng к кодированию в буфер памяти с последующей записью через std::ofstream.
Это решило проблему с ANSI-кодировкой путей в Windows и обеспечило корректную поддержку кириллицы в именах файлов.

Генерация QR кода вызывается сочетанием Alt + Q.
При сохранении (двойной клик по QR коду) зашифрованного текста в формате PNG автоматически применяется стеганография (скрытое внедрение данных в файл).

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

Ссылка та же

1◄Страница 21 из 24► 24