


📌 Общая концепция программы
Программа реализует недетерминированный генератор случайных битов (Non-Deterministic Random Bit Generator, сокращенно NDRBG), предназначенный для генерации высококачественных криптографически устойчивых случайных данных. Программа сочетает два подхода к сбору энтропии:
- Использование встроенного аппаратного генератора случайных чисел процессоров Intel (Intel Secure Key, поддерживающего инструкции
RDRAND и RDSEED);
- Сбор дополнительной энтропии на основании движения мыши пользователя.
⚙️ Основные компоненты и функциональность программы
1. Интерфейс пользователя
Интерфейс включает элементы управления, позволяющие пользователю:
- Выбирать размер генерируемого массива случайных байтов;
- Запускать процедуру генерации случайных данных;
- Проверять наличие аппаратной поддержки генераторов случайных чисел;
- Просматривать результаты генерации в шестнадцатеричном и двоичном представлениях;
- Сохранять данные в зашифрованном виде в различных форматах (бинарный, HEX, Base64).
2. Генерация случайных данных
Процесс генерации состоит из следующих этапов:
- Получение аппаратной энтропии с использованием инструкции
RDSEED (при поддержке процессором);
- Сбор энтропии на основе движений мыши;
- Применение нелинейного искажения собранной энтропии (операция XOR с циклическими сдвигами);
- Объединение полученных потоков энтропии и генерация итогового ключа с применением алгоритма HMAC-DRBG (SHA-512), соответствующего стандарту NIST SP 800-90A.
3. Безопасность и защита данных
- Все промежуточные значения очищаются безопасным образом методом
SecureErase() для предотвращения утечек секретной информации.
- Результаты сохраняются в зашифрованном виде с использованием технологии Encrypting File System (EFS).
✅ Особенности реализации
Поддерживаемые стандарты:
- Используются рекомендации стандартов NIST SP 800-90A/B/C для генерации и оценки качества случайных чисел.
Методы обработки энтропии:
- Нелинейное искажение потока энтропии мыши реализуется операцией XOR с циклическими сдвигами на 7 и 22 позиции.
- Итоговая ключевая последовательность генерируется алгоритмом HMAC-DRBG на основе SHA-512.
|