|
| Статистика |
|
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
|
|
 | |  |
|
Всего материалов в каталоге: 16 Показано материалов: 1-10 |
Страницы: 1 2 » |
Представленная программа представляет собой хорошо организованный и концептуально обоснованный инструмент для генерации высоконадежных случайных данных, подходящий для использования в областях, критичных к качеству случайности.
Программа выполнена в ИСР Embarcadero RAD Studio 13 Architect на языке программирования Delphi с использованием стандартных компонентов библиотеки VCL и модулей BytesUtils , HardwareEntropyUI , MouseEntropyCollector
|
Представленный код — это модуль BytesUtils на языке Delphi (Object Pascal), предназначенный для работы с битами (TBits), динамическими массивами байтов (TBytes) и потоками байтов (TBytesStream).
Общая характеристика
Модуль содержит:
Ключевые компоненты
-
Типы данных
-
Константы
-
ABOX — массив байтов со значениями от 0 до 255.
-
RBOX — массив байтов со значениями от 255 до 0.
-
SBoxAES и InvSBoxAES — таблицы подстановок (S‑Box и обратная к ней) для алгоритма AES.
-
MatrixBox — двумерный массив, включающий варианты S‑Box.
-
Глобальные переменные
-
Функции и процедуры
Особенности
-
Безопасность: модуль включает механизмы безопасного удаления данных из памяти (SecureErase), что важно для работы с криптографическими ключами и чувствительными данными.
-
Криптография: реализованы функции для создания и использования S‑Box, шифрования с HMAC, что позволяет применять модуль в криптографических алгоритмах.
-
Гибкость: поддержка различных форматов данных (GUID, даты, числа) и операций (сдвиги, перестановки, объединение, разделение массивов).
-
Оптимизация: некоторые функции используют низкоуровневые операции (например, Move) для ускорения работы с большими массивами.
Назначение
Модуль предназначен для:
-
разработки криптографических приложений;
-
работы с низкоуровневыми данными (байты, биты);
-
обработки потоков данных;
-
реализации алгоритмов шифрования и хеширования;
-
преобразования данных между различными форматами.
Автор: Рудой Андрей Игоревич (2005–2025 гг.).API Delphi
|
Модули представляют собой профессионально разработанные компоненты на языке программирования Delphi, предназначенный для работы с аппаратными генераторами случайных чисел (HWRNG) на основе инструкций процессора RDRAND и RDSEED.
Общая характеристика модуля
Назначение: Компонент предназначен для получения высококачественной энтропии (случайных данных) непосредственно с аппаратуры компьютера, используя специализированные инструкции процессоров Intel и AMD — RDRAND и RDSEED. Эти инструкции обеспечивают генерацию высококачественных случайных чисел, используемых преимущественно в криптографических целях.
Основные классы и исключения
Класс THardwareEntropy
Данный класс реализует основной функционал взаимодействия с аппаратурой и управления процессом генерации случайных данных.
Методы класса:
- Проверка поддержки инструкций процессора
CheckRDRANDSupport: проверяет наличие поддержки инструкции RDRAND.
CheckRDSEEDSupport: проверяет наличие поддержки инструкции RDSEED.
- Получение случайных значений
TryRDRAND32: попытка получить одно 32-разрядное случайное число через инструкцию RDRAND.
TryRDSEED32: попытка получить одно 32-разрядное случайное число через инструкцию RDSEED.
- Сбор энтропии
CollectRDRAND: собирает заданное количество байтов энтропии с использованием RDRAND.
CollectRDSEED: собирает заданное количество байтов энтропии с использованием RDSEED.
CollectEntropy: универсальный метод, использующий предпочтительно RDSEED, если доступно, иначе RDRAND.
- Вспомогательные методы:
AddToPool: добавляет собранные данные в пул энтропии.
GetHardwareSupport: возвращает информацию о доступности инструкций RDRAND и RDSEED.
Исключения:
EHardwareEntropyError: специальное исключение, которое выбрасывается при ошибках аппаратного генератора энтропии (например, отсутствие поддержки инструкций процессором).
Особенности реализации
- Использование низкоуровневых инструкций процессора:Для максимальной производительности и минимизации задержек используется прямой вызов инструкций RDRAND и RDSEED посредством встроенного ассемблерного кода.
- Поддержка стандартов безопасности:Компонент соответствует стандартам NIST SP 800-90A/B/C, FIPS 140-2 и ANSI X9.82, что гарантирует соответствие современным требованиям к качеству и безопасности случайных чисел.
- Исключительная надежность:Реализована система обработки ошибок и многократных попыток получения случайных данных, что обеспечивает высокую устойчивость к сбоям оборудования.
- Универсальность и гибкость:Возможность выбора метода генерации случайных чисел позволяет адаптироваться к различным конфигурациям оборудования и потребностям приложений.
Возможные сценарии использования
Данный модуль идеально подходит для следующих областей:
- Генерация криптографических ключей и сессионных секретов.
- Создание уникальных идентификаторов и маркеров аутентификации.
- Обеспечение безопасности транзакционных систем и финансовых операций.
- Использование в системах шифрования и цифровой подписи.
Заключение
Модуль HardwareEntropy.pas демонстрирует высокое качество проектирования и реализации, обеспечивая надежную и эффективную работу с аппаратными источниками случайных чисел. Его использование рекомендуется в любых проектах, предъявляющих повышенные требования к качеству и защищенности случайных данных, особенно в сферах, критичных к вопросам информационной безопасности.
|
Исходный код модуля MouseEntropyCollector.pas на языке Delphi, предназначенный для сбора энтропии с использованием движений мыши. Энтропия представляет собой меру случайности, крайне важную для криптографии и генерации надежных случайных чисел. Этот модуль собирает данные о перемещениях мыши, временных метках и состоянии клавиш-модификаторов, создавая таким образом непредсказуемый поток данных, подходящий для криптографических целей.
Здесь реализован класс TMouseEntropyCollector, содержащий приватные переменные вроде буфера для хранения энтропии, целевого размера собираемых данных, индикатора процесса сбора, таймера начала работы и позиции мыши. Есть методы для обработки перемещения мыши, добавления новых данных в буфер, обновления состояния индикатора прогресса и проверки нажатия клавиши Escape. Открытые методы включают конструктор, деструктор, основной метод сбора энтропии и процедуру отмены текущего процесса.
Основной принцип работы заключается в создании прозрачной полноэкранной формы, которая отслеживает каждое движение мыши. Когда мышь двигается, программа фиксирует изменение координат, точное время события и статус активных модификаторов клавиатуры. Эти данные последовательно сохраняются в буфере, пока не достигнут заданного объема. Процесс сопровождается визуализацией прогресса и возможностью досрочного завершения по нажатию Esc.
Код написан аккуратно и продуманно, с подробными комментариями на русском языке, что облегчает понимание алгоритма даже человеку, не знакомому с языком программирования.
Общая концепция выглядит надежной и эффективной. Использование комбинации координат мыши, точного времени и состояний клавиш обеспечивает достаточный уровень случайности для большинства практических применений. Такой подход особенно полезен там, где стандартные генераторы псевдослучайных чисел оказываются недостаточно надежными, например, в системах шифрования или аутентификации.
|
Хранитель экрана (заставка) помимо основной функции выполняет очистку буфера обмена операционной системы Microsoft Windows, локального кеша и журнала веб-обозревателя Microsoft Internet Explorer, очистки его списка частопосещаемых URL-адресов (автозаполнение строки ввода сетевого пути). Имеет встроенную антивирусную самозащиту загружаемого программного кода, основанную на контроле его целостности.
|
Дополнения к панели инструментов веб-браузеров.
Доступ к сайту "Государственные услуги" и Электронному правительству версии 2.0.
Быстрый доступ к информационно-справочным системам "Гарант", "Консультант Плюс" и Государственной системе распространения правовых актов в электронном виде (НТЦ "Система" ФСО РФ):
|
Обобщенная блок-схема взаимодействий компонентов "Минибиллинговой системы (полуавтомат)" в базовой комплектации.
|
|
Руководство пользователя Утилиты прямого доступа Минибиллинговой системы
|
Библиотека MIDAS версии 10, производства Borland Corporation
|
|
Приказ ФСБ РФ от 09.02.2005. №66, зарегистрированМинюстом России 03.03.2005., рег.№6382
|
| |
 | |  |
|
|