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

Всем привет!

Хочу поделиться программой Бастион V16.

Архитектура и ключевые особенности

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

Для получения ключа из вашего пароля используется итеративная KDF (Key Derivation Function).
Она смешивает пароль со случайно генерируемой солью (salt, 16 байт) и выполняет заданное количество раундов (по умолчанию 20 000).
Этот процесс является самой вычислительно затратной частью и создан таким намеренно — он делает подбор пароля (брутфорс) или атаки по словарю невероятно медленными и непрактичными для злоумышленника.

Целостность данных гарантируется с помощью HMAC (Hash-based Message Authentication Code), построенного на базе той же губчатой функции SpongeV16.
Это своего рода "цифровая восковая печать", которая немедленно покажет, если зашифрованное сообщение было изменено или повреждено.
Это защищает от атак на изменение зашифрованного сообщения (malleability attacks).

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

Магия в 8 шагов

Вот что происходит "под капотом" после каждого нажатия на кнопку «Шифровать»:

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

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

Полученный ключ делится на две независимые части:
Ключ шифрования — для запирания самого сообщения.
Ключ аутентификации — для создания "цифровой печати".

Используя ключ шифрования и еще один случайный элемент — nonce (16 байт), программа превращает ваш текст в нечитаемый шифротекст.
Nonce гарантирует, что даже при шифровании одного и того же текста одним паролем результат всегда будет уникальным.

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

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

Используя ключ аутентификации, программа создает уникальную цифровую подпись (HMAC) для всей Base64-строки.

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

Проект полностью открыт.
Весь исходный код на C++ доступен для аудита, критики и любых независимых проверок.
Вы можете быть уверены, что в программе нет скрытых лазеек или закладок.

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

image.webp
 
Обновлён список Pastebin-сервисов (0x0.st, paste.rs, catbox.moe и xi.pe)
Все проверены и активны на момент публикации обновления.

В облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Улучшен алгоритм распознавания и расшифровки файлов

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

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

В облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg

Если обнаружите какой-то баг / недоработку, пожалуйста, сообщите
 
Устранена проблема, из-за которой скопированный из других редакторов (например, WordPad) форматированный текст оставался чёрным и сливался с тёмным фоном.
Теперь программа предупреждает пользователя о сбросе цветов и автоматически перекрашивает вставленный фрагмент в светлый цвет.

В облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
  • Нравится
Реакции: JackSparrow
Добавлена возможность установки пароля по умолчанию в файле настроек settings.txt

Запустите программу и закройте, чтобы появился файл настроек.
Откройте его и найдите поле ("default_password": ""), пропишите пароль в кавычки, например ("default_password": "12345"), и сохраните.

При следующем запуске программы пароль будет прописан в соответствующие поля.

В облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
  • Нравится
Реакции: Сергей Попов
Мы в соцсетях:

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

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →