|
Новичок
Регистрация: 26.07.2025
Сообщений: 0
С нами:
423479
Репутация:
0
|
|
Добавлены проверки результатов системных вызовов генератора случайных чисел (BCryptGenRandom)
В редких случаях системный генератор может дать сбой.
Ранее это могло привести к использованию небезопасных (например, нулевых) данных для соли или нонса.
Теперь программа корректно отлавливает такие сбои и прерывает операцию шифрования, предотвращая создание потенциально уязвимых файлов.
Устранено дублирование кода в функциях открытия файлов.
Теперь вся логика загрузки файлов централизована в одном месте, что повышает стабильность программы и упрощает ее дальнейшую поддержку.
Проведена общая "чистка" кода и удалены избыточные проверки для повышения читаемости и качества кодовой базы.
Почему генератор паролей по умолчанию создает именно 21 символ
Выбор длины пароля по умолчанию в 21 символ — это не случайность, а осознанное инженерное решение.
Главная цель — обеспечить, чтобы сгенерированный пароль был как минимум таким же криптографически стойким, как и сам алгоритм шифрования, который он защищает.
В "Бастионе" для генерации паролей используется набор из 93 символов (латиница в обоих регистрах, цифры и все основные спецсимволы).
При длине в 21 символ, количество возможных комбинаций составляет 93²¹, что примерно равно 6.2 x 10⁴¹ (это шестёрка с 41 нулём).
В криптографии такая сложность измеряется в "битах энтропии".
Пароль из 21 случайного символа в "Бастионе" обеспечивает примерно 139 бит энтропии.
Это астрономически огромное число.
Чтобы понять его масштаб, давайте сравним с общепринятым стандартом:
"Золотым стандартом" современного симметричного шифрования является AES-128, который обеспечивает 128-битную безопасность.
Это означает, что пароль, сгенерированный "Бастионом", сложнее подобрать методом прямого перебора, чем взломать сам шифр AES-128.
Иными словами, пароль не является самым слабым звеном в системе.
Даже гипотетический квантовый компьютер, способный взламывать некоторые типы шифров, был бы бессилен против такого пароля при атаке методом перебора.
Какую роль тогда играет KDF (раунды)
Функция выработки ключа (KDF) с 20 000 раундов служит дополнительным и очень важным уровнем защиты.
Она не может спасти от подбора очень слабого пароля (вроде "12345"), но она делает процесс перебора даже для паролей средней сложности чрезвычайно медленным и дорогим.
А для 21-символьного случайного пароля, подбор которого и так невозможен, KDF превращает атаку из "невозможной" в "абсолютно немыслимую".
Значение в 20 000 раундов выбрано как разумный компромисс между безопасностью и скоростью работы на среднестатистическом компьютере.
Однако, если ваше устройство достаточно мощное, вы можете значительно увеличить это число в поле "Раунды".
Установка значения в 200 000 или даже 1 000 000 раундов сделает каждую попытку подбора пароля для злоумышленника в 10 или 50 раз более затратной, при этом задержка при шифровании/расшифровании для вас может остаться вполне приемлемой.
Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
|